rules:
- id: aws-efs-filesystem-encrypted-with-cmk
  patterns:
  - pattern: |
      resource "aws_efs_file_system" $ANYTHING {
        ...
        encrypted  = true
        ...
      }
  - pattern-not-inside: |
      resource "aws_efs_file_system" $ANYTHING {
        ...
        encrypted  = true
        kms_key_id = ...
        ...
      }
  message: >-
    Ensure EFS filesystem is encrypted at rest using KMS CMKs. CMKs gives you control over the encryption
    key in terms of access and rotation.
  metadata:
    category: security
    technology:
    - terraform
    - aws
    owasp:
    - A03:2017 - Sensitive Data Exposure
    cwe:
    - 'CWE-320: CWE CATEGORY: Key Management Errors'
    references:
    - https://owasp.org/Top10/A02_2021-Cryptographic_Failures
    subcategory:
    - audit
    likelihood: MEDIUM
    impact: MEDIUM
    confidence: MEDIUM
  languages: [hcl]
  severity: WARNING
