UNPKG

mcp-server-semgrep

Version:

MCP Server for Semgrep Integration - static code analysis with AI

93 lines (92 loc) 3.25 kB
rules: - id: argo-workflow-parameter-command-injection message: Using input or workflow parameters in here-scripts can lead to command injection or code injection. Convert the parameters to env variables instead. languages: [yaml] metadata: category: security cwe: - "CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')" - "CWE-94: Improper Control of Generation of Code ('Code Injection')" owasp: - A03:2021 Injection confidence: MEDIUM likelihood: MEDIUM impact: HIGH subcategory: - vuln references: - https://github.com/argoproj/argo-workflows/issues/5061 - https://github.com/argoproj/argo-workflows/issues/5114#issue-808865370 technology: - ci - argo severity: ERROR patterns: - pattern-inside: | apiVersion: $VERSION ... - metavariable-regex: metavariable: $VERSION regex: (argoproj.io.*) - pattern-either: - patterns: - pattern-inside: | command: ... - python ... ... source: $SCRIPT - focus-metavariable: $SCRIPT - metavariable-pattern: metavariable: $SCRIPT language: python patterns: - pattern: | $FUNC(..., $PARAM, ...) - metavariable-pattern: metavariable: $PARAM pattern-either: - pattern-regex: (.*{{.*inputs.parameters.*}}.*) - pattern-regex: (.*{{.*workflow.parameters.*}}.*) - patterns: - pattern-inside: | command: ... - $LANG ... ... source: $SCRIPT - metavariable-regex: metavariable: $LANG regex: (bash|sh) - focus-metavariable: $SCRIPT - metavariable-pattern: metavariable: $SCRIPT language: bash patterns: - pattern: | $CMD ... $PARAM ... - metavariable-pattern: metavariable: $PARAM pattern-either: - pattern-regex: (.*{{.*inputs.parameters.*}}.*) - pattern-regex: (.*{{.*workflow.parameters.*}}.*) - patterns: - pattern-inside: | container: ... command: $LANG ... args: $PARAM - metavariable-regex: metavariable: $LANG regex: .*(sh|bash|ksh|csh|tcsh|zsh).* - metavariable-pattern: metavariable: $PARAM pattern-either: - pattern-regex: (.*{{.*inputs.parameters.*}}.*) - pattern-regex: (.*{{.*workflow.parameters.*}}.*) - focus-metavariable: $PARAM