‹ Reports
The Dispatch

OSS Report: bridgecrewio/checkov


Checkov Development Faces Challenges with False Positives and Feature Requests Amidst Active Community Engagement

Checkov, a static code analysis tool designed to prevent cloud misconfigurations, is experiencing significant activity with numerous issues related to false positives and feature requests for enhanced functionality. The project, maintained by Prisma Cloud, supports multiple IaC frameworks like Terraform and Kubernetes.

Recent activities highlight a surge in issues concerning discrepancies in check behaviors, particularly with Terraform modules and dynamic blocks. There is a strong demand for updates to accommodate changes in cloud provider APIs and Terraform syntax, as well as requests for custom checks reflecting organizational policies. This indicates a growing need for tailored security compliance measures.

Recent Activity

Recent issues such as #6717 and #6709 reveal ongoing challenges with maintaining compatibility with evolving cloud services. The issues collectively suggest that while the project is actively addressing user concerns, there is a persistent need for updates to existing checks to align with changes in cloud provider APIs and Terraform syntax.

Development Team and Recent Activity

  1. Taylor (tsmithv11) - 13 commits

    • Implemented multiple Terraform checks and features.
    • Collaborated on various features and bug fixes.
  2. Rabea Zreik (RabeaZr) - 22 commits

    • Focused on fixing issues related to secrets duplication and suppression.
  3. Anton Grübel (gruebel) - 16 commits

    • Updated release notes across multiple commits.
  4. Inbal Avital (inbalavital) - 6 commits

    • Contributed various fixes and enhancements focusing on Terraform checks.
  5. Steve Vaknin (SteveVaknin) - 4 commits

    • Addressed issues with Terraform resource attributes.

The team shows a strong focus on security-related features, particularly around secrets management and compliance checks, indicating an agile approach to software development.

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 5 1 6 0 1
30 Days 23 5 27 0 1
90 Days 65 54 101 2 1
1 Year 323 193 789 12 3
All Time 1798 1639 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Taylor 1 4/5/0 13 44 26533
Rabea Zreik 1 10/11/0 22 3 341
inbalavital 1 3/3/0 6 11 323
omriyoffe-panw 1 1/1/0 3 7 208
Max Amelchenko 1 4/4/0 7 27 190
Anton Grübel 1 0/0/0 16 1 158
Damien Trouillet 1 0/1/0 2 8 77
Steve Vaknin 1 2/2/0 4 7 63
pazbec 1 0/1/0 2 4 60
Emma 1 1/1/0 1 8 35
Omry Mendelovich 1 2/2/0 4 4 27
dependabot[bot] 4 5/2/3 5 5 24
LirShindalman 1 1/1/0 2 4 23
Mike Urbanski (mikeurbanski1) 1 1/0/0 2 1 17
AdamDev 1 1/1/0 2 3 13
ChanochShayner 1 1/1/0 2 3 9
BhEaN (bhean) 0 1/0/0 0 0 0
None (jbrule) 0 2/0/0 0 0 0
Adrian Grucza (apgrucza) 0 1/0/0 0 0 0
Craig Andrews (candrews) 0 1/0/0 0 0 0
simon-rb (simon-rb) 0 1/0/0 0 0 0
Ikko Eltociear Ashimine (eltociear) 0 1/0/0 0 0 0
Quentin Delettre (qdelettre) 0 1/0/0 0 0 0
None (shakedunay) 0 2/0/2 0 0 0
Iheanacho Chukwu (iheanacho-chukwu) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The GitHub repository for Checkov has seen significant activity, with 159 open issues as of now. The recent issues highlight a range of concerns, including false positives in checks, feature requests for enhanced functionality, and discussions around the integration of new cloud provider features. Notably, several issues point to discrepancies between expected and actual behavior of checks, particularly regarding the handling of modules and dynamic blocks in Terraform configurations.

A recurring theme in the recent issues is the need for updates to existing checks to accommodate changes in cloud provider APIs or Terraform syntax, such as the removal of certain parameters in AzureRM 4.x or the introduction of new resource types. Additionally, there are multiple requests for custom checks that reflect organizational policies or best practices, indicating a growing desire for tailored security compliance measures.

Issue Details

Here are some of the most recently created and updated issues:

  1. Issue #6717: List of dangerous roles for CKV_GCP_44 seems to be out of date

    • Priority: Normal
    • Status: Open
    • Created: 0 days ago
    • Updated: N/A
  2. Issue #6711: Support GitLab's !reference tags

    • Priority: Contribution requested
    • Status: Open
    • Created: 3 days ago
    • Updated: N/A
  3. Issue #6709: False positive for provider check during terraform plan scans

    • Priority: Good first issue
    • Status: Open
    • Created: 3 days ago
    • Updated: 1 day ago
  4. Issue #6700: Check: CKV_AWS_45 false-positive on Lambda environment variables

    • Priority: Normal
    • Status: Open
    • Created: 9 days ago
    • Updated: N/A
  5. Issue #6693: Terraform provisioner checks

    • Priority: Normal
    • Status: Open
    • Created: 14 days ago
    • Updated: N/A
  6. Issue #6689: Update CKV_GCP_79 to check for Postgres 16

    • Priority: Good first issue
    • Status: Open
    • Created: 15 days ago
    • Updated: N/A
  7. Issue #6678: Checkov Linter fails to recognize comments in JSON after MegaLinter update

    • Priority: Bug report
    • Status: Open
    • Created: 20 days ago
    • Updated: 2 days ago
  8. Issue #6673: Bug report on --prisma-api-url being ignored

    • Priority: Contribution requested
    • Status: Open
    • Created: 24 days ago
    • Updated: 14 days ago

These issues reflect ongoing challenges with maintaining compatibility with evolving cloud services and user expectations for security compliance.

Important Observations

  • There is a notable number of requests for enhancements related to existing checks, indicating that users are actively seeking to improve their security posture through Checkov.
  • Several issues highlight discrepancies in how checks are applied when using modules or dynamic blocks, which may lead to false positives or negatives.
  • The community is engaged in discussions about contributing new checks and improving existing ones, suggesting a collaborative effort towards enhancing Checkov's capabilities.

This analysis underscores the importance of continuous updates and community involvement in maintaining the relevance and effectiveness of security tools like Checkov.

Report On: Fetch pull requests



Overview

The provided dataset contains a comprehensive list of pull requests (PRs) for the Checkov project, which is focused on static code analysis for cloud infrastructure as code. The dataset includes both open and closed PRs, with a variety of changes ranging from feature additions to bug fixes and dependency updates.

Summary of Pull Requests

  1. PR #6719: docs: update README.md

    • State: Open
    • Significance: A minor documentation fix correcting a typo in the README file. This highlights the project's ongoing maintenance of documentation.
  2. PR #6718: feat(azure): Implementing .checkovignore file

    • State: Open
    • Significance: Introduces a new feature allowing users to skip specific checks in Azure DevOps using a .checkovignore file, enhancing usability and flexibility.
  3. PR #6703: fix(terraform): Added ssl_mode attribute support

    • State: Open
    • Significance: Updates the existing policy to support the new ssl_mode attribute in Google Cloud SQL, addressing deprecation issues and ensuring compliance with Terraform's latest standards.
  4. PR #6702: chore: Upgrade to Python 3.12

    • State: Open
    • Significance: Upgrades the project's base Python version, indicating an effort to keep dependencies current and leverage new language features.
  5. PR #6699: chore(deps): bump github/codeql-action

    • State: Open
    • Significance: Updates a GitHub Action dependency, reflecting ongoing efforts to maintain CI/CD pipeline integrity.
  6. PR #6695: chore(terraform): update CKV_GCP_79 gcp postgres version to 16

    • State: Open
    • Significance: Updates a policy check to support PostgreSQL version 16, ensuring compatibility with current database versions.
  7. PR #6687: fix(terraform): Security group attached to DocumentDB cluster

    • State: Open
    • Significance: Enhances security checks by including Elastic DocumentDB as a recognized resource type for security groups.
  8. PR #6663: fix(terraform): CKV_GCP_32 Add other common enabling values

    • State: Open
    • Significance: Modifies an existing check to recognize additional valid configurations, improving the accuracy of security assessments.
  9. PR #6659: feat: Added OSS Bucket Encryption Check for Alibaba Cloud

    • State: Open
    • Significance: Introduces a new policy for checking server-side encryption on Alibaba Cloud OSS buckets, expanding the tool's coverage.
  10. PR #6647: feat: add support for awscc provider secrets check

    • State: Open
    • Significance: Adds support for AWSCC provider checks, indicating an expansion of the tool's capabilities.
  11. PR #6634: chore(deps): bump stefanzweifel/changelog-updater-action

    • State: Open
    • Significance: Updates a dependency related to changelog management, reflecting maintenance efforts.
  12. PR #6633: chore(deps): bump actions/checkout from 4.1.1 to 4.1.7

    • State: Open
    • Significance: Updates another GitHub Action dependency, ensuring that workflows remain functional and up-to-date.
  13. PR #6622: feat(general): Allow skipping multiple checks in a single line

    • State: Open
    • Significance: Enhances user experience by allowing multiple checks to be skipped in one comment, reducing clutter in codebases.
  14. PR #6070: feat(kubernetes): add kubernetes labels as entity_tags

    • State: Open
    • Significance: Introduces functionality for retrieving Kubernetes resource tags, enhancing metadata handling in reports.
  15. PR #6045: chore: Allow dependency rustworkx 0.14.x

    • State: Open
    • Significance: Updates dependencies to allow newer versions of rustworkx, improving compatibility with modern environments.

Analysis of Pull Requests

Themes and Commonalities

The pull requests reflect several key themes:

  1. Enhancements and New Features: Many PRs focus on adding new features or enhancing existing functionality, such as the introduction of the .checkovignore file (#6718) and support for AWSCC provider checks (#6647). This indicates an active effort to improve user experience and adapt to evolving cloud technologies.

  2. Dependency Management and Upgrades: A significant number of PRs involve upgrading dependencies (e.g., Python version upgrades in PR #6702 and various GitHub Actions). This is crucial for maintaining compatibility with external libraries and tools while also leveraging improvements made by those dependencies.

  3. Security Improvements: Several PRs address security concerns directly, such as ensuring that sensitive configurations are enforced (e.g., CKV_AZURE_244 regarding AKS max surge settings). This aligns with Checkov's mission of preventing misconfigurations and vulnerabilities in cloud infrastructure.

  4. Documentation and Usability Enhancements: There are multiple instances where documentation is updated or improved (e.g., PR #6719 correcting README typos). This emphasizes the importance placed on clear communication with users regarding tool usage and best practices.

Notable Anomalies

  • The presence of many open PRs (60) suggests either a backlog in review processes or high activity levels from contributors.
  • Some PRs have been marked as stale or closed without merging, indicating potential challenges in maintaining contributor engagement or alignment with project goals.
  • The variety of contributors and their respective focus areas suggest a diverse set of interests within the community, which can be both beneficial for innovation but also challenging for cohesive project direction.

Lack of Recent Merge Activity

While there is significant activity in terms of open pull requests, there seems to be a lack of recent merges compared to the number of contributions being made. This could lead to contributor frustration if their work does not get integrated promptly into the main branch.

Old Pull Requests

Several older PRs remain unresolved or have been closed without action (e.g., PRs over 90 days old), which may indicate issues with project management or prioritization within the development team.

In conclusion, while Checkov demonstrates robust community engagement and ongoing development efforts through its pull requests, there are opportunities for improvement in merge responsiveness and addressing contributor concerns effectively.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Their Recent Activities

  1. Taylor (tsmithv11)

    • Commits: 13
    • Recent Work:
    • Implemented multiple Terraform checks and features, including checks for local users in Azure storage and policies for RDS encryption in transit.
    • Collaborated with multiple team members on various features and bug fixes.
    • Significant contributions to tests and documentation updates.
  2. Chanoch Shayner

    • Commits: 2
    • Recent Work:
    • Made minor updates related to logging levels and contributed to severity metadata for custom policies.
    • Collaborated with Taylor on several features.
  3. Anton Grübel (gruebel)

    • Commits: 16
    • Recent Work:
    • Focused on updating release notes across multiple commits, ensuring documentation reflects the latest changes.
  4. Emma Vinen

    • Commits: 1
    • Recent Work:
    • Added a CLI parameter for customizing tool names in SARIF file outputs, collaborating with Taylor.
  5. Damien Trouillet (dtrouillet)

    • Commits: 2
    • Recent Work:
    • Worked on fixes related to Azure checks, contributing to the overall stability of the codebase.
  6. Rabea Zreik (RabeaZr)

    • Commits: 22
    • Recent Work:
    • Focused heavily on fixing issues related to secrets duplication and suppression, showing a strong emphasis on security compliance.
  7. Steve Vaknin (SteveVaknin)

    • Commits: 4
    • Recent Work:
    • Contributed fixes related to Terraform, particularly addressing issues with resource attributes.
  8. Max Amelchenko (maxamel)

    • Commits: 7
    • Recent Work:
    • Worked on various features including support for cloudsplaining evaluated keys and contributed significantly to testing frameworks.
  9. Omry Mendelovich (omryMen)

    • Commits: 4
    • Recent Work:
    • Added log level support for SAST in Windows, contributing to cross-platform compatibility.
  10. AdamDev

    • Commits: 2
    • Recent Work:
    • Contributed minor fixes and enhancements related to general functionality.
  11. Omri Yoffe (omriyoffe-panw)

    • Commits: 3
    • Recent Work:
    • Focused on adding support for SAM Globals in CloudFormation.
  12. Paz Bechor (pazbechor)

    • Commits: 2
    • Recent Work:
    • Worked on enhancing secrets detection capabilities.
  13. Lir Shindalman (lirshindalman)

    • Commits: 2
    • Recent Work:
    • Made improvements related to general functionality and testing.
  14. Inbal Avital (inbalavital)

    • Commits: 6
    • Recent Work:
    • Contributed various fixes and enhancements across multiple files, focusing on Terraform checks.
  15. Dependabot[bot]

    • Various commits focused on dependency updates across multiple branches.

Patterns, Themes, and Conclusions

  • The team exhibits a strong focus on security-related features, particularly around secrets management and compliance checks.
  • There is significant collaboration among team members, as seen through co-authored commits and shared tasks.
  • The recent activities indicate a high level of engagement with both feature development and bug fixing, reflecting an agile approach to software development.
  • The frequency of updates to release notes suggests an emphasis on maintaining clear communication regarding project changes.
  • The presence of Dependabot indicates a proactive approach to keeping dependencies up-to-date, which is crucial for security and stability.
  • Overall, the team is actively enhancing Checkov's capabilities while ensuring robust security measures are in place across various cloud platforms.