sc-ssti

Detect server-side template injection across multiple template engines.

7|Updated Apr 9, 2026
One-click install
npx skills add https://github.com/fatihkan/badi --skill sc-ssti-fatihkan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sc-ssti
Source: https://github.com/fatihkan/badi/tree/main/.claude/skills/security-check/sc-ssti
Command: npx skills add https://github.com/fatihkan/badi --skill sc-ssti-fatihkan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

SSTI vulnerabilities allow attackers to execute code by injecting user input into template strings. This Skill provides detection across major template engines to help you identify and remediate these risks before deployment.

Core Features & Use Cases

  • Cross-engine SSTI detection across Jinja2, Twig, Freemarker, Velocity, Pug, Handlebars, ERB, Mako, Thymeleaf, and Go templates.
  • Phase-based verification including discovery with file and keyword pattern searches and a verification phase demonstrating risky payloads.
  • Guided remediation with actionable recommendations and a template for safe coding practices.
  • Use Case: A web application using multiple templates can be evaluated to surface potential injection points across Python, Java, Ruby, and Go services.

Quick Start

Run the SSTI detector against your templates to surface potential injection points across engines.

Frequently Asked Questions about sc-ssti

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect server-side template injection vulnerabilities in my web application?

Detect server-side template injection by scanning source files, templates, and rendering paths to identify unsafe user input embedded across major template engines. The analysis enforces discovery rules, semantic checks, and PoC payload evaluation to surface risky patterns before deployment.

Can I scan for SSTI vulnerabilities across multiple template engines like Jinja2 and Twig?

Yes, you can scan for SSTI across Jinja2, Twig, Freemarker, Velocity, Pug, Handlebars, ERB, Mako, Thymeleaf, and Go templates. The detection process evaluates rendering paths and verifies potential injection points using targeted PoC payloads across these engines.

How does template injection verification work to confirm an actual code execution risk?

Template injection verification works through a phase-based process that combines file pattern scanning, semantic checks on rendering paths, and PoC payload evaluation. This confirms whether unsafe user input embedded in template strings can be executed by the engine.

What is the best way to remediate unsafe user input in template rendering paths?

The best way to remediate unsafe user input in template rendering paths is to apply guided remediation recommendations and adopt safe coding templates. This involves isolating user input from template code and implementing strict rendering rules across your template engines.

Does SSTI detection work for polyglot applications using Python, Java, and Ruby services?

Yes, SSTI detection works for polyglot applications by analyzing template code across Python (Jinja2), Java (Freemarker/Velocity), Ruby (ERB), Go, Node.js, and PHP (Twig) services. It surfaces injection points across multiple template ecosystems simultaneously.

Why does my template engine execute injected user input as application code?

Template engines execute injected user input as code when unsafe data is directly embedded into template strings before rendering. This server-side template injection vulnerability allows attackers to manipulate template logic and perform unauthorized code execution.