CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

web-cache-poisoning

Unkeyed-input cache poisoning — X-Forwarded-Host/Scheme/Port, X-Original-URL, fat-GET, parameter cloaking, oversized-header DoS, and chains to stored-XSS / open redirect via shared caches.

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

96%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.

An exceptionally strong, dense playbook: executable detection and exploitation commands, a technique matrix, explicit validation checkpoints, and an OPSEC/decision gate that gates live exploitation on defender notification. The only structural flaw is the dangling 'finding-protocol' reference, which points outside the skill to an undefined target.

Suggestions

Resolve the 'finding-protocol' reference — either point to a real file in the bundle (e.g., references/finding-protocol.md) or inline the escalation/downgrade instructions so the final workflow step is self-contained.

Consider adding a fat-GET and X-Original-URL routing-override PoC alongside the three existing ones, since both are called out as significant techniques in the matrix but lack executable examples.

DimensionReasoningScore

Conciseness

Lean playbook with zero padding: the only background material (the unkeyed-input definition and the cache-poisoning vs cache-deception disambiguation) is domain-specific and load-bearing, not concepts Claude already knows. Every section (detection, matrix, PoCs, chains, tools, OPSEC, gate) earns its tokens.

5 / 5

Actionability

Fully executable bash: cache-status fingerprinting, a header-permutation loop with reflection greps, a three-step poisoning-confirmation procedure, and copy-paste PoCs for stored-XSS, forced redirect, and param cloaking. The '<TARGET>' placeholder is the standard template pattern for an authorized-target security skill, and the examples cover the common cases.

5 / 5

Workflow Clarity

Clear numbered sequence (detect → confirm → exploit → chains → tools → OPSEC) with explicit validation at each stage: the second-request-without-header confirmation, cache-HIT verification in each PoC, and a Decision Gate checklist requiring defender notification before live-cache exploitation. The destructive/batch cap does not apply because validation checkpoints are present.

5 / 5

Progressive Disclosure

Well-organized sections with content appropriately sized for a single-file skill (no bundle files exist, none needed). However, the closing gate says 'escalate per finding-protocol', a reference that does not exist in this bundle — no references/, scripts/, or sibling file resolves it — leaving navigation dangling at the final step.

4 / 5

Total

19

/

20

Passed

Description

70%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.

A distinctive, technique-dense description that clearly names the domain and specific attack classes, but it reads as a topic enumeration rather than an action statement and entirely lacks a 'when to use' trigger clause. The natural keyword 'cache poisoning' is present, though several common variations (CDN, web cache) are absent.

Suggestions

Add an explicit 'Use when...' clause (e.g., 'Use when testing authorized targets for web cache poisoning, CDN cache-key flaws, or unkeyed header reflection') to raise completeness.

Include common natural variations users would say — 'CDN', 'web cache', 'cache key', 'cache deception' (as a contrast) — alongside the existing header-based jargon.

Reframe the technique list with action verbs (e.g., 'Detect unkeyed inputs, confirm poisoning, and build PoCs for stored-XSS and forced redirects') so the description states what the skill does, not just what it covers.

DimensionReasoningScore

Specificity

Enumerates six-plus concrete technique names ('X-Forwarded-Host/Scheme/Port, X-Original-URL, fat-GET, parameter cloaking, oversized-header DoS, and chains to stored-XSS / open redirect'), but they are noun phrases without action verbs describing what the skill does. Above anchor 3 (only 1-2 concrete actions); short of anchor 5's comprehensive action list.

4 / 5

Completeness

Has a clear 'what' (the technique enumeration) but no 'Use when...' clause or equivalent explicit trigger guidance in the description field. Per judging guidelines, a missing 'Use when...' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Includes natural phrases a user would say ('cache poisoning', 'stored-XSS', 'open redirect', 'DoS') alongside the header names. However 'unkeyed-input', 'fat-GET', and 'parameter cloaking' are jargon-heavy, and common variations like 'CDN', 'web cache', or 'cache key' are missing.

4 / 5

Distinctiveness Conflict Risk

Clear niche (unkeyed-input cache poisoning via shared caches) with distinct, specific triggers; the body even explicitly disambiguates it from cache deception. Minimal conflict risk with other skills.

5 / 5

Total

16

/

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/exploit/web/web-cache-poisoning/SKILL.md

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.