2022-10-04 02:47:00 +00:00
|
|
|
Before:
|
|
|
|
runtime ale_linters/terraform/tfsec.vim
|
|
|
|
|
|
|
|
After:
|
|
|
|
call ale#linter#Reset()
|
|
|
|
|
2022-10-29 11:56:09 +00:00
|
|
|
Execute(The tfsec handler should handle empty output):
|
2022-10-04 02:47:00 +00:00
|
|
|
AssertEqual
|
|
|
|
\ [],
|
|
|
|
\ ale_linters#terraform#tfsec#Handle(bufnr(''), ['{"results": null}'])
|
|
|
|
|
|
|
|
Execute(The tfsec handler should parse results correctly):
|
|
|
|
AssertEqual
|
|
|
|
\ [
|
|
|
|
\ {
|
|
|
|
\ 'filename': '/test/main.tf',
|
|
|
|
\ 'lnum': 10,
|
|
|
|
\ 'end_lnum': 12,
|
|
|
|
\ 'text': "IAM policy document uses sensitive action 'iam:PassRole' on wildcarded resource '*'",
|
|
|
|
\ 'code': 'aws-iam-no-policy-wildcards',
|
|
|
|
\ 'type': 'W',
|
|
|
|
\ },
|
|
|
|
\],
|
|
|
|
\ ale_linters#terraform#tfsec#Handle(bufnr(''), json_encode(
|
|
|
|
\ {
|
|
|
|
\ "results": [
|
|
|
|
\ {
|
|
|
|
\ "rule_id": "AVD-AWS-0057",
|
|
|
|
\ "long_id": "aws-iam-no-policy-wildcards",
|
|
|
|
\ "rule_description": "IAM policy should avoid use of wildcards and instead apply the principle of least privilege",
|
|
|
|
\ "rule_provider": "aws",
|
|
|
|
\ "rule_service": "iam",
|
|
|
|
\ "impact": "Overly permissive policies may grant access to sensitive resources",
|
|
|
|
\ "resolution": "Specify the exact permissions required, and to which resources they should apply instead of using wildcards.",
|
|
|
|
\ "links": [
|
|
|
|
\ "https://aquasecurity.github.io/tfsec/v1.28.0/checks/aws/iam/no-policy-wildcards/",
|
|
|
|
\ "https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document"
|
|
|
|
\ ],
|
|
|
|
\ "description": "IAM policy document uses sensitive action 'iam:PassRole' on wildcarded resource '*'",
|
|
|
|
\ "severity": "HIGH",
|
|
|
|
\ "warning": v:false,
|
|
|
|
\ "status": 0,
|
|
|
|
\ "resource": "data.aws_iam_policy_document.default",
|
|
|
|
\ "location": {
|
|
|
|
\ "filename": "/test/main.tf",
|
|
|
|
\ "start_line": 10,
|
|
|
|
\ "end_line": 12
|
|
|
|
\ }
|
|
|
|
\ }
|
|
|
|
\ ]
|
|
|
|
\ }
|
|
|
|
\))
|