UNPKG

mcp-server-semgrep

Version:

MCP Server for Semgrep Integration - static code analysis with AI

75 lines (74 loc) 2.03 kB
rules: - id: path-join-resolve-traversal message: >- Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. metadata: owasp: - A05:2017 - Broken Access Control - A01:2021 - Broken Access Control cwe: - "CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')" category: security references: - https://owasp.org/www-community/attacks/Path_Traversal technology: - javascript - node.js cwe2022-top25: true cwe2021-top25: true subcategory: - vuln likelihood: HIGH impact: MEDIUM confidence: LOW languages: - javascript - typescript severity: WARNING mode: taint pattern-sources: - patterns: - focus-metavariable: $X - pattern-either: - pattern-inside: | function ... (...,$X,...) {...} - pattern-inside: | function ... (...,{...,$X,...},...) {...} pattern-sinks: - patterns: - focus-metavariable: $SINK - pattern-either: - pattern-inside: | $PATH = require('path'); ... - pattern-inside: | import $PATH from 'path'; ... - pattern-either: - pattern: $PATH.join(...,$SINK,...) - pattern: $PATH.resolve(...,$SINK,...) - patterns: - focus-metavariable: $SINK - pattern-inside: | import 'path'; ... - pattern-either: - pattern-inside: path.join(...,$SINK,...) - pattern-inside: path.resolve(...,$SINK,...) pattern-sanitizers: - pattern: $Y.replace(...) - pattern: $Y.indexOf(...) - pattern: | function ... (...) { ... <... $Y.indexOf(...) ...> ... } - patterns: - pattern: $FUNC(...) - metavariable-regex: metavariable: $FUNC regex: sanitize