noorqureshi/security-skills/code-review-dangerous-sinks
Claude Code and agent skill by noorqureshi/security-skills
- community
Checking that the SKILL.md file is still in the repository.
Grep-ready dangerous function/sink catalog per language for fast code review. Load when reviewing source in PHP, Python, JavaScript/Node, Java, Ruby, Go, .NET/C# and you need the exact functions that cause RCE/SQLi/SSRF/traversal/deserialization. Signals: "dangerous functions", "sinks", grepping a codebase.
Install
npx vskill@latest install noorqureshi/security-skills/code-review-dangerous-sinksSKILL.md
Dangerous sinks by language (grep catalog)
When it applies
You're reading source and want the fastest path to bugs: grep every dangerous sink, then trace each hit's argument back to user input.
Why it works
A small set of functions cause most severe bugs (command/code exec, SQL, deserialization, file access, SSRF). Enumerating them turns review into "find the sink → prove the source".
Sinks to grep (trace the argument to a user source)
- Command exec (RCE, CWE-78): PHP
system exec shell_exec passthru proc_open· Python
os.system subprocess.*(shell=True) os.popen · Node child_process.exec execSync · Java Runtime.exec ProcessBuilder · Ruby ` system exec backticks %x() · Go exec.Command`.
- Code eval (CWE-94):
eval(all), Pythonexec pickle.loads, NodeFunction() vm,
PHP eval assert create_function preg_replace/e, Ruby eval send.
- SQL (CWE-89): string-built queries / concatenation into
query execute(all ORMs have a
raw path — grep raw, .query(, String.format near SQL).
- Deserialization (CWE-502): Python
pickle yaml.load(!safe) marshal, Java `readObject
XMLDecoder, PHP unserialize, Ruby Marshal.load YAML.load, .NET BinaryFormatter`.
- File/path (CWE-22):
open read include require fopen readFile sendFilewith user paths;
archive extractors (zip-slip).
- SSRF (CWE-918): URL fetchers — `requests.get urllib curl file_get_contents http.get
HttpClient` taking a user URL.
- Template (SSTI):
render_template_string, Twig/Freemarker string templates. - Secrets:
password= api_key= secret token=literals; private keys.
Method
rg -n "os\.system|subprocess|shell_exec|eval\(|unserialize|pickle\.loads|readObject|render_template_string" then for each hit trace the argument. Pair with semgrep --config auto for dataflow.
Gotchas
- Parameterized queries / allowlisted args = safe; confirm the source, don't report the grep hit.
yaml.safe_loadand framework-escaped ORMs are the safe variants — note which one is used.
References
OWASP Code Review Guide; GTFOBins (for the exec side); Semgrep registry.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/code-review/code-review-dangerous-sinks/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/noorqureshi/security-skills/code-review-dangerous-sinks)