View a markdown version of this page

Esamina i risultati sulla sicurezza del codice nelle richieste pull - 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à.

Esamina i risultati sulla sicurezza del codice nelle richieste pull

Dopo aver abilitato la revisione del codice per le pull request per i tuoi repository, AWS Security Agent analizza automaticamente le pull request e pubblica i risultati di sicurezza direttamente nel tuo provider di controllo del codice sorgente. Ciò consente agli sviluppatori di risolvere i problemi di sicurezza all'interno del loro normale flusso di lavoro senza uscire dalla pull request.

Nota

Questa pagina si applica alle richieste GitHub pull, alle richieste di GitLab unione e alle richieste pull di Bitbucket. L'esperienza è simile per tutti i provider.

Come funziona la revisione del codice nelle pull request

Quando invii una pull request (o merge request GitLab) in un repository con la revisione del codice abilitata, AWS Security Agent avvia automaticamente l'analisi.

  1. Trigger di analisi della pull request: la revisione del codice viene attivata quando una pull request viene contrassegnata come «Pronta per la revisione» nei repository in cui hai abilitato la funzionalità di revisione del codice. Le bozze di pull request non vengono analizzate.

  2. Riconoscimento dell'analisi: quando AWS Security Agent inizia ad analizzare la richiesta pull, pubblica un commento iniziale: «AWS Security Agent sta analizzando il tuo codice...» Questo ti informa che l'analisi è iniziata ed è in corso.

  3. Completamento della revisione: una volta completata l'analisi, AWS Security Agent pubblica una recensione sulla pull request con i risultati. Tutti i risultati di sicurezza vengono raggruppati in un'unica revisione per mantenere organizzata la pull request e ridurre al minimo le notifiche.

Comprensione dei risultati della revisione del codice

AWS Security Agent fornisce diversi tipi di risultati a seconda di ciò che trova durante l'analisi.

Quando vengono rilevati problemi di sicurezza

Se AWS Security Agent identifica problemi di sicurezza nelle modifiche al codice, pubblica una recensione che include:

  • Riepilogo: una panoramica di alto livello di tutti i risultati di sicurezza, che descrive i tipi di problemi identificati e il loro potenziale impatto

  • Risultati individuali: i risultati di sicurezza dettagliati vengono visualizzati sotto forma di commenti articolati nella parte inferiore della revisione principale, e ogni risultato include:

    • Descrizione del problema di sicurezza

    • Ubicazione nel codice in cui è stato rilevato il problema

    • Guida alla risoluzione che spiega come risolvere il problema

    • Contesto pertinente in base alle impostazioni di revisione del codice (violazioni dei requisiti di sicurezza, vulnerabilità comuni o entrambi)

Nota

I tipi di problemi di sicurezza analizzati dipendono dalle impostazioni di revisione del codice. Se hai configurato la convalida dei requisiti di sicurezza, i risultati faranno riferimento ai requisiti di sicurezza personalizzati della tua organizzazione. Se hai configurato i risultati delle vulnerabilità di sicurezza, i risultati identificheranno le vulnerabilità di sicurezza più comuni. Per ulteriori informazioni sulle impostazioni di revisione del codice, consulta. Abilita la revisione del codice pull request per i GitHub repository

Quando non vengono rilevati problemi di sicurezza

Se AWS Security Agent completa l'analisi e non rileva problemi di sicurezza nelle modifiche al codice, pubblica un commento: «Nessun problema identificato». Ciò conferma che la revisione è stata completata correttamente e che le modifiche al codice non hanno generato alcun problema di sicurezza in base alle impostazioni di revisione del codice configurate.

Risposta ai risultati di sicurezza

Dopo aver esaminato i risultati di sicurezza pubblicati da AWS Security Agent, puoi intervenire direttamente nel tuo provider di controllo del codice sorgente.

  • Risolvi i risultati: aggiorna il codice in base alle linee guida di correzione fornite nei risultati, quindi invia nuovi commit alla pull request. AWS Security Agent analizzerà il codice aggiornato.

  • Risolvi le conversazioni: dopo aver risolto un problema di sicurezza, contrassegna la conversazione come risolta per tenere traccia dei progressi.

Suggerimento

Ogni risultato include linee guida specifiche per la risoluzione, personalizzate in base al problema di sicurezza identificato. Consulta attentamente questa guida per comprendere i rischi per la sicurezza e come affrontarli in modo efficace.

Filtraggio dei risultati della revisione del codice

Puoi personalizzare il modo in cui AWS Security Agent analizza il codice aggiungendo un filtering.md file al tuo repository. Questo file consente di ridurre i falsi positivi fornendo un contesto sulla base di codice ed escludendo file o cartelle dall'analisi.

Creazione del file di filtraggio

Crea un file denominato filtering.md nella .awssecurityagent directory alla radice del tuo repository:

.awssecurityagent/filtering.md

AWS Security Agent legge questo file dal ramo principale del repository (ad esempio, main omainline) durante l'analisi delle richieste pull.

Struttura dei file

Il filtering.md file utilizza la formattazione Markdown standard con sezioni specifiche riconosciute da AWS Security Agent. Il file deve includere un'Code Reviewintestazione seguita da una o entrambe le seguenti sezioni: IgnorePatterns e ContextHints (senza spazio).

L'esempio seguente mostra la struttura completa di un filtering.md file:

# filtering.md

## Code Review

### IgnorePatterns

**/*.md

/myapp/src/**/*.snap

/myapp/config/README

### ContextHints

- The backend is a trusted system and won't return non-standard protocols.
- URL is generated from server with presigned token, so no SSRF security vulnerabilities.
- AppSec has verified that we are allowed to use cache with an eviction policy.

Ignora i modelli

La IgnorePatterns sezione specifica i file e le cartelle che AWS Security Agent deve ignorare durante la revisione del codice. glob patternsUtilizzato per definire quali percorsi escludere dall'analisi.

Requisiti di formato:

  • Ogni modello deve essere su una riga distinta.

  • Separa ogni motivo con una riga vuota tra di essi. Ciò garantisce il corretto rendering del file quando viene visualizzato nei nostri strumenti GitHub di revisione del codice.

  • I pattern seguono il formato glob standard. Ad esempio, **/*.md corrisponde a tutti i file markdown e /myapp/src/**/*.snap corrisponde a tutti .snap i file all'interno della /myapp/src/ cartella alla radice.

  • In questa sezione supportiamo fino a 1000 modelli di ignoramento.

Suggerimenti contestuali

La ContextHints sezione fornisce un contesto aggiuntivo sulla tua base di codice che aiuta AWS Security Agent a effettuare valutazioni più accurate. Utilizza i suggerimenti di contesto per spiegare le decisioni architettoniche, le eccezioni di sicurezza o altre informazioni che potrebbero influire sul modo in cui i risultati vengono interpretati.

Requisiti di formato:

  • Ogni suggerimento deve iniziare con un trattino (-) seguito da uno spazio.

  • Scrivi ogni suggerimento come una singola riga di testo in formato libero limitata a 500 caratteri.

  • Ogni suggerimento dovrebbe descrivere un contesto specifico sulla tua base di codice.

  • In questa sezione supportiamo fino a 20 suggerimenti di contesto.

I suggerimenti di contesto vengono applicati dopo che AWS Security Agent ha completato l'analisi iniziale, aiutando a filtrare i risultati che non si applicano al caso d'uso specifico.

Fasi successive

Dopo aver esaminato i risultati sulla sicurezza del codice:

  • Aggiorna il codice in base alle linee guida per la correzione

  • Invia nuovi commit per avviare una nuova analisi delle modifiche

  • Se necessario, modificate le impostazioni di revisione del codice (vedi) Abilita la revisione del codice pull request per i GitHub repository

  • Rivedi i requisiti di sicurezza della tua organizzazione per comprendere i criteri di convalida

  • Prendi in considerazione i test di penetrazione per una convalida di sicurezza completa delle applicazioni distribuite