Skip to main content

Bug Bounty Report Guide

The report template below covers vulnerabilities in TAC-related Solidity contracts deployed on EVM-compatible chains (TAC, Ethereum, etc.). Some of them are available here. Tools: Hardhat / Foundry / Tenderly.

Report Template

Report Template Commentary

1. Title and Metadata

Useful tags to name in the title: Reentrancy, Access Control, Price Manipulation, Unchecked Return Value, Signature Replay, Upgradeable Storage Collision, Integer Overflow.

2. Executive Summary

Same four questions as always:
  1. What is broken? — one sentence naming the vulnerable function.
  2. What does the attacker gain? — drained funds / minted tokens / ownership takeover.
  3. How much? — TVL at risk or maximum extractable value (MEV).
  4. Is it repeatable? — per-block / per-tx / once.
Example:

3. Vulnerability Details

3.1 Affected Contract

Provide a source-verified link on TAC Explorer / Etherscan / Blockscout if available.

3.2 Root Cause

Name the SWC / Solodit category and give the one-line explanation:
SWC-107 (Reentrancy): balances[msg.sender] is decremented after the external .call{value: amount}(""), allowing the callee to re-enter withdraw() before the balance is zeroed.

3.3 Vulnerable Code Snippet

3.4 Fixed Version (for comparison)

3.5 Prerequisites

4. Exploitation Steps

5. PoC Results

Required:
  • Attack contract address.
  • TX hash of the exploit.
  • Block number.
  • Balance before/after for the Vault and the attacker.
Example table:
Exploit TX: 0x<hash>
Block: <number>
Gas used: <amount> (~$XX at current prices)

5.1 Scaling Economics

The exploit is TVL-agnostic: any non-zero deposit drains the full balance.

6. Impact Assessment

Mention if the contract is upgradeable (proxy pattern) — this affects whether a hotfix can be deployed without migrating funds.

Immediate

Long-term

Adjacent Audit

8. Proof-of-Concept Code

Hardhat runner (abbreviated):