UNPKG

mcp-server-semgrep

Version:

MCP Server for Semgrep Integration - static code analysis with AI

116 lines (115 loc) 3.02 kB
rules: - id: no-iam-data-exfiltration patterns: - pattern-either: - patterns: - pattern-inside: | resource $TYPE "..." { ... policy = jsonencode({ ... Statement = [ ..., {... Resource = "*" ...}, ... ] ... }) ... } - pattern-not-inside: | resource $TYPE "..." { ... policy = jsonencode({ ... Statement = [ ..., {... Effect = "Deny" ...}, ... ] ... }) ... } - pattern: | Action = $ACTION - metavariable-pattern: metavariable: $TYPE pattern-either: - pattern: | "aws_iam_role_policy" - pattern: | "aws_iam_policy" - pattern: | "aws_iam_user_policy" - pattern: | "aws_iam_group_policy" - patterns: - pattern-inside: | data aws_iam_policy_document "..." { ... statement { ... resources = ["*"] ... } ... } - pattern-not-inside: | data aws_iam_policy_document "..." { ... statement { ... effect = "Deny" ... } ... } - pattern: | actions = [..., $ACTION, ...] - metavariable-pattern: metavariable: $ACTION pattern-either: - pattern: | "s3:GetObject" - pattern: | "ssm:GetParameter*" - pattern: | "secretsmanager:GetSecretValue" - pattern: | "rds:CopyDBSnapshot" - pattern: | "rds:CreateDBSnapshot" - pattern: | "ssm:*" - pattern: | "s3:*" - pattern: | "rds:*" - pattern: | "rn: secretsmanager:*" message: >- Ensure that IAM policies don't allow data exfiltration actions that are not resource-constrained. This can allow the user to read sensitive data they don't need to read. Instead, make sure that the user granted these privileges are given these permissions on specific resources. metadata: references: - https://github.com/bridgecrewio/checkov/blob/ca830e14745c2c8e1b941985f305abe985d7f1f9/checkov/terraform/checks/data/aws/IAMDataExfiltration.py - https://cloudsplaining.readthedocs.io/en/latest/glossary/data-exfiltration/ category: security cwe: - 'CWE-200: Exposure of Sensitive Information to an Unauthorized Actor' technology: - terraform - aws owasp: - A01:2021 - Broken Access Control cwe2021-top25: true subcategory: - audit likelihood: LOW impact: LOW confidence: LOW languages: [hcl] severity: WARNING