Skip to content
SaferICO Security Suite

Depth Is the Product.

Most scanners hand you a list of findings, sorted by severity. SaferICO composes them into the chain that uses them — and ships the evidence for every link it claims.

A finding is a line. An attack is a combination of them — and that is what we look for.

Deductive, not generative · every chain is composed in code from evidence, never written by a model
Five layers · surface to composition

Each layer sees what the one above it cannot.

The order is not presentational. Every layer consumes what the previous one produced, and each is defined as much by its blind spot as by its catch. Those blind spots are printed here for the same reason they are printed in the report: a tool that hides its reach is a tool you cannot calibrate.

01

Detect

Static analysis, in your own browser
201 detectorsSolidity sourceAccess-control mapFunction table

201 detectors over Solidity source: unchecked returns, reentrancy shapes, mint and sweep paths, owner powers, proxy and upgrade paths, and a simulated buy and sell that catches a honeypot before you are in one. The engine runs on your machine — an unreleased contract is never uploaded to read it.

Blind toWhether a path is reachable with values the contract will ever actually see. Nothing has executed — and nothing executes at any layer below this one either.
02

Corroborate

What the file in front of you cannot say
Bytecode vs source4-byte corpusNovelty vs boilerplateAddress taint

Source is a claim; deployed bytecode is the fact. This layer reads the dispatcher for the selectors a contract really exposes, names raw calldata against a signature corpus, subtracts library code so only the hand-written lines remain — the lines an auditor should read first — and reports where an address's funds came from, each answer carrying the provenance of the list that produced it.

Blind toIntent, and to any list nobody loaded. No sanctions list is compiled into this product; with no label list loaded the report says so in those words, rather than returning a clean result you could mistake for “screened”.
03

Compose

21 attack chains, built out of the evidence above
Hack My Contract™21 chainsWeighted preconditionsPrecedent where one is real

Each chain carries a question — “can I make one share so expensive that a real deposit buys zero of them?” — a list of preconditions, and the weight each one carries. A chain is emitted only when the scan actually proved its required preconditions, and it ships the evidence for every one. If the code does not support the chain, no chain appears.

Blind toLive state — balances, liquidity depth, who holds the keys, whether the owner is a multisig. Confidence here is the share of preconditions proved, never the probability that an attack would succeed.
04

Explain

AI, strictly downstream of the evidence
Chain walkthroughYour languageFix guidance

The model's work begins only after layer 03 has established a chain: explain that chain, in the reader's own language, at the level a defender needs to close it. It is never asked for scenarios and it cannot add one — because a confident, unfalsifiable list of invented attacks buries the single real finding underneath it.

Blind toIntent. It cannot tell you whether a privileged design choice was a mistake or a decision somebody made on purpose.
05

Record

Findings that outlive the browser tab
PDF reportPublic archiveVerified ≠ attestedPost-deploy monitoring

Every finding with its severity, its evidence and its fix. A public archive of the reports already delivered. A badge that keeps what was read live on-chain apart from what was merely reported, and dates the second. And monitoring that keeps watching the address after the report is signed, because a contract can change owner the week after it passes.

ExcludesAny claim of “safe”. A report states what was tested and what held — a report that promises safety is a report to distrust.
Proof

Scale, depth and restraint are three different claims.

Each number below is countable, and each answers a different question. None of them is a rounded marketing figure, and the third one is a limit we chose.

Credibility · scale
204Projects
222Published audit reports

A public record across BNB Chain, Ethereum, Base, Polygon, Arbitrum, Optimism and Avalanche, 2021–2025. Every entry links the auditor’s own published PDF — not a copy hosted here, and not a summary of one.

Count them yourself →
Reach · depth
201Detectors
21Attack chains

The detectors are the vocabulary; the chains are the sentences they can form. Each names its preconditions and the weight each carries. Twelve cite a documented incident that followed the same shape — the other nine state that no comparable one exists, rather than reaching for a plausible name.

Read all 21 →
Restraint · evidence
0
Attack chains written by a language model

Every chain is composed in code from detector output and ships the evidence for each precondition it claims. The AI explains a chain that already exists. It has never been able to add one.

Composition · ATK-VAULT-INFLATION

Two accepted weaknesses. One empty pool.

This is what layer 03 does with layer 01's output. Neither half below is critical on its own — which is exactly why a findings list, sorted by severity, hides it. The pattern is not hypothetical: Euler Finance lost $197M to accounting that could be moved the same way.

The composition High Precedent: Euler

Precondition A · weight 45 · reads as minor Deposits are converted into shares against a running total — a share-manipulation detector fired on the accounting.
+
Precondition B · weight 30 · reads as minor The backing balance can be increased without minting shares: value can be sent to the contract directly, and the share price is read from the raw balance.
Composed Be the first depositor and mint exactly one share. Send a large amount straight to the contract, so the backing rises with no new shares. The next honest deposit is smaller than the new per-share price, so their issuance rounds down to zero. Their money is not transferred out — it is absorbed by the arithmetic, backing your single share.

What each layer contributed

01 Detect — the evidence. A share-manipulation detector and a rounding detector fired, and the contract can receive value directly. Three findings, none of them critical, sitting in different parts of the list.

02 Corroborate — the shape. Nothing named MIN_, deadShares or initialMint appears anywhere in the function table. Reading the deployed selectors is what separates absent from unverified — the dead-share defence is missing, not merely unread.

03 Compose — the chain. Required preconditions satisfied; the chain is emitted with the evidence for each attached, and its confidence states exactly which share of them the scan could prove.

04 Explain — the walkthrough. The four steps above, in the reader's own language, at the level needed to close the path.

Fix: mint dead shares at deployment or track backing internally · round issuance in the depositor's favour · reject deposits that would mint zero shares
Where it runs

25 EVM mainnets, and the reason each one is on the list.

A network is added only after two checks, both measured on the day rather than read off a chain list: two or more public RPC endpoints answered with the right chain id and a block seconds old, and the chain is served by the explorer API key we already hold, so verified source can genuinely be fetched there. A chain with a live RPC and no explorer API gives half a scan — and half a scan reported as a scan is worse than none.

Ethereum BNB Chain Polygon Base Arbitrum Optimism Avalanche Abstract ApeChain Berachain Blast Celo Fraxtal Gnosis HyperEVM Katana Linea Mantle Monad opBNB Sei Sonic Taiko Unichain World Chain
7 also priced for building & deploying 18 read-only: scan, monitor, badge

Reading a chain and building on one are different capabilities, and the list above says which is which rather than averaging them into one number. The detector set is identical everywhere — there are no chain-specific detectors, and a page implying otherwise would be a claim we cannot support. What changes by chain is the explorer, the endpoints, the router the buy/sell simulation uses, and what has already gone wrong there.

Two products, not one ladder

The Suite is testing. The audit is judgement.

They are sold separately because they answer different questions. One runs on every commit; the other is a named human on an engagement.

Product · subscription

SaferICO Security Suite

Five layers, on every push. The detector engine runs inside your own CI runner, so your repository never leaves it — only counts and rule ids are posted back.

  • Runs continuously, not once
  • Every chain ships the evidence for each precondition
  • Scales with your commits, not with our headcount
Detect → Corroborate → Compose → Explain → Record
Service · engagement

Manual Audit

A named auditor on economic design, governance and intent — the questions no pipeline can answer, because they are not questions about code.

  • Separate from the Suite and from any subscription
  • Starts from the Suite's output, not from zero
  • Priced per engagement
Weeks · scarce by definition
Stated plainly

What this cannot tell you.

Nothing here is executed

No transaction is sent, and no working exploit ships with this product. Layer 03 establishes that the preconditions for an attack are present in the code — it does not establish that the attack would succeed against live balances, liquidity and key holders. That distinction is carried in every result rather than left to be discovered.

A clean run is not a proof

It means no finding surfaced in what was tested, and no chain's preconditions were met. The honest claim is coverage, never safety.

Code is not the whole system

The Suite reads what is deployed. It cannot tell you who holds the keys, how they are stored, or what a privileged operator decides on a bad day.

Economics sit outside

A contract can be flawless and the token design still fail. Incentives, emissions and governance are the audit's work, not the pipeline's.

Before you ask

The seven questions this page should have answered.

Does anything get executed against my contract?

No. No transaction is sent and no working exploit ships with this product. Layer 03 establishes that the preconditions for an attack are present in the code; it does not establish that the attack would succeed against live balances, liquidity and key holders. That distinction is printed in every result rather than left to be discovered.

Does my source code leave my machine?

The 201-detector engine runs in your own browser, and in CI it runs inside your own runner. An unreleased contract is never uploaded to read it. What the browser fetches is public: verified source from the block explorer, and public RPC reads.

From CI, what is posted back is the repository name, ref, commit and actor, a file count, the severity counts and the score, and each finding's rule id with its file and line. Never the source, and never the evidence strings — those quote your code, so they stay on your runner.

What is the difference between the Suite and a manual audit?

They answer different questions and are sold separately. The Suite is testing: five layers, on every push, priced as a subscription. A manual audit is judgement — a named auditor on economic design, governance and intent, questions no pipeline can answer because they are not questions about code. An audit starts from the Suite's output rather than from zero.

Is the AI writing the attack chains?

It has never been able to. Every chain is composed in code from detector evidence and ships the proof for each precondition it claims. The model's work begins only after a chain already exists: explain that chain, in the reader's language, at the level a defender needs to close it. It is never asked for scenarios, because a confident, unfalsifiable list of invented attacks buries the one real finding underneath it.

What does a clean result actually mean?

That no finding surfaced in what was tested, and no chain's preconditions were met. It is coverage, not safety. A report that promises safety is a report to distrust — so no result here uses the word.

Which networks does it run on?

25 EVM mainnets for scanning, monitoring and the badge. Every one of them cleared two measured checks: two or more public RPC endpoints answering with the right chain id and a block seconds old, and an explorer that serves verified source on the key we already hold. Building and deploying is priced on 7 of them. Manual audits are not limited to the list at all — a person reading Solidity needs no integration.

Can I run it on every commit?

Yes — that is what the CI action is for. It runs the same detector set inside your runner and fails the build on a threshold you choose. Watchtower is the other half: it keeps reading the deployed address after the report is signed, because a contract can change owner the week after it passes.

Start where it matters

Run the Suite on your contract.

Five layers, one report, every chain with its evidence attached. If nothing composes, the report says exactly that — and shows you what it tested to find out.