Security Audit — Soluzione

Audit Smart Contract
Vulnerabilità · Bug · Exploit

Un singolo bug in uno smart contract può costare milioni in pochi secondi e non può essere corretto dopo il deploy. Il nostro servizio di audit individua ogni vulnerabilità prima che lo faccia qualcun altro.

Severity: Critical High Medium Low Info
domus-audit — audit-engine v2.4.1
$ domus-audit scan --contract MyToken.sol --chain ethereum

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  DOMUS COIN — Smart Contract Security Audit
  Engine: Slither + Mythril + Manual Review
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[*] Compiling contract...          ✓ OK
[*] Building CFG & call graph...     ✓ OK
[*] Running static analysis...      ✓ OK
[*] Symbolic execution (Mythril)... ✓ OK
[*] Checking SWC registry...        ✓ OK

──────────────────────────────────────────────────
  [CRITICAL] Reentrancy vulnerability — line 87
             withdraw() calls external before
             updating state. SWC-107

  [HIGH]     Integer overflow in _mint() — L.42
             Missing SafeMath. SWC-101

  [MEDIUM]   tx.origin used for auth — L.103
             Phishing risk. Use msg.sender. SWC-115

  [LOW]      Unlocked pragma ^0.8.0 — L.1
             Pin to exact version. SWC-103
──────────────────────────────────────────────────

  Issues:  1 critical  2 high  1 medium  1 low
  Score:   38/100  ▓▓▓▓░░░░░░░░░░░░  FAIL

$ domus-audit generate-report --format pdf
Generating report...                 ✓ report.pdf
$ 

$3.8B

Sottratti tramite exploit nel 2022

73%

Degli hack sfrutta bug nei contratti

T+0

Il codice è immutabile dopo il deploy

0

Possibilità di rollback on-chain

Cosa cerchiamo

Vulnerabilità coperte dall'audit

Il nostro team analizza ogni vettore d'attacco noto e sconosciuto, seguendo il registro SWC (Smart Contract Weakness Classification) e i pattern OWASP for Blockchain.

critical SWC-107
Reentrancy Attack

Una funzione esterna viene chiamata prima che lo stato del contratto venga aggiornato. L'attaccante può re-invocare la funzione ricorsivamente e drenare i fondi.

The DAO Hack — $60M sottratti (2016)
critical SWC-101
Integer Overflow / Underflow

Operazioni aritmetiche che superano i limiti del tipo uint causano overflow silenzioso. Un saldo che dovrebbe essere 0 diventa il valore massimo possibile.

BeautyChain BEC — $900M distrutti (2018)
high SWC-105
Unprotected selfdestruct

La funzione selfdestruct() è accessibile senza controllo di accesso adeguato. Chiunque può distruggere il contratto e trasferire tutti i fondi a un indirizzo arbitrario.

Parity Wallet — $150M bloccati (2017)
high SWC-114
Manipolazione del Timestamp

Il contratto usa block.timestamp come sorgente di casualità o per decisioni critiche. I miner possono manipolarlo entro ~15 secondi, influenzando il risultato.

Attacchi a smart contract di lotterie on-chain
high SWC-120
Weak Sources of Randomness

L'uso di block.number, blockhash o block.difficulty come fonte di entropia è predicibile e manipolabile dai miner, rendendo le funzioni "random" completamente prevedibili.

Attacchi a gaming DApp (Fomo3D, ecc.)
high SWC-115
Authorization via tx.origin

Usare tx.origin invece di msg.sender per l'autenticazione espone a attacchi phishing: un contratto malevolo può impersonare l'utente chiamando il contratto target.

Phishing tramite contratti intermedi
medium SWC-110
Assert / Require Violation

Condizioni di assert o require mal configurate possono essere sfruttate per bloccare il contratto in stati irrecuperabili o per bypassare controlli di accesso.

DoS permanente su contratti DeFi
medium SWC-113
DoS con Gas Limit

Loop su array non limitati o operazioni costose in funzioni critiche possono superare il gas limit del blocco, rendendo il contratto inutilizzabile permanentemente.

Blocco di withdrawal in contratti di staking
medium SWC-106
Unprotected SELFDESTRUCT / Upgrade

Proxy pattern e meccanismi di upgrade non protetti adeguatamente permettono a un attaccante di sostituire l'implementazione con codice malevolo.

Compromissione di contratti upgradeable
low SWC-103
Floating Pragma

Una versione di Solidity non fissata (^0.8.0) può portare il contratto a essere compilato con versioni diverse che introducono comportamenti non previsti o bug noti.

Inconsistenze tra ambiente di test e produzione
low SWC-108
State Variable Default Visibility

Variabili di stato senza visibilità esplicita espongono dati che dovrebbero essere privati. Anche le variabili private sono leggibili on-chain da chiunque.

Esposizione di seed phrase o chiavi interne
info BEST
Best Practice & Code Quality

Segnalazioni di pattern di codice non ottimali, eventi mancanti, funzioni non usate, ottimizzazione del gas e conformità agli standard OpenZeppelin e EIP più recenti.

Ottimizzazione gas e manutenibilità del codice
Come lavoriamo

Il processo di audit

Un approccio a quattro livelli che combina analisi automatizzata, revisione manuale approfondita e un ciclo di fix & re-audit per garantire la massima copertura.

01
Raccolta e scope

Raccogliamo il codice sorgente, la documentazione tecnica e definiamo lo scope dell'audit: quali contratti, quale versione di Solidity, quale chain. Valutiamo anche la dipendenza da librerie esterne (OpenZeppelin, ecc.).

GitHub / source code Documentazione tecnica Dipendenze e librerie
02
Analisi automatizzata

Eseguiamo tool di analisi statica e simbolica (Slither, Mythril, Echidna) per identificare automaticamente vulnerabilità note, pattern insicuri e deviazioni dagli standard. È la prima rete di sicurezza.

Slither (static) Mythril (symbolic) Echidna (fuzzing)
03
Revisione manuale

I nostri senior auditor analizzano il codice riga per riga: logica di business, flussi di controllo, gestione degli accessi, interazioni tra contratti e pattern di attacco non rilevabili in modo automatico.

Code review manuale Business logic analysis Cross-contract analysis
04
Penetration test

Sviluppiamo exploit proof-of-concept per le vulnerabilità trovate, verificando la reale sfruttabilità in un ambiente di test (fork della mainnet con Foundry/Hardhat). Solo vulnerabilità reali nel report.

Foundry fork mainnet PoC exploit Scenario simulation
05
Report e raccomandazioni

Consegniamo un report dettagliato per ogni vulnerabilità: severity, descrizione tecnica, prova di sfruttabilità (PoC), impatto economico stimato e raccomandazione specifica di fix con codice corretto.

Report PDF completo PoC documentati Fix suggeriti con codice
06
Fix & Re-audit

Il team del progetto implementa i fix. Effettuiamo un re-audit mirato per verificare che le vulnerabilità siano state risolte correttamente e che i fix non abbiano introdotto nuovi problemi. Rilasciamo il certificato finale.

Verifica fix implementati Re-audit mirato Certificato di audit
Output

Il Report di audit:
completo e azionabile

Non consegniamo output automatizzati dei tool. Il nostro report è scritto da auditor senior: ogni issue è spiegata in linguaggio chiaro, con PoC dimostrativi e fix specifici pronti all'implementazione.

DOMUS COIN SECURITY
Smart Contract Audit Report
MyDeFiProtocol.sol — v1.2.0
72
SCORE / 100
Critical
2
High
3
Medium
5
Low
4
Info
7
STATO
REQUIRES FIX
PAGINE REPORT
48 pagine
FORMATO
PDF + GitHub

Esempio illustrativo. I valori variano per ogni progetto.

Cosa include ogni issue del report

Severity e classificazione SWC
Ogni vulnerabilità è classificata per severità (Critical, High, Medium, Low, Info) e mappata al registro SWC.
Descrizione tecnica dettagliata
Spiegazione precisa del meccanismo di exploit, del codice vulnerabile e delle condizioni che lo rendono sfruttabile.
Proof of Concept (PoC)
Codice dimostrativo dell'exploit in Foundry o Hardhat che prova la reale sfruttabilità della vulnerabilità.
Impatto economico stimato
Stima del massimo danno economico potenziale in caso di sfruttamento dell'issue identificata.
Fix raccomandato con codice
La correzione specifica suggerita, con codice Solidity corretto e pronto all'implementazione.
Verifica post-fix
Dopo l'implementazione del fix, ri-verifichiamo che la vulnerabilità sia stata risolta correttamente.
Metodologia

Tool professionali e approccio ibrido

Nessun tool da solo copre tutto. Combiniamo analisi automatizzata e revisione manuale per una copertura superiore al 95%.

Analisi statica
Slither

Framework di analisi statica sviluppato da Trail of Bits. Rileva vulnerabilità note, ottimizzazioni del gas e deviazioni dalle best practice Solidity con 80+ detector predefiniti.

Esecuzione simbolica
Mythril

Analisi con esecuzione simbolica (SMT solver) che esplora tutti i possibili percorsi di esecuzione del contratto. Rileva reentrancy, overflow e dipendenza da timestamp in modo formale.

Fuzzing
Echidna

Fuzzer sviluppato da Trail of Bits. Genera input casuali per trovare condizioni limite che violano le invarianti del contratto. Particolarmente efficace per logiche di business complesse.

PoC e simulazione
Foundry / Hardhat

Ambienti di sviluppo per replicare exploit su fork della mainnet. Permette di dimostrare concretamente la sfruttabilità delle vulnerabilità trovate con test ripetibili.

Revisione senior
Manual Review

Il 40% delle vulnerabilità critiche non è rilevabile automaticamente. La revisione manuale da parte di senior auditor è la componente più preziosa del processo.

Framework di riferimento
SWC Registry + OWASP

Ogni vulnerabilità è mappata al registro SWC (Smart Contract Weakness Classification) e ai pattern OWASP for Blockchain per una classificazione standardizzata e confrontabile.

A chi è rivolto

Chi ha bisogno di un audit?

Risposta breve: chiunque abbia uno smart contract che gestisce valore reale.

Essenziale
DeFi Protocol

DEX, lending protocol, yield aggregator, stablecoin: qualsiasi protocollo che gestisce liquidità degli utenti è un bersaglio primario. L'audit è prerequisito per il lancio.

Richiesto
Token e ICO/IDO

Prima del lancio di un token, l'audit è spesso richiesto dai launchpad e dagli exchange come condizione per il listing. Aumenta la fiducia degli investitori.

Consigliato
NFT e Marketplace

Contratti ERC-721/1155 con logiche di minting, royalties e whitelist. Vulnerabilità nel minting possono permettere di coniare infiniti NFT o rubare royalties.

Essenziale
DAO e Governance

Contratti di governance mal progettati possono permettere attacchi di flash-loan voting o takeover malevoli della DAO. L'audit analizza ogni meccanismo di voto.

Consigliato
Enterprise Blockchain

Aziende che integrano smart contract nei propri processi (supply chain, loyalty, tokenizzazione) necessitano di audit per garanzie legali e assicurative.

Obbligatorio
Upgrade e Migration

Ogni upgrade di un contratto tramite proxy pattern introduce nuovi rischi. L'audit pre-upgrade verifica che la migrazione non apra nuove vulnerabilità.

FAQ

Domande frequenti

Risposta alle domande più comuni sull\'audit di smart contract.

Richiedi un audit
No, e chiunque lo garantisca mente. Un audit riduce drasticamente il rischio identificando le vulnerabilità note e i pattern insicuri, ma non può escludere vulnerabilità sconosciute o zero-day. È la best practice del settore, non una garanzia assoluta.
Dipende dalla dimensione e complessità del codice. Un contratto semplice (ERC-20, token standard) richiede 3-5 giorni lavorativi. Protocolli DeFi complessi con più contratti interconnessi possono richiedere 2-4 settimane. Forniamo una stima dopo aver visionato il codice.
Tecnicamente sì, ma è fortemente sconsigliato. Un audit post-deploy significa che il codice vulnerabile è già live e potenzialmente sfruttabile. L'audit va fatto obbligatoriamente prima del deploy in produzione, idealmente a codice "frozen" (versione definitiva).
Assolutamente sì. Prima dell'audit firmiamo un NDA (Non-Disclosure Agreement). Il codice sorgente e i risultati dell'audit sono trattati con la massima riservatezza. Il report pubblico (se il cliente lo sceglie) non contiene informazioni sensibili non ancora patchate.
È una scelta del cliente. Molti progetti scelgono di pubblicare il report (con i fix già implementati) come prova di trasparenza verso gli investitori e la community. Offriamo entrambe le opzioni: report privato o pubblicazione su GitHub/sito del progetto.
🔒 Audit before you deploy

Il tuo contratto è sicuro.
Sei sicuro che sia sicuro?

Contattaci prima del deploy. Una vulnerabilità non trovata da noi verrà trovata da qualcun altro — e il costo sarà molto più alto di un audit preventivo.

Utilizziamo cookie per migliorare l’esperienza di navigazione. Per maggiori informazioni, leggi la nostra Cookie Policy.