UNPKG

mcp-server-semgrep

Version:

MCP Server for Semgrep Integration - static code analysis with AI

66 lines (65 loc) 1.94 kB
rules: - id: exec-injection languages: - python severity: ERROR message: Detected user data flowing into exec. This is code injection and should be avoided. metadata: cwe: - "CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')" owasp: - A03:2021 - Injection references: - https://nedbatchelder.com/blog/201206/exec_really_is_dangerous.html category: security technology: - flask subcategory: - vuln likelihood: MEDIUM impact: HIGH confidence: MEDIUM pattern-either: - patterns: - pattern: exec(...) - pattern-either: - pattern-inside: | @$APP.route($ROUTE, ...) def $FUNC(..., $ROUTEVAR, ...): ... exec(..., <... $ROUTEVAR ...>, ...) - pattern-inside: | @$APP.route($ROUTE, ...) def $FUNC(..., $ROUTEVAR, ...): ... $INTERM = <... $ROUTEVAR ...> ... exec(..., <... $INTERM ...>, ...) - pattern: exec(..., <... flask.request.$W.get(...) ...>, ...) - pattern: exec(..., <... flask.request.$W[...] ...>, ...) - pattern: exec(..., <... flask.request.$W(...) ...>, ...) - pattern: exec(..., <... flask.request.$W ...>, ...) - patterns: - pattern-inside: | $INTERM = <... flask.request.$W.get(...) ...> ... exec(..., <... $INTERM ...>, ...) - pattern: exec(...) - patterns: - pattern-inside: | $INTERM = <... flask.request.$W[...] ...> ... exec(..., <... $INTERM ...>, ...) - pattern: exec(...) - patterns: - pattern-inside: | $INTERM = <... flask.request.$W(...) ...> ... exec(..., <... $INTERM ...>, ...) - pattern: exec(...) - patterns: - pattern-inside: | $INTERM = <... flask.request.$W ...> ... exec(..., <... $INTERM ...>, ...) - pattern: exec(...)