poc

Generates and validates Foundry PoC tests from smart contract attack scenario documents.

66|17|Updated Jan 21, 2026
One-click install
npx skills add https://github.com/BitterSecurity/Vigilo --skill poc-bittersecurity
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: poc
Source: https://github.com/BitterSecurity/Vigilo/tree/main/packages/claude/skills/poc
Command: npx skills add https://github.com/BitterSecurity/Vigilo --skill poc-bittersecurity

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Security auditors identify vulnerabilities in smart contracts but must manually convert written attack scenarios into executable proof-of-concept tests, then verify that the claimed impact actually occurs on-chain. This Skill automates that conversion and validation loop. ## Core Features & Use Cases - PoC Generation: Converts attack scenario documents from .vigilo/findings/ into Foundry test files at test/poc/{finding-id}.t.sol with structured setUp, exploit, and assertion phases. - Impact Validation: Runs forge test and maps scenario claims (vault drain, collateral loss, admin bypass) to concrete assertions, distinguishing a passing test from a proven vulnerability. - Bug Class Templates: Provides ready-made patterns for reentrancy, access control bypass, price manipulation, flash loan attacks, integer overflow, and first depositor attacks. - Use Case: During Audit Phase 3, for each High/Medium finding, invoke the Skill with the finding path to produce a validated PoC, a validation log in .vigilo/poc/, and an updated attack scenario if actual results differ from expectations. ## Quick Start Generate and validate a Foundry PoC test for the finding at .vigilo/findings/high/logic/H-01-donation-attack-inflated-collateral.md.

Frequently Asked Questions about poc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a Foundry PoC test for a smart contract vulnerability?▼

Structure the test with a setUp function reproducing the vulnerability preconditions, then a test_Exploit function that logs initial state, executes the attack steps in order, and asserts the claimed impact. Use forge-std Test with console2 logging and makeAddr for actor labels.

How to prove a smart contract exploit with forge test?▼

Run forge test --match-test with the exploit function name at -vvv verbosity, then verify the result maps to the claimed impact, such as assertGt for attacker profit or assertTrue for unauthorized role access. A passing test alone does not prove the vulnerability without impact assertions.

What bug classes does Foundry PoC generation support?▼

Templates cover reentrancy, access control bypass, price manipulation, flash loan attacks, integer overflow and underflow, and first depositor (ERC4626 inflation) attacks. Each template includes attacker contracts, cheatcode usage, and impact assertions.

Why does my Foundry PoC test fail with call reverted?▼

Call reverted errors usually come from missing permissions, incorrect state preconditions, or insufficient balance and allowance. Use vm.prank or vm.startPrank for the attacker, fund accounts with vm.deal or deal, and add console2 logging to trace state before the failing call.

What happens when PoC validation contradicts the attack scenario?▼

After three failed fix attempts, the attack scenario itself is reviewed and updated. Expected profit numbers are corrected, missing preconditions are added, or the finding is downgraded in severity or marked invalid if the exploit proves impossible.