CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

csrf

Cross-Site Request Forgery — missing/invalid tokens, method override, JSON CSRF, SameSite gaps, double-submit flaws, login/logout CSRF, and CSRF-via-XSS chains to account takeover.

Quality

86%

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 operationally dense, well-structured offensive playbook: concrete detection probes, a thorough bypass matrix, working PoCs, and an explicit decision gate with validation. The only structural weakness is the dangling 'finding-protocol' reference and content that could be split into a one-level-deep reference.

DimensionReasoningScore

Conciseness

The body is lean and table/code-driven with zero padding: the one framing sentence ('Any state-changing endpoint... is forgeable') is a severity heuristic, not a lecture on what CSRF is. Every section adds non-obvious operational detail (bypass matrix, OPSEC notes) that assumes Claude's competence.

5 / 5

Actionability

Fully executable copy-paste-ready curl probes for five distinct token-validation checks, three complete exploit PoCs (auto-submit form, text/plain JSON CSRF, fetch-based CSRF-via-XSS), and concrete tool invocations ('xsrfprobe -u https://<TARGET>'). The '<TARGET>'/'<TOKEN>' placeholders are appropriate for a generic playbook and cover the common cases.

5 / 5

Workflow Clarity

Clear sequence (detect → bypass matrix → PoC → chains → tools) with explicit validation checkpoints: each probe has an interpretation rule ('HTTP 200/302 on (a)-(e) = protection missing or trivially bypassable') and the Decision Gate checklist with an escalation/downgrade feedback loop ('If all checked, escalate per finding-protocol; otherwise downgrade'). Not 4: validation and error-recovery branching are explicit, not just implied.

5 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and the single file is well-sectioned, so structure is good for a self-contained playbook. Two minor gaps keep it from 5: at ~124 lines, the bypass/misconfig matrix and tool sections are candidates for a one-level-deep reference file, and the 'escalate per finding-protocol' reference points to a protocol that is not present in this bundle, making that navigation pointer unresolvable.

4 / 5

Total

19

/

20

Passed

Description

71%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 highly specific, technically rich description that clearly names the domain and enumerates concrete attack classes. Its main gap is the absence of an explicit 'Use when...' trigger clause in the description itself, and a few natural synonym terms (XSRF) are missing.

Suggestions

Append an explicit trigger clause to the description, e.g., 'Use when auditing web apps for CSRF/XSRF, reviewing token validation, SameSite cookie config, or account-takeover chains.'

Include natural synonyms users would say — 'XSRF', 'anti-CSRF', 'cross-site request' — directly in the description rather than only in metadata.when_to_use.

Soften or scope the 'CSRF-via-XSS chains' mention (e.g., 'chains CSRF with XSS when found') to reduce overlap with a dedicated XSS skill.

DimensionReasoningScore

Specificity

The description enumerates concrete capabilities: "missing/invalid tokens, method override, JSON CSRF, SameSite gaps, double-submit flaws, login/logout CSRF, and CSRF-via-XSS chains to account takeover" — multiple specific, concrete items with comprehensive coverage of the CSRF domain. Not the level below (4): coverage here is comprehensive rather than having minor gaps.

5 / 5

Completeness

The "what" is explicit and detailed, but there is no "Use when..." clause or equivalent trigger guidance in the description — the "when" lives only in metadata.when_to_use, which the description itself does not state. Per the judging guidelines, a missing explicit 'Use when...' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Includes the primary natural terms "Cross-Site Request Forgery" and "CSRF" plus "token", "SameSite", "JSON CSRF" — good keyword coverage. A few natural variations users would say are missing from the description itself (e.g., "XSRF", "anti-CSRF", "session hijack" phrasing), so it falls between the 4 and 5 anchors, closer to 4.

4 / 5

Distinctiveness Conflict Risk

The CSRF niche is clear with distinct triggers (token validation, SameSite, double-submit), but "CSRF-via-XSS chains to account takeover" creates minor overlap risk with an XSS/account-takeover skill, matching the 'mostly distinct; minor overlap with closely related skills' anchor. Not 3: the core identity is unambiguous; not 5: the XSS-chain framing could pull a related security skill into contention.

4 / 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/csrf/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.