← All skills
injection-flaws
79 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a coding skill usually runs build and test commands.
By jiayaoqijia/cryptoskill (GitHub) · coding · 81 stars · scanned at commit 0dc9f60
Detects injection vulnerabilities in code — SQL/NoSQL injection (including NoSQL operator injection), OS command injection, cross-site scripting (XSS), path traversal, SSRF, insecure deserialization, template injection (SSTI), XXE, prototype pollution, ReDoS, open redirect, and unsafe file upload handling. Covers Node/JS, Python, Java, Go, PHP, Ruby, C# with per-language grep patterns and context-review rules. Use when auditing input handling, query construction, file operations, subprocess cal…
Works with any agent that supports SKILL.md skills.
Partially scanned — some files couldn't be read; we'll retry on the next scan
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 24 places.
Show 17 more
- skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 43
rg -n "(query|execute)\(\s*\w+\s*\+" -g '*.js' -g '*.ts' - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 48
rg -n "(find|findOne|findOneAndUpdate|updateOne|deleteOne|aggregate)\(\s*\{\s*\.\.\.(req|ctx|event)\.|\{\s*\.\.\.(body|query|params)|find(One)?\(\s*\{[^}]*req\. - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 54
rg -n "os\.system|subprocess\.(call|run|Popen)\(.*shell\s*=\s*True|child_process\.(exec|execSync)|spawn\([^)]*shell:\s*true|Runtime\.getRuntime\(\)\.exec|system - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 61
rg -n -i "\b(system|exec|passthru|shell_exec|proc_open|popen)\s*\(" -g '*.php' - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 64
`exec("ls " + filename)` = classic. Safe: `execFile(cmd, [args])`, `subprocess.run([cmd, arg])` without `shell=True`. **`spawn(cmd, [args], { shell: true })` is - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 68
rg -n "innerHTML|insertAdjacentHTML|outerHTML\s*=|createContextualFragment|document\.write|v-html|dangerouslySetInnerHTML|\.html\(|render_template_string|autoes - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 89
rg -n "open\(|readFile|writeFile|sendFile|send_file|File\(|Path\.Combine|require\(.*\+|include\(.*\$|fopen\(" - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 95
rg -n "requests\.get\(|axios\.(get|post)|fetch\(|urllib\.request|HttpClient|curl_exec|http\.Get\(" - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 101
rg -n "(webhook|callback|notify|hook)[_a-z]*(url|uri|endpoint)" -g '*.js' -g '*.ts' -g '*.py' -g '*.java' -g '*.rb' -g '*.php' - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 111
rg -n "http_tokens|metadata_options|hop_limit" -g '*.tf' -g '*.yaml' -g '*.json' - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 117
rg -n "pickle\.loads?|yaml\.load\((?!.*Loader=)|marshal\.loads|ObjectInputStream|readObject|unserialize\(|eval\(|exec\(|new Function\(|Function\(" - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 123
rg -n "setHeader\(|addHeader\(|res\.set\(|header\(\s*['\"]Location|redirect\(.*\+\s*req|Location.*\+ *request" - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 131
rg -n "(normalize|NFC|NFD|NFKC)" -g '*.js' -g '*.py' | head # absent = check comparisons manually - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 142
rg -n "render_template_string|Template\(.*\+|Jinja2\(.*from_string|erb\.new\(.*\+|Mustache\.render\(.*\+|StringTemplate|do_shortcode\s*\(" - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 148
rg -n "(__proto__|constructor\s*[\[.:]|\.prototype\s*\[)" - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 152
Any recursive merge / `_.set` / `Object.assign` that copies user-controlled **keys** into existing objects lets `__proto__`/`constructor.prototype` overwrite bu - skills/chains/ashrafiucse-injection-flaws/SKILL.md, line 156
rg -n "DocumentBuilderFactory|SAXParserFactory|XMLInputFactory|XMLReader" # Java — check hardening
and 4 more places
Connects to the internet
This is disclosed by the author in the skill's SKILL.md or README.
Found in 2 places.
Downloads and installs other software
The author does not mention this.
Found in 1 place.
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'injection-flaws' ] || [ -L ~/.agents/skills/'injection-flaws' ]; then echo 'A skill folder named injection-flaws already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/jiayaoqijia/cryptoskill' "$d" && git -C "$d" checkout --quiet '0dc9f60ab1f3fcae24da49c4cef09c46c589f903' -- 'skills/chains/ashrafiucse-injection-flaws' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/chains/ashrafiucse-injection-flaws' ~/.agents/skills/'injection-flaws' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'injection-flaws' ~/.claude/skills/'injection-flaws' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for jiayaoqijia/cryptoskill shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/jiayaoqijia/cryptoskill/)
Score history
| Date | Version | Score |
|---|
| 2026-11-13 | 0dc9f60 | 79 |
| 2026-11-09 | edd8f75 | 100 |
| 2026-11-07 | 36a85d8 | 100 |