Tecniche di code review sicura
Individui i problemi di sicurezza nella code review: flussi di dati, confini di attendibilità, API pericolose e controlli mancanti.
Tecniche di code review sicura è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Obiettivo della revisione di sicurezza del codice
La revisione di sicurezza del codice individua le vulnerabilità nel codice sorgente prima della distribuzione. A differenza della revisione funzionale del codice, si concentra sui confini di fiducia, sui flussi di dati, sulle API pericolose, sui controlli mancanti e sugli errori nella logica di sicurezza, non sulla correttezza o sullo stile.
Revisione manuale e automatizzata
Gli strumenti SAST automatizzati (Semgrep, SonarQube, CodeQL) individuano rapidamente i pattern noti, ma non rilevano i difetti nella logica di business, le vulnerabilità complesse che coinvolgono più componenti e i problemi dipendenti dal contesto. La revisione manuale individua ciò che l'automazione non rileva. Sono necessarie entrambe.
Analisi dei punti di ingresso
Inizi la revisione di sicurezza mappando tutti i punti di ingresso: endpoint HTTP, gestori delle code di messaggi, caricamenti di file, processi pianificati, webhook e argomenti CLI. Ogni punto di ingresso che accetta dati esterni è un potenziale punto di injection che richiede un'analisi attenta.
Tracciamento del flusso dei dati
Tracci i dati controllati dall'utente dal punto di ingresso fino al loro utilizzo finale nell'applicazione. Raggiungono una query al database? Un comando shell? Un template HTML? Una chiamata API? Segua il flusso dei dati e verifichi ogni trasformazione e passaggio di sanificazione.
Analisi dei confini di fiducia
Le decisioni di sicurezza vengono prese ai confini di fiducia, dove i dati passano da un contesto meno affidabile (una richiesta HTTP) a uno più affidabile (un database, il sistema operativo). Ogni attraversamento di un confine di fiducia deve convalidare, sanificare o autorizzare i dati.
Checklist delle API pericolose
Contrassegni l'uso di: eval(), exec(), system(), shell_exec(), innerHTML, dangerouslySetInnerHTML, deserialize(), pickle.loads(), Runtime.exec(), ProcessBuilder, parser XML per i quali l'espansione delle entità non è disabilitata e primitive crittografiche usate direttamente anziché API di alto livello.
Revisione di autenticazione e autorizzazione
Verifichi: ogni endpoint sensibile è protetto dall'autenticazione? L'autorizzazione viene verificata lato server per ogni azione? Un utente può accedere ai dati di un altro utente modificando un parametro ID (IDOR)? Le operazioni sensibili sono protette da CSRF?
Revisione della gestione degli errori
Individui i blocchi catch che ignorano silenziosamente le eccezioni. Verifichi che i messaggi di errore mostrati agli utenti non rivelino percorsi interni, stack trace o la struttura del database. Verifichi che le eccezioni di sicurezza (AuthenticationException) vengano registrate e non ignorate silenziosamente.
Revisione della crittografia
Contrassegni: MD5 o SHA-1 per l'hashing delle password (usi bcrypt/Argon2), chiavi simmetriche o IV codificati nel codice, cifratura in modalità ECB (usi GCM o CBC con HMAC), implementazioni crittografiche personalizzate e generatori di numeri casuali non crittograficamente sicuri.
Revisione delle dipendenze e della configurazione
Esamini package.json/pom.xml alla ricerca di dipendenze obsolete. Verifichi nella configurazione dell'applicazione se la modalità di debug è abilitata in produzione, se sono presenti pagine di errore dettagliate, credenziali di amministratore nei file di configurazione e intestazioni di sicurezza mancanti (HSTS, CSP, X-Frame-Options).
Strumenti: Semgrep e CodeQL
Le regole di Semgrep confrontano i pattern sintattici tenendo conto della semantica. Scriva regole personalizzate per i pattern specifici della base di codice. CodeQL tratta il codice come dati: scriva query sull'AST per individuare flussi di dati dalle sorgenti ai sink tra file e chiamate di funzione.
Verifica delle conoscenze
Che cos'è una vulnerabilità IDOR e dove la cercherebbe durante una revisione del codice?
Riepilogo
Una revisione efficace della sicurezza del codice combina la mappatura dei punti di ingresso, il tracciamento dei flussi di dati, l'analisi dei confini di fiducia, il rilevamento delle API pericolose e gli strumenti SAST automatizzati. Individua problemi di sicurezza che la revisione funzionale non rileva, in particolare difetti nella logica di business e sottili lacune nell'autorizzazione.
Domande Frequenti
La lezione «Tecniche di code review sicura» è gratuita?
Sì — il testo completo di «Tecniche di code review sicura» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Tecniche di code review sicura»?
Individui i problemi di sicurezza nella code review: flussi di dati, confini di attendibilità, API pericolose e controlli mancanti. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Tecniche di code review sicura»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Convalida degli input e codifica degli output
- Gestione sicura delle dipendenze
- OWASP ASVS: Application Security Verification Standard
- Tecniche di code review sicura