noorqureshi/security-skills/code-review-dangerous-sinks

Claude Code and agent skill by noorqureshi/security-skills

Trust tier 3
  • community
Source check pending

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-sinks

SKILL.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), Python exec pickle.loads, Node Function() 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 sendFile with 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_load and 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/noorqureshi/security-skills/code-review-dangerous-sinks/badge)](https://verified-skill.com/skills/noorqureshi/security-skills/code-review-dangerous-sinks)

Something wrong with this skill or its page? Tell us.