CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/malicious-payload-bank

Use when writing negative tests for input validation, fuzz targets or security tests that need real attack strings: SQL injection, XSS, SSRF, path traversal, command injection, XXE, prototype pollution, ReDoS, Unicode confusables and header injection, with which payloads fit each input context.

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

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

A highly actionable, well-organized payload catalog with concrete copy-paste attack strings, a useful context-to-class mapping, and thoughtful anti-pattern guidance. Its weaknesses are structural rather than substantive: everything lives inline in SKILL.md, and a few sections (mitigation table, terminology note) teach Claude things it already knows.

Suggestions

Move per-class payload listings into one-level-deep reference files (e.g., references/sqli.md, references/xss.md) and keep SKILL.md as a lean overview with the context-selection table and clearly signaled pointers, reducing context-window cost per invocation.

Trim or compress the defensive-guidance mitigation table and the OWASP/CWE terminology note — Claude already knows these standard mitigations, so they add tokens without adding capability.

Make the fuzz-target example fully executable (import hypothesis, define SQLI_PAYLOADS) and add an explicit 3-step usage sequence (identify context, select classes from the table, assert rejected-or-escaped) so the workflow reads as an ordered checklist.

DimensionReasoningScore

Conciseness

The body is dense and table-driven with payloads, a context-selection matrix, and anti-patterns earning their tokens. However, the defensive-guidance table (parameterized queries, output encoding, 'Disable DTD processing', 'Strip \r\n from header values') and the OWASP/CWE terminology note restate mitigations Claude already knows, matching level 4's 'minor instances of over-explanation that could be trimmed' rather than level 5's every-token-earns-its-place.

4 / 5

Actionability

Payload blocks are copy-paste ready, the per-context table directly drives payload selection, and the pytest negative-test example is complete and executable. The fuzz-target example has minor gaps (no hypothesis import, undefined SQLI_PAYLOADS and post_comment helpers), placing it at level 4 rather than level 5's fully copy-paste-ready coverage.

4 / 5

Workflow Clarity

The usage flow (identify input context, select payload classes via the table, write a test asserting rejected-or-escaped) is clear but assembled implicitly across sections rather than sequenced; the anti-patterns table supplies the key validation checkpoint ('Always assert: payload is rejected OR rendered escaped'). This is a reference-catalog skill, not a destructive/batch workflow, so the level-3 cap does not apply; level 5 would require an explicit ordered sequence with checkpoints.

4 / 5

Progressive Disclosure

The single file is well-sectioned with per-class headers, tables, and a references list, but a ~250-line catalog inlining all payload classes, test patterns, anti-patterns, and mitigations is content that could be split into one-level-deep reference files behind a lean overview. No bundle files exist, and the body contains no well-signaled internal file pointers, matching level 3's 'content that should be separate is inline' rather than level 4's 'most content is appropriately placed'.

3 / 5

Total

15

/

20

Passed

Description

87%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 strong description: highly specific, dense with natural trigger terms, and explicitly scoped to defensive testing contexts. The main improvement is making the 'what' (a curated payload catalog with per-context selection guidance) an explicit statement alongside the 'Use when' clause, and sharpening the boundary against sibling negative-test/security skills.

DimensionReasoningScore

Specificity

Enumerates ten concrete payload classes ("SQL injection, XSS, SSRF, path traversal, command injection, XXE, prototype pollution, ReDoS, Unicode confusables and header injection") plus concrete capabilities ("real attack strings", "which payloads fit each input context"). This matches the comprehensive-coverage anchor; level 4 would imply gaps in the list of concrete actions, which are not present.

5 / 5

Completeness

The 'when' is explicit ("Use when writing negative tests for input validation, fuzz targets or security tests") and the 'what' (supplying real attack strings with per-context fit) is present but embedded inside the trigger clause rather than stated as a standalone capability (e.g., 'Provides a catalog of...'). This is the level-4 fit: both present, one could be more explicit; level 5 requires an equally explicit what-statement.

4 / 5

Trigger Term Quality

Natural user phrasing is well covered: "negative tests", "fuzz targets", "security tests", "input validation", "attack strings", "payloads", and the plain attack-class names users would say (SQL injection, XSS, ReDoS). No common synonyms or domain equivalents are missing, so it sits at the comprehensive anchor rather than level 4's 'a few natural terms missing'.

5 / 5

Distinctiveness Conflict Risk

The "need real attack strings" qualifier and the enumerated payload classes carve a distinct niche, but "writing negative tests for input validation" overlaps the sibling `negative-test-generator` skill and general security-test skills. Minor overlap risk with closely related skills is the level-4 anchor; level 5's 'minimal conflict risk' is not quite met.

4 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

On this page