CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

contracts-governance-attack

DAO governance attack — flash-loan-backed vote manipulation, delegation hijack, quorum dilution, proposal-spam DoS, time-lock bypass via emergency multisig, snapshot vs. on-chain vote desync, Compound/Aave/Uniswap-style GovernorBravo abuse.

Quality

76%

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/governance-attack/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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 tight, domain-expert catalog of DAO governance attack classes with genuinely useful concrete recon commands and a defense/bypass decision table. It falls short on workflow clarity — the material is presented as a catalog rather than a sequenced attack methodology with validation checkpoints — and a few attack classes remain illustrative sketches rather than executable guidance.

Suggestions

Add an explicit ordered workflow with checkpoints, e.g. 1. Run recon commands to fingerprint the governor; 2. Match defenses against the bypass table; 3. Simulate the chosen attack on a fork (forge test --fork-url); 4. Only report an attack as viable after the simulation confirms it.

Flesh out the comment-only attack classes (quorum dilution, delegation hijack, proposal spam) with the same level of concrete detail as the flash-loan-vote class, or move them to a reference file.

Replace vague reference titles with concrete links or citations (post-mortem URLs, audit report locations) so the References section is actionable.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — it never explains what a DAO, flash loan, or GovernorBravo is, and every attack class gets a tight explanation plus a snippet. Score 4 rather than 5 because a few tokens could be trimmed: the "References" section lists vague unlinked titles ("Devcon Bogota talks on governance security") that add little actionable value.

4 / 5

Actionability

The Recon section provides concrete copy-paste commands (cast call for votingPeriod/quorum/proposalThreshold, cast logs with the ProposalCreated event signature, forge test on a fork) and the checklist gives verifiable checks ("Does getVotes(address, blockNumber) reference a past snapshot?", "timelock.executor()"). Score 4 not 5 because several attack classes are comment-only sketches — quorum dilution is entirely comments and delegation hijack is a single call with undefined context.

4 / 5

Workflow Clarity

The body is organized as a reference catalog (attack classes, recon commands, defense/bypass table) rather than a sequenced workflow. There is no explicit order (recon → match defenses to bypasses → simulate on fork → report) and no validation checkpoints such as verifying a simulated attack actually flips a proposal before claiming exploitability. Matches the 3 anchor ("Steps listed but validation gaps; sequence present but checkpoints missing or implicit").

3 / 5

Progressive Disclosure

Well-organized single-file skill with clear section headers; no bundle files exist, and at ~110 lines the inlined content is mostly appropriately placed. Score 4 not 5 because the seven attack classes plus recon could be split into reference files for progressive disclosure, and the "References" section points to external material without URLs or clearly signaled navigation.

4 / 5

Total

15

/

20

Passed

Description

75%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, domain-rich description that clearly communicates what the skill covers with minimal conflict risk. Its main weakness is the missing explicit "Use when..." trigger clause inside the description itself, which caps completeness; the trigger guidance is relegated to a separate metadata field.

Suggestions

Append an explicit trigger clause to the description, e.g. "Use when auditing or attacking DAO governance (Compound/Aave/Uniswap-style GovernorBravo, timelocks, Snapshot voting), or when the user mentions governance attacks, flash-loan votes, or quorum manipulation."

Add a few natural user phrasings as triggers — "treasury drain", "vote buying", "governor" — to complement the protocol-specific jargon.

Consider folding the metadata.when_to_use keyword list into the description so the evaluated field is self-contained.

DimensionReasoningScore

Specificity

The description lists seven concrete, named attack actions — "flash-loan-backed vote manipulation, delegation hijack, quorum dilution, proposal-spam DoS, time-lock bypass via emergency multisig, snapshot vs. on-chain vote desync" — giving comprehensive coverage of the domain. It clearly matches the 5 anchor ("Lists multiple specific concrete actions; comprehensive coverage") rather than 4, since no meaningful attack class is missing.

5 / 5

Completeness

The "what" is clear and concrete (the enumerated attack vectors), but there is no "Use when..." clause or equivalent explicit trigger guidance in the description field — trigger terms live only in metadata.when_to_use, outside the evaluated text, which caps completeness at 3 per the judging guidelines. "Compound/Aave/Uniswap-style" only weakly implies the "when".

3 / 5

Trigger Term Quality

Strong domain keywords a practitioner would naturally say — "DAO governance attack", "flash-loan", "quorum", "multisig", "snapshot", plus protocol synonyms ("Compound/Aave/Uniswap", "GovernorBravo"). Not 5 because some natural phrases are missing (e.g. "treasury drain", "vote buying", "governor") that a user might use when invoking this skill.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche (DAO governance exploits against specific protocols and mechanisms) with distinct triggers, so it is unlikely to fire for unrelated skills. Matches the 5 anchor ("Clear niche with distinct triggers; minimal conflict risk").

5 / 5

Total

17

/

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/governance-attack/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.