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
Open the cover and pull each section apart. There are eight parts, and each one is 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 ↗
An 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 we spent, right on the cover. It is the single most important number for weighting a finding, so we lead with it instead of burying it in an appendix.
Status QuoMost firms omit effort entirely, so engagements look bigger than they were.
Executive summary
Each finding gets two scores: severity, which is what could happen, and difficulty, which is how hard the bug is to reach. An easy medium can outrank a hard critical, and the matrix shows you which is which.
Status QuoA single severity number collapses both dimensions into one ambiguous score.
Codebase maturity evaluation
We grade testing, documentation, access controls, supply-chain hygiene, error handling, and configuration, each on its own. The grades tell you where to invest beyond the individual bugs.
Status QuoPen-test reports stop at the findings list, with no maturity grade and no engineering-practice rubric.
Per-finding section
Every finding includes a concrete adversary walkthrough: what an attacker does, in order, to reach impact. That lets your team build the right mental model before they patch.
Status QuoGeneric descriptions leave engineers guessing whether a bug is real or theoretical.
Per-finding section
Short-term is the patch you ship this sprint. Long-term is the structural change, a Semgrep rule, an invariant, a process, that keeps the next variant of the same bug class from shipping.
Status QuoOne-line "fix the comparison operator" recommendations let the next variant ship.
Appendix: artifacts
We ship custom Semgrep and CodeQL rules tuned to the patterns we found, fuzzing harnesses, LLM and Claude-skill harnesses, and exploit proofs of concept. All of it runs on day one.
Status QuoMost reports come without code, so you hire us for the bug list and rebuild the tooling yourself.
Appendix: fix review
When your patches land, we re-test and append the verification to the same document. One file tells you what is now fixed, what still is not, and what risk you accepted.
Status QuoVerifying fixes is sold as a separate engagement, or skipped entirely.
Publication
If you choose to publish, your report joins our public catalog of security reviews, with the methodology and artifacts open for anyone to read. Your findings become reference material the whole industry learns from.
Status QuoOther 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.