CtrlK
BlogDocsLog inGet started
Tessl Logo

ssti

Hunt server-side template injection across Jinja2/Twig/Freemarker/Velocity/Handlebars and validate progression from expression injection to code execution.

63

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/analyst/ssti/SKILL.md
SKILL.md
Quality
Evals
Security

SSTI Playbook

High-signal checks

  • Look for template rendering with user input in render_template_string, Template(...), twig->createTemplate, Freemarker Template.process.
  • Confirm user-controlled payload reaches a template context key or template source string.

Fast probes

  • Jinja2: {{7*7}}, {{config}}, {{request}}
  • Twig: {{7*7}}, {{_self}}
  • Freemarker: ${7*7}
  • Velocity: #set($x=7*7)$x

Escalation path

  1. Detect expression evaluation.
  2. Enumerate available objects and filters.
  3. Attempt file read / env leak.
  4. Attempt command execution via framework-specific gadget chain.

Validation

Use validate_finding with a positive execution signal and a benign negative control.

Repository
PurpleAILAB/Decepticon
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.