← all rules

code/py-path-traversal

Path Traversal: open() with user-controlled path

highCode regexpath-traversalCWE-22python

What it detects

open() with a path derived from request data can read arbitrary files. Resolve via os.path.realpath and verify it stays in an allowlisted root.

How it runs

Applied line-by-line via a tagged regex with language-specific gating. Comments are skipped. Designed for high-confidence patterns where AST parsing would be overkill.

Found a false positive or want this rule tuned? File an issue. You can also suppress per-repo via a .repoguardignore line.