Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creare una revisione del codice
Crea revisioni del codice nell'applicazione Web AWS Security Agent per scansionare i tuoi repository di codice sorgente e le fonti S3 alla ricerca di vulnerabilità di sicurezza. Le revisioni del codice eseguono un'analisi statica completa su tutta la base di codice, identificando i problemi di sicurezza e fornendo linee guida per la risoluzione.
A differenza della revisione del codice basata sulle pull request, che analizza le singole modifiche al codice (vediEsamina i risultati sulla sicurezza del codice nelle richieste pull), le revisioni del codice su richiesta scansionano l'intero codice sorgente per identificare le vulnerabilità di sicurezza e convalidare la conformità ai requisiti di sicurezza dell'organizzazione.
In questa procedura, creerai una revisione del codice selezionando gli input del codice sorgente, configurando le autorizzazioni ed eseguendo la revisione.
Prerequisiti
Prima di iniziare, assicurati di disporre dei seguenti elementi:
-
Accesso all'applicazione Web AWS Security Agent
-
Almeno un GitHub repository o un bucket S3 connesso nel tuo Agent Space
Suggerimento
Se disponi già di GitHub repository collegati a Agent Space, la revisione del codice è pronta per l'uso: non è richiesta alcuna configurazione aggiuntiva. Scegli Avvia nell'app web dalla scheda di revisione del codice nella pagina di Agent Space o avvia direttamente l'applicazione web.
Se devi connettere fonti aggiuntive o configurare i bucket S3, consulta. Abilita la revisione del codice
Accedi alla pagina di revisione del codice
Vai alla sezione delle revisioni del codice nell'applicazione web.
-
Accedi all'applicazione Web AWS Security Agent.
-
Nella barra laterale sinistra, scegli Code reviews.
-
Viene visualizzato un elenco di revisioni del codice esistenti con le informazioni sulla fonte, lo stato dell'ultima esecuzione e il riepilogo dei risultati.
Crea una revisione del codice
Imposta una nuova revisione del codice configurandone gli input e le autorizzazioni del codice sorgente.
-
Nella pagina di revisione del codice, scegli Crea revisione del codice.
Configura i dettagli della revisione del codice
Fornisci un titolo e seleziona il codice sorgente da esaminare.
-
Nel campo Titolo, inserisci un nome descrittivo per la revisione del codice.
Suggerimento
Usa un nome che identifichi l'applicazione, l'archivio o l'ambito della revisione. Ad esempio, «billing-service-security-review» o «infrastructure-code-audit».
-
Nella sezione Sorgenti, seleziona gli input del codice sorgente per questa recensione. Scegliete tra due schede:
GitHub archivi
Seleziona tra i repository collegati al tuo Agent Space.
-
Scegli la scheda dei GitHub repository.
-
Nella tabella Archivi integrati, seleziona la casella di controllo accanto a ciascun repository che desideri includere nella revisione.
-
Utilizza il campo di ricerca per trovare repository specifici per nome.
Nota
Qui vengono visualizzati solo i repository collegati a Agent Space tramite la configurazione di revisione del codice. Per aggiungere altri repository, scegli Gestisci nella console di amministrazione o chiedi all'amministratore di aggiornare la configurazione di Agent Space.
Sorgenti S3
Seleziona i file ZIP dai bucket S3 collegati al tuo Agent Space. L'amministratore di Agent Space configura quali bucket S3 sono disponibili. Qualsiasi file ZIP archiviato in uno di questi bucket può essere utilizzato come fonte per una revisione del codice.
-
Scegli la scheda Sorgenti S3.
-
Inserisci l'URI S3 di ogni file ZIP che desideri includere nella recensione. Puoi aggiungere fino a 30 sorgenti S3.
Nota
Le fonti S3 devono essere file ZIP archiviati in bucket S3 collegati a Agent Space. Per rendere disponibili bucket aggiuntivi, consulta. Abilita la revisione del codice
Configurazione delle autorizzazioni
Seleziona il ruolo del servizio IAM e il gruppo di CloudWatch log opzionale per questa revisione del codice.
-
Nella sezione Autorizzazioni, individua il menu a discesa del ruolo di servizio.
-
Seleziona il ruolo IAM dai ruoli di servizio configurati.
Nota
Il ruolo di servizio deve disporre delle autorizzazioni per accedere al codice sorgente in S3 e scrivere nei CloudWatch log e qualsiasi altra risorsa AWS necessaria per la revisione del codice. I ruoli di servizio vengono configurati durante la configurazione della revisione del codice nella Console di gestione AWS.
-
(Facoltativo) Nel menu a discesa del gruppo di CloudWatch log, seleziona un gruppo di log per archiviare i log di esecuzione della revisione del codice.
Nota
Se non si seleziona un gruppo di log, AWS Security Agent crea un gruppo di log predefinito per archiviare i log di revisione del codice.
Configura la correzione automatica del codice
Abilita la correzione automatica per consentire ad AWS Security Agent di generare correzioni di codice per tutti i risultati non appena la revisione è completata.
-
Nella sezione Correzione automatica del codice, seleziona la casella di controllo Abilita la correzione automatica del codice.
Il modo in cui AWS Security Agent fornisce la correzione dipende dalla fonte:
-
GitHub Archivi privati: AWS Security Agent invia una pull request con la correzione al repository.
-
GitHub Archivi pubblici: per evitare di rivelare la vulnerabilità prima che venga risolta, AWS Security Agent non apre una pull request. Allega invece una differenza suggerita alla scoperta che puoi scaricare dall'applicazione Web e candidarti privatamente.
-
Sorgenti S3: la correzione del codice non è disponibile. Esamina i dettagli dei risultati e applica le correzioni manualmente.
Importante
Le richieste di ripristino inviate agli archivi privati sono visibili a tutti coloro che dispongono dell'accesso in lettura. Rivedi le modifiche prima di procedere all'unione. La correzione automatica del codice è disponibile solo quando i GitHub repository sono selezionati come origine.
Nota
Se disattivata, è comunque possibile attivare manualmente la correzione del codice per GitHub-sourced i singoli risultati dopo il completamento della revisione.
Configura la convalida simulata
Abilita la convalida simulata per confermare dinamicamente se le vulnerabilità scoperte sono sfruttabili in un'applicazione in esecuzione.
-
Nella sezione Convalida simulata, seleziona la casella di controllo Abilita convalida simulata.
Se abilitato, AWS Security Agent effettua il provisioning di un ambiente simulato dopo il completamento dell'analisi statica. Incorpora il codice sorgente, avvia i servizi all'interno dell'ambiente e tenta di sfruttare le vulnerabilità rilevate durante la scansione. I risultati vengono quindi aggiornati con uno stato di convalida che indica se la vulnerabilità è stata sfruttata con successo.
Nota
La convalida simulata è attualmente disponibile solo per le applicazioni dockerabili autonome. Quando vengono selezionati più repository come fonti, la convalida simulata non è disponibile.
Importante
La convalida simulata aggiunge tempo di elaborazione all'esecuzione della revisione del codice. La fase di convalida fornisce un ambiente ed esegue tentativi di sfruttamento. Questa operazione richiede in genere da 1 a 3 ore a seconda del numero di risultati e della complessità dell'applicazione.
Destinazioni di rete consentite
L'ambiente simulato ha un accesso alla rete in uscita limitato a una lista di autorizzazioni predefinita. L'applicazione può raggiungere i seguenti domini durante la convalida:
La tabella seguente elenca i domini consentiti e i relativi scopi.
| Dominio | Scopo |
|---|---|
|
|
Servizi AWS |
|
|
Amazon ECR Public |
|
|
Docker Hub |
|
|
GitHub |
|
|
GitLab |
|
|
registro npm |
|
|
Indice dei pacchetti Python |
|
|
Pacchetti Rust |
|
|
Java/Gradle pacchetti |
|
|
pacchetti.NET |
|
|
Pacchetti Ruby |
|
|
Pacchetti Go |
|
|
Node.js |
|
|
Repository di distribuzione Linux |
|
|
CloudFront distribuzioni |
|
|
API di Google |
|
|
Servizi Microsoft |
|
|
Hosting dei sorgenti |
Nota
Se l'applicazione richiede l'accesso alla rete a domini non presenti in questo elenco, la connessione verrà bloccata dal firewall di rete. Le applicazioni che dipendono da API o servizi esterni non elencati sopra potrebbero non avviarsi correttamente nell'ambiente simulato.
Crea la revisione del codice
-
Rivedi la configurazione per garantirne l'accuratezza.
-
Scegli Crea revisione del codice.
Verrai reindirizzato alla pagina dei dettagli della revisione del codice dove puoi iniziare una revisione.
Esegui una revisione del codice
Dopo aver creato una revisione del codice, avvia un'esecuzione per iniziare l'analisi.
-
Nella pagina dei dettagli della revisione del codice, scegli Inizia revisione.
-
AWS Security Agent inizia ad analizzare il codice sorgente.
Puoi anche iniziare una revisione dalla pagina dell'elenco delle revisioni del codice selezionando Inizia revisione accanto alla revisione del codice che desideri eseguire.
Monitora l'esecuzione di una revisione del codice
Tieni traccia dello stato di avanzamento della revisione del codice durante l'esecuzione.
Rivedi le fasi di esecuzione
Un'esecuzione di revisione del codice procede attraverso le seguenti fasi, visualizzate come indicatore di avanzamento:
-
Preflight: AWS Security Agent convalida l'accesso al codice sorgente e configura l'ambiente di test. I controlli preliminari includono:
-
Configurazione dell'infrastruttura di servizio
-
Convalida dell'accesso alla sorgente S3
-
Configurazione dell'ambiente di test
-
-
Analisi statica: AWS Security Agent scansiona il codice sorgente alla ricerca di vulnerabilità di sicurezza e violazioni dei requisiti.
-
Convalida simulata (opzionale): se la convalida simulata è abilitata, AWS Security Agent fornisce un ambiente simulato e distribuisce l'applicazione. Quindi tenta di sfruttare le vulnerabilità scoperte durante l'analisi statica. Questo passaggio conferma se i risultati sono sfruttabili nel runtime di destinazione. Questa fase viene visualizzata solo quando si abilita la convalida simulata durante la creazione della revisione del codice.
-
Finalizzazione: AWS Security Agent compila i risultati e genera il riepilogo dei risultati.
Visualizza i dettagli della corsa
Nella pagina dei dettagli della corsa, naviga tra le schede per monitorare l'avanzamento:
-
Esecuzione di revisione del codice: visualizza il riepilogo dell'esecuzione, che include l'ID di esecuzione, l'ora di creazione, lo stato, la durata, le ore dell'attività, la suddivisione del livello di gravità e il grafico dei tipi di rischio.
-
Preflight: visualizza l'avanzamento e lo stato del controllo preliminare di ogni fase di convalida.
-
Registri di revisione del codice: visualizza le attività che AWS Security Agent ha identificato e svolto durante la revisione, con log delle attività dettagliati per ogni fase.
-
Convalida simulata: quando la convalida simulata è abilitata, visualizza lo stato del provisioning, le attività di convalida per i singoli risultati e i relativi risultati.
-
Risultati: visualizza i risultati di sicurezza al termine della revisione (vedi). Esamina i risultati di una revisione del codice
Esegui la cronologia
Ogni revisione del codice mantiene una cronologia di tutte le esecuzioni. Nella pagina dei dettagli della revisione del codice:
-
La sezione Ultima esecuzione mostra l'esecuzione più recente con l'ora di inizio, lo stato, la durata e l'ID.
-
La tabella Tutte le esecuzioni elenca tutte le esecuzioni precedenti con ora di inizio, stato, durata, riepilogo dei risultati e ID.
-
Scegli Monitor run per visualizzare i dettagli dell'ultima esecuzione attiva.
-
Scegli il link all'ora di inizio di una corsa per visualizzarne tutti i dettagli.
Fasi successive
Dopo aver eseguito una revisione del codice:
-
Esamina i risultati di sicurezza e le relative linee guida per la correzione (vediEsamina i risultati di una revisione del codice)
-
Correggi i risultati tramite pull request automatizzate o correzioni manuali (vedi) Correggi i risultati della revisione del codice
-
Esegui ulteriori revisioni dopo aver implementato le correzioni per verificare la correzione
-
Modifica la configurazione o le fonti di revisione del codice man mano che la tua codebase si evolve