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

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is a compact, actionable playbook with concrete probes and a clear escalation-plus-validation sequence; its main gap is the absence of a full executable exploit example and an explicit validate-fix-retry loop.

Suggestions

Add one complete copy-paste-ready escalation example (e.g., a Jinja2 gadget chain reaching command execution) to push actionability to 5.

Make the validation step an explicit feedback loop (validate -> if false, adjust payload and re-test) to strengthen workflow clarity.

Specify what a 'benign negative control' looks like concretely so the validation guidance is fully executable.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — terse high-signal checks, copy-paste probes, and a numbered escalation path with no concept padding, fitting the lean-and-efficient anchor.

5 / 5

Actionability

Provides concrete, copy-paste-ready probes ({{7*7}}, ${7*7}, #set($x=7*7)$x) and named sinks (render_template_string, twig->createTemplate), but lacks a complete executable exploit chain and the validation guidance stays somewhat abstract.

4 / 5

Workflow Clarity

The escalation path is a clear four-step sequence culminating in an explicit validation checkpoint (validate_finding with a positive signal and benign negative control), though it lacks an explicit error-recovery feedback loop.

4 / 5

Progressive Disclosure

Under 50 lines with no external references needed and well-organized sections (High-signal checks, Fast probes, Escalation path, Validation), meeting the simple-skill exception for a top progressive-disclosure score.

5 / 5

Total

18

/

20

Passed

Description

65%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and distinctive with strong engine-level trigger terms, but it omits an explicit 'Use when...' trigger clause and the SSTI acronym, leaving it short of a top score on completeness and trigger quality.

Suggestions

Add an explicit trigger clause such as 'Use when testing web inputs for server-side template injection (SSTI) in Jinja2, Twig, Freemarker, Velocity, or Handlebars templates.'

Include the 'SSTI' acronym and common synonyms ('template injection', 'Jinja', 'Twig') to broaden natural-keyword coverage.

Optionally mention an additional concrete action (e.g., 'enumerate template objects and filters') to lift specificity above 3.

DimensionReasoningScore

Specificity

Names the domain and two concrete actions ('Hunt server-side template injection', 'validate progression from expression injection to code execution') but does not enumerate additional actions, matching the 1-2 concrete actions anchor rather than the several-actions anchor at 4.

3 / 5

Completeness

Has a clear 'what' (hunt and validate SSTI progression) but no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Good coverage of natural terms ('server-side template injection', 'expression injection', 'code execution') plus five engine names, but the common acronym 'SSTI' itself is absent from the description and a few synonyms are missing.

4 / 5

Distinctiveness Conflict Risk

A clear niche (server-side template injection across named engines) with distinct triggers and minimal overlap with other skills, fitting the clear-niche anchor.

5 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
PurpleAILAB/Decepticon
Reviewed

Table of Contents

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.