CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

html-smuggling-lure

HTML smuggling payloads for initial access — embed base64-encoded binaries inside an HTML attachment that reconstructs and auto-downloads the file client-side via JavaScript Blob, bypassing email gateway and proxy file-type inspection.

Quality

78%

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/phisher/html-smuggling-lure/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 well-organized, highly actionable single-file skill with executable code, thoughtful branching (Decision Gate), and strong failure-mode coverage. Its weaknesses are the missing pre-delivery validation step in the workflow and the absence of any bundle structure despite referencing unbundled script files.

Suggestions

Add an explicit validation checkpoint before campaign delivery — e.g., open the generated HTML in a browser (or send a controlled test email) and confirm the blob download triggers before sending to targets; per the rubric, batch delivery without validation caps workflow clarity.

Move the Python generator into a bundled scripts/ file with a real argparse CLI (--payload, --filename, --mimetype, --output) so the Quick Reference command 'python3 /workspace/gen_smuggle.py ...' matches an actual bundled script instead of an inline snippet with a different signature.

Number the core workflow steps (encode payload → generate page → validate locally → deliver via GoPhish → record evidence) so the sequence is explicit rather than implied by section order, and trim the opening mechanism paragraph that re-explains HTML smuggling and recites threat actors Claude already knows.

DimensionReasoningScore

Conciseness

The body is dense operational content (bypass table with MOTW/Win11 22H2 specifics, OPSEC, decision gate, detection signatures), but the opening paragraph re-explains the HTML smuggling mechanism ('HTML smuggling abuses the browser's ability to construct files from JavaScript') and cites Nobelium/Qakbot/IcedID — concepts Claude already knows — partially duplicating the description. Confined to one short paragraph, so above anchor 3 but not the lean anchor 5.

4 / 5

Actionability

Nearly everything is copy-paste executable: a complete HTML smuggling template, a complete Python generator, concrete base64/curl commands with real paths and full GoPhish JSON. Not a 5 because the Quick Reference command 'python3 /workspace/gen_smuggle.py --payload ... --mimetype ... --output' does not match the provided generator, which has no CLI and no mimetype parameter, and 'smuggle_template.json' is referenced before its content exists. Far above anchor 3's pseudocode/missing-details level.

4 / 5

Workflow Clarity

The sequence (prerequisites → encode → generate → deliver → evidence) is present but implicit, and there is no validation checkpoint before batch delivery — no 'test-open the HTML' or controlled test-email step, only an implicit hint ('Test in Edge (corporate default)') in OPSEC. Per the rubric's cap, a batch operation (campaign delivery) without validation cannot score above 3 despite the useful Decision Gate and Error Handling sections. Not a 2: steps, branching, and failure handling are present.

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/) and the skill is a ~290-line single file. The ~60-line Python generator clearly belongs in a scripts/ file — the body itself references it as a standalone path ('/workspace/gen_smuggle.py') that is not bundled. Section headers and cross-references (§3a/§3c, Decision Gate) are well signaled, keeping it above anchor 2, but inlined script content and a referenced-but-missing script file hold it below anchor 4.

3 / 5

Total

14

/

20

Passed

Description

83%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: specific, third-person, mechanically comprehensive, and clearly niche. Its only gaps are the absence of an explicit 'Use when...' clause and file-extension/synonym trigger terms inside the description field itself.

Suggestions

Add an explicit 'Use when...' clause to the description (e.g., 'Use when building phishing lures or delivering initial-access payloads as HTML email attachments') rather than relying on the separate metadata.when_to_use field.

Fold key trigger terms from metadata.when_to_use into the description itself — file extensions (.iso, .zip, .msi) and synonyms like 'phishing lure' — so the description field alone carries comprehensive trigger coverage.

DimensionReasoningScore

Specificity

Multiple concrete actions in third person: 'embed base64-encoded binaries inside an HTML attachment that reconstructs and auto-downloads the file client-side via JavaScript Blob, bypassing email gateway and proxy file-type inspection.' Coverage spans the full mechanism end to end (embed, reconstruct, download, bypass), matching anchor 5 rather than anchor 4's 'several actions with gaps.'

5 / 5

Completeness

The 'what' is explicit and concrete, and the 'when' is stated as purpose ('for initial access', 'bypassing email gateway and proxy file-type inspection') rather than weakly implied, fitting anchor 4. Not anchor 5: there is no explicit 'Use when...' trigger clause with concrete trigger phrases; the trigger guidance lives in a separate metadata field.

4 / 5

Trigger Term Quality

Good natural keywords for the audience: 'HTML smuggling', 'base64', 'JavaScript Blob', 'HTML attachment', 'email gateway', 'proxy', 'initial access'. A few natural terms are missing from the description itself — file extensions (.iso/.zip/.msi) and synonyms like 'phishing'/'lure' only appear in metadata.when_to_use, not the description field — so it falls short of anchor 5's comprehensive synonym/extension coverage but sits above anchor 3.

4 / 5

Distinctiveness Conflict Risk

'HTML smuggling payloads for initial access' names a uniquely specific technique with distinct triggers (blob, base64 email attachment, gateway bypass); minimal overlap with any other skill's trigger surface.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/phisher/html-smuggling-lure/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.