CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

contracts-bridge-exploit

Cross-chain bridge attack — message-validation bypass (Wormhole class), validator key compromise (Ronin / Harmony class), reentrancy on token-bridge claim, Merkle-proof forgery on optimistic bridges, signature replay across chains. Bridges have lost >$2B; understand why.

Quality

80%

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/contracts/bridge-exploit/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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-crafted, information-dense reference: real exploit post-mortems distilled into pattern-level lessons, a concrete audit checklist, and runnable tooling commands, with explicit OPSEC gating for a destructive-capability domain. The remaining gaps are small — incomplete code snippets, a non-linked references section, and no explicit end-to-end audit sequence with finding-verification steps.

Suggestions

Complete the Solidity snippets (replace ecdsa/hash ellipses with compilable vulnerable-vs-fixed pairs) or explicitly label them as illustrative vulnerability patterns so the actionability gap is closed by design.

Add URLs (or local reference files) to the References section — 'Rekt.news', 'Trail of Bits Cross-Chain Bridge Architecture' are currently unresolvable names.

Promote the checklist into an explicit ordered workflow (1. identify bridge type from the taxonomy, 2. run the 8 checklist items, 3. verify each suspicion on a private fork with the Foundry/Echidna tooling) with a confirm-findings step.

DimensionReasoningScore

Conciseness

The body is lean and dense: the framing is one distilled line ('Bridges hold large pooled assets and execute messages from a separate trust layer. Architecturally fragile.'), each attack class is 2-3 sentences plus minimal code, and the checklist items are single lines. It never explains concepts Claude already knows, and the historical dates/dollar figures are stable facts rather than stale-prone version info — matching the 'every token earns its place' anchor with nothing to trim.

5 / 5

Actionability

Concrete, executable commands are present (forge test --fork-url $RPC --match-contract Bridge --fork-block-number 17000000, slither <project>, echidna-test test/Bridge.t.sol --config echidna.yaml) alongside an 8-item checklist of specific verifiable checks ('nonce-used mapping written BEFORE external token call'). However, the Solidity snippets contain ellipses (ecrecover(hash, ...) == validator) making them illustrative patterns rather than copy-paste-ready code, and the References section lacks URLs — minor gaps that keep it at 'mostly executable' rather than fully executable.

4 / 5

Workflow Clarity

The document reads as a coherent methodology (taxonomy → attack classes → audit checklist → tooling → OPSEC/disclosure) and explicitly gates the destructive domain ('Never test against live bridges without explicit ownership/written authorization'; 'read the Immunefi scope, then test on a private fork'), so the destructive-operation cap does not apply. Minor gaps remain: there is no explicit ordered audit workflow (e.g., fork → run checklist → verify with tooling) and no feedback loop for confirming a suspected finding — matching 'clear sequence with most checkpoints present; minor validation gaps' rather than the explicit-validation anchor.

4 / 5

Progressive Disclosure

The skill is a single self-contained ~115-line file with well-organized, clearly headed sections and no bundle files, so all content is appropriately inlined. The under-50-lines full-credit exception does not apply, and the References section lists external resources by name ('Rekt.news', 'Trail of Bits deep dive') without URLs or file paths, which — along with the moderate length — constitutes the minor organization gaps of the 'good structure' anchor rather than the clear-navigable-references anchor.

4 / 5

Total

17

/

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 strong, highly specific description that names concrete attack classes with real-world exploit anchors, giving it excellent distinctiveness for the bridge-security niche. Its main weakness is the complete absence of a 'Use when...' trigger clause, which caps completeness, and trigger synonyms are relegated to metadata rather than the description text.

Suggestions

Append an explicit trigger clause to the description, e.g. 'Use when auditing or attacking cross-chain bridges, or when the user mentions Wormhole, Ronin, Nomad, LayerZero, or bridge validators/relayers.'

Fold a few natural trigger synonyms from metadata.when_to_use (multichain, relayer, LayerZero, Axelar) into the description itself so it matches how users actually phrase bridge-security requests.

Drop the '>\$2B; understand why' hook or rephrase it as trigger guidance — it adds motivation but not navigational value for skill selection.

DimensionReasoningScore

Specificity

The description enumerates five concrete, named attack techniques — 'message-validation bypass (Wormhole class)', 'validator key compromise (Ronin / Harmony class)', 'reentrancy on token-bridge claim', 'Merkle-proof forgery on optimistic bridges', 'signature replay across chains' — comprehensively covering the cross-chain bridge attack domain with no vague language. It matches the anchor for multiple specific concrete actions with comprehensive coverage; nothing is generic or padded, so it is not the level below.

5 / 5

Completeness

The 'what' is clearly and explicitly answered (the five attack classes), but there is no 'Use when...' clause or equivalent trigger guidance — 'Bridges have lost >$2B; understand why' is motivational context, not a when-to-use trigger. Per the judging guideline, a missing 'Use when...' clause caps completeness at 3, so it cannot reach the both-what-and-when anchors.

3 / 5

Trigger Term Quality

Natural keywords like 'Cross-chain bridge attack', 'Wormhole', 'Ronin', 'Harmony', 'optimistic bridges', and 'signature replay' give good coverage of what a user would say, but common variations ('bridge audit', 'bridge hack', 'LayerZero', 'Axelar', 'relayer', 'multichain') appear only in metadata.when_to_use, not the description itself. This matches the 'good keyword coverage; a few natural terms missing' anchor rather than the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche (cross-chain bridge exploitation) anchored by named protocols (Wormhole, Ronin, Harmony, optimistic bridges), making wrong-skill triggering unlikely. However, 'reentrancy' and 'signature replay' also apply to general smart-contract exploit skills, creating minor overlap risk with closely related sibling skills — matching the 'mostly distinct; minor overlap risk' anchor rather than the minimal-conflict anchor.

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/contracts/bridge-exploit/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.