Revisione della crittografia
Revisione della progettazione e dell’implementazione crittografica: protocolli, gestione delle chiavi, firme e generazione di valori casuali.
AI, Web3 e crittografia
Audit riga per riga di smart contract e della logica del protocollo prima del deploy: revisione manuale, test delle invarianti e revisione delle correzioni.
AI, Web3 e crittografia
Un contratto già pubblicato sulla blockchain non si corregge in un pomeriggio tranquillo. Il suo codice è pubblico, i suoi fondi sono a una transazione di distanza, e un difetto viene sfruttato da chi lo legge per primo. L’audit deve avvenire prima del deploy e deve essere svolto da persone che leggono ogni riga.
Due auditor esaminano il codice in modo indipendente e poi confrontano i risultati. Analisi automatizzata e fuzzing li supportano, ma i rilievi che contano nascono dal capire che cosa promette il protocollo e dal cercare lo stato in cui la promessa si rompe. I contratti sono una parte del rischio: chiavi, diritti di aggiornamento e componenti off-chain vengono esaminati insieme a essi.
01Perimetro
02Approccio
Stabiliamo che cosa il protocollo deve garantire. Se non esiste una specifica, mettiamo per iscritto le invarianti e le concordiamo con te.
Due auditor leggono il codice riga per riga, separatamente. Le loro note vengono unite solo dopo che entrambi hanno finito.
Analisi statica, fuzzing e test delle invarianti vengono eseguiti sulle proprietà concordate. I test scritti durante l’audit ti vengono consegnati.
Le tue correzioni vengono esaminate rispetto ai rilievi originali. Il report finale indica il commit sottoposto ad audit e il commit in cui ciascun problema è stato risolto.
03
04
05Standard
Le debolezze più critiche degli smart contract.
OWASP Foundation
Classe di debolezza alla base di ogni rilievo.
The MITRE Corporation
Punteggio e vettore di gravità di ogni rilievo.
FIRST
06Domande
No, e nessuno può onestamente dare questa garanzia. Un audit è una revisione di durata limitata di un commit specifico. Riduce il rischio in modo sostanziale e documenta ciò che è stato esaminato. Il report lo dice con parole semplici.
Solidity e Vyper su catene EVM sono il nucleo del lavoro. Per altri linguaggi e macchine virtuali confermiamo durante la definizione del perimetro se abbiamo gli specialisti giusti, e rifiutiamo l’incarico quando non li abbiamo.
L’audit è vincolato a un commit congelato. Le modifiche apportate durante l’audit vengono esaminate come un perimetro separato, altrimenti il report descriverebbe codice che non esiste più.
Solo se ce lo chiedi. Un report pubblicato contiene l’elenco completo dei rilievi con il loro stato finale; non emettiamo versioni abbreviate che omettono problemi.
08Richiesta
Codice di riferimento
Conserva il codice: lo indichiamo in tutte le comunicazioni successive con te.
Nella prima risposta non chiediamo mai pagamenti, password o accesso remoto.