CtrlK
BlogDocsLog inGet started
Tessl Logo

hunt-html-injection

Hunt HTML Injection — user-supplied input is rendered as raw HTML in the response without sanitisation, allowing an attacker to inject arbitrary HTML tags (but not necessarily JavaScript). Lower severity than XSS but enables phishing, UI manipulation, and credential harvesting via injected forms. Use when testing text-display surfaces (search results, profile fields, comments, error messages, feedback forms). For markup that executes JavaScript, escalate to hunt-xss.

68

Quality

81%

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

72%

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

The body is actionable and well-organized with concrete payloads and a clear proof criterion, but it spends tokens explaining a familiar concept and repeats the proof/encoding point, and the testing flow is presented as patterns rather than a sequenced, checkpointed workflow.

Suggestions

Collapse the 'What is HTML Injection' explanation and remove the duplicated proof/encoding criterion from the 'What is', 'Proof', and 'Distinguishing' sections — state the literal-`<`-vs-`&lt;` proof once.

Reformat 'Autonomous Testing Priority' as a short numbered sequence (inject canary tag → check response for unescaped `<` → if filtered, try fallback tags → if it works, escalate to `<script>`) with the proof step as an explicit validation checkpoint.

Lead with the autonomous testing procedure before the conceptual 'What is HTML Injection' background so the operative guidance comes first.

DimensionReasoningScore

Conciseness

Mostly efficient, but the 'What is HTML Injection' section restates a concept Claude largely already knows, and the proof/encoding criterion (literal '<' vs '&lt;') is repeated across three sections and could be tightened.

2 / 3

Actionability

It provides concrete, executable payloads (`<b>CANARY</b>`, `"><img src=x onerror=alert(91234)>`, `<a href="https://attacker.com">click</a>`) with an explicit proof criterion; the CANARY placeholder is a justified, intentional flexibility.

3 / 3

Workflow Clarity

The inject → verify → fallback → escalate flow and a proof criterion are present, but the guidance is laid out as labelled patterns rather than a sequenced workflow with explicit validation checkpoints and feedback loops.

2 / 3

Progressive Disclosure

A single self-contained file (under 60 lines) with no external bundle references and well-organized sections; per the simple-skill guidance this organization earns the top score without separate files.

3 / 3

Total

10

/

12

Passed

Description

90%

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, well-scoped description that states what the skill does, when to use it, and how it differs from XSS. Its only weakness is that the capability is expressed as a single hunt verb rather than a catalogue of concrete actions.

DimensionReasoningScore

Specificity

It names the domain and a concrete action ('Hunt HTML Injection') with specific impact vectors and test surfaces, but the core action is a single verb rather than a list of multiple distinct concrete actions.

2 / 3

Completeness

It clearly answers both 'what' ('user-supplied input is rendered as raw HTML in the response without sanitisation') and 'when' via the explicit 'Use when testing text-display surfaces (...)' trigger clause.

3 / 3

Trigger Term Quality

It includes natural terms a user would say — 'HTML injection', 'search results', 'profile fields', 'comments', 'error messages', 'feedback forms', and 'XSS' — with good coverage of common variations.

3 / 3

Distinctiveness Conflict Risk

It carves a clear niche (arbitrary HTML tags 'but not necessarily JavaScript') and explicitly de-conflicts with the sibling skill via 'For markup that executes JavaScript, escalate to hunt-xss.'

3 / 3

Total

11

/

12

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
elementalsouls/Claude-BugHunter
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.