Vai al contenuto
CodeAuditAgent
Tutta la documentazione

Lettura di un report

Cosa significa il punteggio di rischio, come vengono assegnate le gravità e a cosa serve ogni parte di un risultato.

Un report si apre con un riepilogo, un punteggio di rischio e un conteggio, quindi elenca i risultati da più a meno grave. Tutto al di sotto del riepilogo è scritto per essere agito, non solo letto.

Punteggio di rischio

Il punteggio di rischio va da 0 a 100 e esprime quanto è esposto questo codice in generale: pesa i risultati più gravi molto più pesantemente del numero di risultati. Un singolo problema critico raggiungibile da remoto punteggia più in alto di una dozzina di bassa gravità. Usalo per confrontare un repository rispetto a se stesso nel tempo; non è un benchmark rispetto ad altre basi di codice.

Gravità

  • Critico — sfruttabile da remoto, porta all'esecuzione di codice remoto, bypass dell'autenticazione, compromissione completa dei dati o un segreto di produzione trapelato.
  • Alto — una debolezza seria che richiede una condizione specifica, come una sessione autenticata o un percorso di input particolare.
  • Medio — reale ma limitato: richiede una precondizione improbabile oppure il danno è contenuto.
  • Basso — igiene e indurimento: vale la pena correggere, non vale la pena svegliare nessuno.
  • Info — un'osservazione senza impatto diretto sulla sicurezza.

All'interno di un risultato

Ogni risultato è costruito in modo che tu possa giudicarlo senza fidarti ciecamente:

  • Posizione — il file e l'intervallo di righe in cui si trova il problema.
  • Prova — il codice esatto citato dal tuo repository. Se la prova non corrisponde al file, il risultato è sbagliato; questo è il punto di citarlo.
  • Descrizione — cosa c'è di sbagliato, scritto per uno sviluppatore che non ha scritto questo codice.
  • Impatto — cosa ottiene un attaccante e cosa deve prima.
  • Come correggerlo — passaggi ordinati, non consiglio generico.
  • Patch — codice corretto scritto rispetto al codice citato, pronto per adattarsi.
  • Come verificare — il controllo che dice che la correzione ha funzionato, quindi non stai indovinando.
  • Riferimenti — da uno a tre link autorevoli, come la voce CWE o la documentazione della libreria.
  • Fiducia — quanto è certo il revisore. Fiducia bassa significa che il risultato dipende dal contesto che l'audit non poteva vedere.

Mappatura CWE

I risultati portano un identificatore CWE dove applicabile. Il CWE è ciò che collega i tuoi risultati al resto del sistema: guida la suddivisione della debolezza sul dashboard, i filtri del feed CVE e la chiave che mantiene uno scarto allegato allo stesso problema nei vari audit.

Esportazione

Qualsiasi report può essere copiato o scaricato come Markdown, con le patch all'interno di blocchi di codice racchiusi, il che è comodo per incollare in un tracker di problemi o una descrizione di pull request. L'explorer dei risultati inoltre esporta CSV tra i repository.

Condivisione di un report

Un report completato può essere consegnato a qualcuno senza un account: il pulsante di condivisione copia un link di sola lettura che ha la propria firma e scadenza. La pagina che si apre mostra il report e nulla più — senza chiusura, senza dati dell'account — e il link smette di funzionare dopo sette giorni. Chiunque abbia il link può leggere il report, quindi trattalo come il codice che descrive.

Lingua

I report sono scritti nella lingua che stavi utilizzando quando hai avviato l'audit. Il codice, i percorsi dei file, gli identificatori CWE, le patch e i link di riferimento rimangono come sono — solo la prosa è tradotta.