Code Monkey home page Code Monkey logo

tool-compare's People

Contributors

harkirat22 avatar kaplanlior avatar owenrumney avatar steven-hadfield avatar yi2020 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tool-compare's Issues

Add context-aware tests

Most of these checks are simpler. Bridgecrew and Indeni announced support for context-aware rules. Would be good to have more test cases that support context-type issues.

FYI @christophetd

Improve readability

  • Formatting of the table is too tight (can't see tfsec for example) + sub-headers are too small
  • Add a README in each directory inside test-cases to see in plain english what does this code even trying to do and test in general terms.
  • Add versions and dates (last execution)

Run a new test with checkov:latest

Can you please re-run checks for checkov. There are some updates on checks.
Also that would be great if you can add Last Scan time to the readme to see when it is executed.

rds_retention_period_set should check preferred_backup_window or backup_retention_period or both?

https://github.com/iacsecurity/tool-compare/blob/main/test-cases/terraform/aws/best-practices/rds_retention_period_set/main.tf

This is related to rds_retention_period_set

the main.tf specifies to check preferred_backup_window

resource "aws_rds_cluster" "default" {
  cluster_identifier      = "aurora-cluster-demo"
  engine                  = "aurora-mysql"
  engine_version          = "5.7.mysql_aurora.2.03.2"
  availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
  database_name           = "mydb"
  master_username         = "foo"
  master_password         = "bar"
  preferred_backup_window = "07:00-09:00"
}

should not it check backup_retention_period ?

resource "aws_rds_cluster" "rds_cluster_2" {
  cluster_identifier      = "demo"
  engine                  = "aurora-postgresql"
  availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
  database_name           = "mydb"
  master_username         = "foo"
  master_password         = "bar"
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
  enabled_cloudwatch_logs_exports = ["audit", "error"]
}

I may be wrong, pls correct me.

Inaccurate comparison between tools?

looks like some of the tools are being executed on the "plan" phase while others directly on the IaC files?
Is the comparison been done only for terraform? Some of the tools support multiple IaC

Add dynamic / live test cases

Over the past year, infrastructure-as-code security began to evolve to look beyond just the code itself. We've seen this with Accurics, Bridgecrew, Fugue and Indeni Cloudrail's offerings. We also saw this recently with driftctl's launch.

An IaC security tool comparison needs to take this into account. This means we need to create a staging AWS environment that can be used in conjunction with the IaC security scans to show the capabilities beyond just static analysis.

We should figure out a way to pull this information into this tool-compare repository in a manner that's reproducible to anyone who seeks to do so.

terraform/aws/best-practices > tag_all_items

Thanks for putting together a nice set of tools comparison. Have some basic doubts

For tag_all_items, the support is provided by only Indeni Cloudrail and Kics

Hope the test case is executed against the provided main.tf file and the result is shared, pls correct me

One of the below confusion, while checking for the test-cases/terraform/aws/best-practices/tag_all_items/ , the checkov_results.txt contains

  • Check: CKV_AWS_26: "Ensure all data stored in the SNS topic is encrypted"
  • Check: CKV_AWS_27: "Ensure all data stored in the SQS queue is encrypted"

In the case of a check, the checkov_results.txt does not indicate any pass/fail, the test cases CKV_AWS_26 & CKV_AWS_27 are totally different checks on AWS, in this context should this be included as part of the test case folder?

Additionally,
Does this indicate we need to just check if all resources provisioned in TF are associated with tags? some of the resources are not supported tags, how do we handle them by this validation?

Add tool capability table

Tools have various capabilities, beyond just catching test cases. Would like to add a table in the README that provides this information, beyond just the licensing line we have there now.

From an implementation perspective, this will be a YAML file that is used to auto-generate the README.

Cleanup, Refresh

Time to start adding more test cases for other CSPs and IaC languages. Ahead of that, I'd like to clean up the structure a bit, run an updated execution (been a couple of months since the last execution) and add Azure test cases (still Terraform).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.