From 42a965e29eb18280bfee1026d4e1c8043d9e49ca Mon Sep 17 00:00:00 2001 From: Liam Galvin Date: Fri, 25 Mar 2022 17:05:20 +0000 Subject: [PATCH] feat: Download remote modules by default (unless --no-module-downloads) is specified (#1628) Signed-off-by: Liam Galvin --- .codespellignore | 2 +- Makefile | 2 +- cmd/tfsec-checkgen/main.go | 3 +- docs/guides/usage.md | 59 +++++++++++++------------- go.mod | 2 +- go.sum | 55 +++++++++++++++++++++++- internal/app/tfsec/cmd/flags.go | 3 ++ internal/pkg/custom/processing_test.go | 5 ++- 8 files changed, 94 insertions(+), 37 deletions(-) diff --git a/.codespellignore b/.codespellignore index a0610ddd6e..3c8b28c90e 100644 --- a/.codespellignore +++ b/.codespellignore @@ -1,3 +1,3 @@ aks ans -tfsec +tfsec \ No newline at end of file diff --git a/Makefile b/Makefile index 5e5d8f5911..53a10f5489 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ tagger: .PHONY: typos typos: which codespell || pip install codespell - codespell -S .terraform,.git,go.sum --ignore-words .codespellignore -f + codespell -S _examples,.terraform,.git,go.sum --ignore-words .codespellignore -f .PHONY: quality quality: diff --git a/cmd/tfsec-checkgen/main.go b/cmd/tfsec-checkgen/main.go index be726044d2..5afe6f6b61 100644 --- a/cmd/tfsec-checkgen/main.go +++ b/cmd/tfsec-checkgen/main.go @@ -1,6 +1,7 @@ package main import ( + "context" "errors" "fmt" "io/ioutil" @@ -76,7 +77,7 @@ func scanTestFile(testFile string) (rules.Results, error) { if err := p.ParseDirectory(filepath.Dir(path)); err != nil { return nil, err } - modules, _, err := p.EvaluateAll() + modules, _, err := p.EvaluateAll(context.TODO()) if err != nil { return nil, err } diff --git a/docs/guides/usage.md b/docs/guides/usage.md index 0846453a34..aacf4ead15 100644 --- a/docs/guides/usage.md +++ b/docs/guides/usage.md @@ -12,35 +12,36 @@ tfsec can by run with no arguments and will act on the current folder. For a richer experience, there are many additional command line arguments that you can make use of. -| Argument | Short Code | Description | -| :------------------------------------------------------- | :--------- | :--------------------------------------------------------------------------------------- | -| `--allow-checks-to-panic` | `-p` | Allow panics to propagate up from rule checking | -| `--concise-output` | | Reduce the amount of output and no metrics | -| `--config-file [path to config file]` | | Config file to use during run | -| `--custom-check-dir [path to checks dir]` | | Explicitly the custom checks dir location | -| `--debug` | | Enable verbose logging, same as `--verbose` but for people who prefer to say debug | -| `--exclude [comma,separated,rule,ids]` | `-e` | Provide comma-separated list of rule IDs to exclude from run. | -| `--exclude-path strings` | | Path to exclude from parser, can be used multiple times | -| `--exclude-downloaded-modules` | | Remove results for downloaded modules in .terraform folder | -| `--filter-results [comma,separated,riles,to,check]` | | Filter results to return specific checks only (supports comma-delimited input). | -| `--force-all-dirs` | | Don't search for tf files, include everything below provided directory. | +| Argument | Short Code | Description | +|:---------------------------------------------------------|:-----------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `--allow-checks-to-panic` | `-p` | Allow panics to propagate up from rule checking | +| `--concise-output` | | Reduce the amount of output and no metrics | +| `--config-file [path to config file]` | | Config file to use during run | +| `--custom-check-dir [path to checks dir]` | | Explicitly the custom checks dir location | +| `--debug` | | Enable verbose logging, same as `--verbose` but for people who prefer to say debug | +| `--exclude [comma,separated,rule,ids]` | `-e` | Provide comma-separated list of rule IDs to exclude from run. | +| `--exclude-path strings` | | Path to exclude from parser, can be used multiple times | +| `--exclude-downloaded-modules` | | Remove results for downloaded modules in .terraform folder | +| `--filter-results [comma,separated,riles,to,check]` | | Filter results to return specific checks only (supports comma-delimited input). | +| `--force-all-dirs` | | Don't search for tf files, include everything below provided directory. | | `--format [default,json,csv,checkstyle,junit,sarif,gif]` | `-f` | Select output format: default, json, csv, checkstyle, junit, sarif. To use multiple formats, separate with a comma and specify a base output filename with --out. A file will be written for each type. The first format will additionally be written stdout. | -| `--help` | `-h` | help for tfsec | -| `--ignore-hcl-errors` | | Stop and report an error if an HCL parse error is encountered | -| `--include-ignored` | | Ignore comments with have no effect and all resources will be scanned | -| `--include-passed` | | Resources that pass checks are included in the result output | -| `--migrate-ignores` | | Migrate ignore codes to the new ID structure eg; AWS077 to aws-s3-enable-versioning | -| `--minimum-severity` | `-m` | The minimum severity of results to report. One of CRITICAL, HIGH, MEDIUM, LOW. | -| `--no-color` | | Disable colored output (American style!) | -| `--no-colour` | | Disable coloured output | -| `--out [filepath to output to]` | | Set output file. This filename will have a format descriptor appended if multiple formats are specified with --format | -| `--run-statistics` | | View statistics table of current findings. | -| `--soft-fail` | `-s` | Runs checks but suppresses error code | -| `--sort-severity` | | Sort the results by severity from highest to lowest | -| `--tfvars-file strings` | | Path to .tfvars file, can be used multiple times and evaluated in order of specification | -| `--update` | | Update to latest version | -| `--verbose` | | Enable verbose logging | -| `--version` | `-v` | Show version information and exit | -| `--workspace [terraform workspace]` | `-w` | Specify a workspace for ignore limits | +| `--help` | `-h` | help for tfsec | +| `--ignore-hcl-errors` | | Stop and report an error if an HCL parse error is encountered | +| `--include-ignored` | | Ignore comments with have no effect and all resources will be scanned | +| `--include-passed` | | Resources that pass checks are included in the result output | +| `--migrate-ignores` | | Migrate ignore codes to the new ID structure eg; AWS077 to aws-s3-enable-versioning | +| `--minimum-severity` | `-m` | The minimum severity of results to report. One of CRITICAL, HIGH, MEDIUM, LOW. | +| `--no-color` | | Disable colored output (American style!) | +| `--no-colour` | | Disable coloured output | +| `--no-module-downloads` | | Do not download remote modules. | +| `--out [filepath to output to]` | | Set output file. This filename will have a format descriptor appended if multiple formats are specified with --format | +| `--run-statistics` | | View statistics table of current findings. | +| `--soft-fail` | `-s` | Runs checks but suppresses error code | +| `--sort-severity` | | Sort the results by severity from highest to lowest | +| `--tfvars-file strings` | | Path to .tfvars file, can be used multiple times and evaluated in order of specification | +| `--update` | | Update to latest version | +| `--verbose` | | Enable verbose logging | +| `--version` | `-v` | Show version information and exit | +| `--workspace [terraform workspace]` | `-w` | Specify a workspace for ignore limits | This list can also be found by running `tfsec --help` diff --git a/go.mod b/go.mod index b5cc45d96d..6955485857 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.16 require ( github.com/AlecAivazis/survey/v2 v2.3.3 github.com/Masterminds/semver v1.5.0 - github.com/aquasecurity/defsec v0.26.0 + github.com/aquasecurity/defsec v0.27.0 github.com/hashicorp/go-version v1.4.0 github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf github.com/liamg/clinch v1.5.6 diff --git a/go.sum b/go.sum index 130832bf69..b975b571da 100644 --- a/go.sum +++ b/go.sum @@ -34,6 +34,7 @@ cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+Y cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0 h1:y/cM2iqGgGi5D5DQZl6D9STN/3dR/Vx5Mp8s752oJTY= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= @@ -53,6 +54,7 @@ cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiy cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= code.gitea.io/sdk/gitea v0.12.0/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY= contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= @@ -193,8 +195,30 @@ github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2 github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= -github.com/aquasecurity/defsec v0.26.0 h1:BTkVmbxjIEBlVyA6kbdQ4bzETC0VESlLVcSqVjF3wrM= -github.com/aquasecurity/defsec v0.26.0/go.mod h1:9GDiP7iCebisShDQeEIB4E8cSJ7a7Q+anViDljTETYY= +github.com/aquasecurity/defsec v0.26.1-0.20220325140704-d8b4a3fea4c1 h1:de91X8wL/94XGAegb0nCjuXTjxcvN/iairMrcaWaul0= +github.com/aquasecurity/defsec v0.26.1-0.20220325140704-d8b4a3fea4c1/go.mod h1:yLnOXXqqeGThvrGco0Q510KAjcmGsUBf489FHgvn3uw= +github.com/aquasecurity/defsec v0.26.1-0.20220325141948-a29cc024f6c3 h1:E1/A5zkwa4zOI15tk0lOSef3oILi7tnaF7PIUCc803Y= +github.com/aquasecurity/defsec v0.26.1-0.20220325141948-a29cc024f6c3/go.mod h1:yLnOXXqqeGThvrGco0Q510KAjcmGsUBf489FHgvn3uw= +github.com/aquasecurity/defsec v0.26.1-0.20220325142527-f0440e4a77ba h1:vIZL5TIBMqk/HzwGlIaGhS14GKVoRHm5iqyfbCwCaU0= +github.com/aquasecurity/defsec v0.26.1-0.20220325142527-f0440e4a77ba/go.mod h1:yLnOXXqqeGThvrGco0Q510KAjcmGsUBf489FHgvn3uw= +github.com/aquasecurity/defsec v0.26.1-0.20220325150238-5ca809b98a70 h1:gJif+dXOWFarWYY5Kgp392ON9e9vMjHbBvpcx+xG0FM= +github.com/aquasecurity/defsec v0.26.1-0.20220325150238-5ca809b98a70/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.26.1-0.20220325150603-5f71ef0bd565 h1:eBpTUGJrjyf/3RScSadSFn2BZlyv8CGo2tDBdel/v0s= +github.com/aquasecurity/defsec v0.26.1-0.20220325150603-5f71ef0bd565/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.26.1-0.20220325151054-153460132653 h1:CWK6eGZlO067ZjCA93Yw1fn1Yj7RJ3EqyzMx1odHV6U= +github.com/aquasecurity/defsec v0.26.1-0.20220325151054-153460132653/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.26.1-0.20220325151335-577ffb5f1baa h1:YrSe273BC0gzA1FiX5WhGlK4Sbcuy9WgObL9M88xSbo= +github.com/aquasecurity/defsec v0.26.1-0.20220325151335-577ffb5f1baa/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.26.1-0.20220325151850-417f375c8893 h1:y6DNXNM6VCSL6BFuf1Wi9MfslpC/amLmVUFBvxIInVc= +github.com/aquasecurity/defsec v0.26.1-0.20220325151850-417f375c8893/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.26.1-0.20220325152124-0a7db4c80533 h1:hqScAmu2x+z+eMdZxMjK4tgJ1QUg4M/WHLIBdX6x1RQ= +github.com/aquasecurity/defsec v0.26.1-0.20220325152124-0a7db4c80533/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.26.1-0.20220325152745-2e29ad2cb31d h1:RlDiH7zKJfcIQOzAOYYjZeGYr/CfFkEXPsCmvsqyjb8= +github.com/aquasecurity/defsec v0.26.1-0.20220325152745-2e29ad2cb31d/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.26.1-0.20220325163601-edfac5e934ca h1:r9GHSc1K8uS0dNO7juk2JowUCDJiuQMQGJacB/oE+6Y= +github.com/aquasecurity/defsec v0.26.1-0.20220325163601-edfac5e934ca/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= +github.com/aquasecurity/defsec v0.27.0 h1:KdO4jzmk5Cu6yKiz49ZV4W0+G/h0rbC3vyXKm7i6FJE= +github.com/aquasecurity/defsec v0.27.0/go.mod h1:39v3a4q9DNzenlXutF+TZn3/BEegrKakebRx9xLEa+w= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= @@ -205,6 +229,7 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkY github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.15.90/go.mod h1:es1KtYUFs7le0xQ3rOihkuoVD90z7D0fR2Qm4S00/gU= github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.19.18/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= @@ -212,12 +237,15 @@ github.com/aws/aws-sdk-go v1.19.45/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.11/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.31.6 h1:nKjQbpXhdImctBh1e0iLg9iQW/X297LPPuY/9f92R2k= github.com/aws/aws-sdk-go v1.31.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= @@ -257,6 +285,7 @@ github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cb github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -679,9 +708,11 @@ github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -710,10 +741,12 @@ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/wire v0.3.0/go.mod h1:i1DMg/Lu8Sz5yYl25iOdmc5CT5qusaa+zmRWs16741s= github.com/google/wire v0.4.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go v2.0.2+incompatible h1:silFMLAnr330+NRuag/VjIGF7TLp/LBrV2CJKFLWEww= github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= @@ -760,7 +793,10 @@ github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FK github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-getter v1.5.11 h1:wioTuNmaBU3IE9vdFtFMcmZWj0QzLc6DYaP6sNe5onY= +github.com/hashicorp/go-getter v1.5.11/go.mod h1:9i48BP6wpWweI/0/+FBjqLrp9S8XtwUGjiu0QkWHEaY= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= @@ -776,12 +812,15 @@ github.com/hashicorp/go-retryablehttp v0.6.4/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4= github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -837,6 +876,7 @@ github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= @@ -868,6 +908,7 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= @@ -945,6 +986,7 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= github.com/mattn/go-runewidth v0.0.12 h1:Y41i/hVW3Pgwr8gV+J23B9YEY0zxjptBuCWEaxmAOow= @@ -973,6 +1015,7 @@ github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk= +github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= @@ -1295,6 +1338,8 @@ github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGr github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= @@ -1573,6 +1618,7 @@ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1865,6 +1911,7 @@ google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqiv google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0 h1:PhGymJMXfGBzc4lBRmrx9+1w4w2wEzURHNGF/sD/xGc= google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1874,6 +1921,7 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1948,6 +1996,7 @@ google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -1984,6 +2033,7 @@ google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9K google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -2010,6 +2060,7 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= diff --git a/internal/app/tfsec/cmd/flags.go b/internal/app/tfsec/cmd/flags.go index ca2ab6fe06..bf5a25bc7c 100644 --- a/internal/app/tfsec/cmd/flags.go +++ b/internal/app/tfsec/cmd/flags.go @@ -43,6 +43,7 @@ var minimumSeverity string var disableIgnores bool var regoPolicyDir string var printRegoInput bool +var noModuleDownloads bool func init() { rootCmd.Flags().BoolVar(&singleThreadedMode, "single-thread", singleThreadedMode, "Run checks using a single thread") @@ -76,6 +77,7 @@ func init() { rootCmd.Flags().StringVarP(&minimumSeverity, "minimum-severity", "m", minimumSeverity, "The minimum severity to report. One of CRITICAL, HIGH, MEDIUM, LOW.") rootCmd.Flags().StringVar(®oPolicyDir, "rego-policy-dir", regoPolicyDir, "Directory to load rego policies from (recursively).") rootCmd.Flags().BoolVar(&printRegoInput, "print-rego-input", printRegoInput, "Print a JSON representation of the input supplied to rego policies.") + rootCmd.Flags().BoolVar(&noModuleDownloads, "no-module-downloads", noModuleDownloads, "Do not download remote modules.") _ = rootCmd.Flags().MarkHidden("allow-checks-to-panic") } @@ -93,6 +95,7 @@ func configureOptions() ([]scanner.Option, error) { scanner.OptionWithWorkspaceName(workspace), scanner.OptionWithAlternativeIDProvider(legacy.FindIDs), scanner.OptionWithPolicyNamespaces("custom"), + scanner.OptionWithDownloads(!noModuleDownloads), ) if regoPolicyDir != "" { diff --git a/internal/pkg/custom/processing_test.go b/internal/pkg/custom/processing_test.go index 948526a50c..8fd8a98416 100644 --- a/internal/pkg/custom/processing_test.go +++ b/internal/pkg/custom/processing_test.go @@ -1,6 +1,7 @@ package custom import ( + "context" "encoding/json" "fmt" "io/ioutil" @@ -976,7 +977,7 @@ func scanTerraform(t *testing.T, mainTf string) rules.Results { if err := p.ParseDirectory(dirName); err != nil { panic(err) } - modules, _, err := p.EvaluateAll() + modules, _, err := p.EvaluateAll(context.TODO()) if err != nil { panic(err) } @@ -993,7 +994,7 @@ func ParseFromSource(source string) terraform.Modules { if err := p.ParseDirectory(filepath.Dir(path)); err != nil { panic(err) } - modules, _, err := p.EvaluateAll() + modules, _, err := p.EvaluateAll(context.TODO()) if err != nil { panic(err) }