Trail of Bits
Security Assessment of Sample Protocol v1.3
- Engagement period
- Mar 3 – May 12, 2026
- Engineers
- 4
- Level of effort
- 10 person-weeks
- Methodology
- Hybrid review
Anatomy of a Report
Open the cover and pull each section apart — eight parts, each one in the report because an engineer reading it has a decision to make or an action to take.
Walk through the report
Trail of Bits
Security Assessment of Sample Protocol v1.3
Executive summary
12 findings across protocol layer, deployment configuration, and access controls. Two high-severity issues require attention before mainnet release.
| Severity ↓ / Difficulty → | Low | Med | High |
|---|---|---|---|
| High | ●● | — | — |
| Medium | ●●● | ● | — |
| Low | ●●●● | ●● | — |
Codebase maturity evaluation
Finding · TOB-2026-007
Insufficient validation of cross-chain message origin
Exploit scenario
An attacker controlling any L2 relayer drafts a message that the L1 verifier accepts as canonical, draining the bridge escrow over three blocks…
Short-term
Add origin assertion in verifyMessage() against the trusted bridge address.
Long-term
Introduce a typed-message envelope with origin in its hash preimage; Semgrep rule attached.
Appendix A · Artifacts shipped with this report
Appendix B · Fix review
trailofbits/publications
github.com ↗
Illustrative excerpt from a typical 64-page report — every annotated section appears in every report we publish.
Cover page
Every report we publish lists the person-weeks invested — on the cover, not buried in an appendix. It's the single most important number for calibrating how much weight a finding should carry.
Status Quo · Most firms omit effort entirely so engagements look bigger than they were.
Executive summary
Each finding gets two axes: severity (what could happen) and difficulty (how hard to reach). A medium-severity bug that's easy to hit often matters more than a critical one behind three trust boundaries.
Status Quo · Single-number severity collapses both dimensions into one ambiguous score.
Codebase maturity evaluation
We evaluate testing, documentation, access controls, supply-chain hygiene, error handling, and configuration practice — and grade each one. Tells you where to invest beyond the bugs we found.
Status Quo · Pen-test reports stop at the findings list. No maturity grade, no engineering-practice rubric.
Per-finding section
Every finding includes a step-by-step adversary walkthrough — what an attacker does, in order, to reach impact. Your team builds the right mental model before they patch.
Status Quo · Generic descriptions leave engineers guessing whether a bug is real or theoretical.
Per-finding section
Short-term: the specific patch you ship this sprint. Long-term: the SDLC change — a Semgrep rule, an invariant, a process — that prevents the next variant of the same class.
Status Quo · One-line 'fix the comparison operator' recommendations let the next variant ship.
Appendix: artifacts
Custom Semgrep / CodeQL rules tuned to the patterns we found, fuzzing harnesses, LLM and Claude-skill harnesses, exploit PoCs. Every artifact ships with the report — runnable from day one.
Status Quo · Most reports come without code. You hire us for the bug list and rebuild the tooling yourself.
Appendix: fix review
When the patches land, we re-test and append the verification — same document, same version. The report tells you not just what was wrong, but what's now fixed and what isn't.
Status Quo · Verifying fixes is sold as a separate engagement, or skipped entirely.
Publication
If you choose to publish, your report joins our open catalog of 200+ public reviews. The methodology is documented, the artifacts are open, and every finding becomes industry reference material.
Status Quo · Other firms compete on secrecy. We compete on shared knowledge.
Side by side
| Deliverable | Trail of Bits | Status Quo |
|---|---|---|
| Level of effort on the cover | ✓ | — |
| Severity × difficulty matrix | ✓ | — |
| Codebase maturity grade | ✓ | — |
| Exploit scenario per finding | ✓ | Sometimes |
| Short- and long-term recommendations | ✓ | — |
| Custom Semgrep / CodeQL / fuzz harness artifacts | ✓ | — |
| LLM and Claude-skill harnesses | ✓ | — |
| Fix-review re-test in the same report | ✓ | Sometimes |
| Optional public release of the report | ✓ | — |
See it in practice
View AllTrail of Bits
Security Review
Offchain Arbitrum Stylus
Offchain Labs
2024-05
Blockchain
Trail of Bits
Security Review
Lisk SDK
Technology Product Reviews
2023-07
AppSec
Trail of Bits
Security Review
DFINITY
Other/Multi-Chain
2021-05
Blockchain
Trail of Bits
Security Review
Scroll ZkEVM Wave 1
Scroll
2023-04
Blockchain
Trail of Bits
Security Review
Offchain Arbitrum Challenge v2
Offchain Labs
2023-08
Blockchain
Trail of Bits
Security Review
Aleo snarkVM, snarkOS, BullsharkBFT
Cryptography Reviews
2023-10
Crypto
Trail of Bits
Security Review
Optimism
Ethereum/EVM
2022-09
Blockchain
Trail of Bits
Security Review
Axiom Halo2 Libraries
Cryptography Reviews
2023-06
Crypto
By discipline
View AllPick a domain to start the conversation. Every engagement ships the parts you just walked through.