View a markdown version of this page

Creare una revisione del codice - Agente di sicurezza AWS

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.

  1. Accedi all'applicazione Web AWS Security Agent.

  2. Nella barra laterale sinistra, scegli Code reviews.

  3. 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.

  1. 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.

  1. 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».

  2. 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.

  1. Scegli la scheda dei GitHub repository.

  2. Nella tabella Archivi integrati, seleziona la casella di controllo accanto a ciascun repository che desideri includere nella revisione.

  3. 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.

  1. Scegli la scheda Sorgenti S3.

  2. 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.

  1. Nella sezione Autorizzazioni, individua il menu a discesa del ruolo di servizio.

  2. 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.

  3. (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.

  1. 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.

  1. 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

.amazonaws.com, .aws.amazon.com

Servizi AWS

.public.ecr.aws

Amazon ECR Public

.docker.com, .docker.io

Docker Hub

.github.com, .githubusercontent.com

GitHub

.gitlab.com

GitLab

.npmjs.com, .npmjs.org

registro npm

.pypi.org, .pypi.python.org, .pythonhosted.org

Indice dei pacchetti Python

.crates.io, .rustup.rs

Pacchetti Rust

.maven.org, .gradle.org

Java/Gradle pacchetti

.nuget.org

pacchetti.NET

.rubygems.org, .ruby-lang.org

Pacchetti Ruby

.golang.org, .pkg.go.dev, .goproxy.io

Pacchetti Go

.nodejs.org, .yarnpkg.com

Node.js

.alpinelinux.org, .debian.org, .ubuntu.com, .centos.org, .fedoraproject.org

Repository di distribuzione Linux

.cloudfront.net

CloudFront distribuzioni

.google.com, .googleapis.com

API di Google

.microsoft.com, .visualstudio.com

Servizi Microsoft

.sourceforge.net, .bitbucket.org

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

  1. Rivedi la configurazione per garantirne l'accuratezza.

  2. 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.

  1. Nella pagina dei dettagli della revisione del codice, scegli Inizia revisione.

  2. 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:

  1. 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

  2. Analisi statica: AWS Security Agent scansiona il codice sorgente alla ricerca di vulnerabilità di sicurezza e violazioni dei requisiti.

  3. 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.

  4. 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: