Prerequisiti
Prerequisiti
- La tua organizzazione deve avere accesso al repository che vuoi analizzare.
- Devi essere autorizzato a usare le sessioni Devin.
- Ti serve l’autorizzazione Use code scans.
- Per configurare una pianificazione Auto Scan, ti servono anche Manage code scans e l’autorizzazione per gestire le automazioni.
Esegui la tua prima scansione
- Apri Sicurezza nella barra laterale sinistra e fai clic su Avvia scansione.
- In Singolo repo, scegli una repo da analizzare.
- Facoltativamente seleziona un profilo di scansione e un livello di approfondimento dello scan. Se lasci vuoto il profilo, viene usata la scansione di sicurezza integrata di Security Swarm.
- Assicurati che Modalità interattiva sia abilitata.
- Fai clic su Esegui scansione.
- Quando il modello di minaccia proposto è pronto, esaminalo e fai clic su Sembra tutto corretto, avvia la scansione oppure invia feedback.
- Man mano che emergono risultati, esamina le prove e intervieni sui risultati che richiedono attenzione.
Creazione di un profilo di scansione, esecuzione di una scansione interattiva ed esame dei rilevamenti in Security Swarm
Esamina i rilevamenti e intervieni
Apri una scansione per vedere i relativi rilevamenti. La pagina mostra a sinistra un elenco di rilevamenti, raggruppate per gravità, e a destra i dettagli del rilevamento selezionato. Le tab di stato mostrano un conteggio in tempo reale:- Open — richiede attenzione.
- Reviewed — è stata esaminata e non richiede più interventi.
- Dismissed — è stata identificata come falso positivo o duplicato.
Cosa include un rilevamento
Un rilevamento include:- Gravità, stato, sfruttabilità, livello di attendibilità e categoria.
- Il percorso del file e gli snippet di codice interessati.
- Una descrizione del problema e una raccomandazione per la correzione.
- Un risultato della convalida nella sandbox, prove a supporto e artefatti di convalida.
- Le pull request associate e il loro stato: aperte, integrate o chiuse.
- I responsabili del codice e le note, quando disponibili.
Intervenire su un rilevamento
- Assegna a Devin
- Feedback
- Modifica
Profili di scansione
Un profilo di scansione definisce l’ambito della scansione e fornisce indicazioni per ogni fase del processo. Ogni scansione può usare un solo profilo. Per valutare un repository rispetto a più profili di attaccante o categorie di minacce, esegui scansioni separate con profili diversi. Gestisci i profili dalla scheda Profili nella pagina Sicurezza.Crea un profilo
Puoi creare un profilo in due modi:- Genera con Devin — descrivi l’applicazione, le minacce, l’ambito, le esclusioni e i criteri di gravità in linguaggio naturale. Devin crea una bozza del profilo per te.
- Crea manualmente — compila personalmente ogni campo del profilo.
Informazioni di base
- Nome del profilo — indica la superficie dell’applicazione o la categoria di minaccia, anziché il team che esegue la scansione. Esempio:
Autorizzazione API multi-tenant. - Descrizione — riassumi l’ambito del profilo e il relativo obiettivo di sicurezza. Esempio:
Individua vulnerabilità di autenticazione, autorizzazione e isolamento del tenant nell'API pubblica.
Modello di minaccia
Descrivi l’attaccante, gli asset sensibili, i confini di attendibilità, i principali punti di ingresso e tutto ciò che è esplicitamente fuori dall’ambito. Queste indicazioni definiscono le regole che Devin genera prima dell’avvio dell’indagine.Indicazioni per l’indagine
Definisci come Devin deve esaminare un potenziale problema e quali evidenze deve raccogliere. Chiedigli di tenere conto delle mitigazioni esistenti e di distinguere le vulnerabilità sfruttabili dai rischi puramente teorici.Indicazioni per il triage
Definisci come Devin deve eliminare i duplicati e assegnare le priorità ai rilevamenti. Includi i criteri di gravità in modo che i rilevamenti siano in linea con gli standard della tua organizzazione.Convalida nella sandbox
Abilita la convalida nella sandbox quando Devin può compilare ed eseguire test sull’applicazione in sicurezza. Spiega come avviare l’applicazione, creare dati di test, autenticarsi e dimostrare il perimetro di sicurezza atteso. Utilizza Validate severities per scegliere la severità minima che Devin convalida in una sandbox. Solo i rilevamenti pari o superiori a quella severità avviano una sessione di convalida; per impostazione predefinita vengono convalidati i rilevamenti critici, alti e medi. Alza la soglia a critica o alta per dedicare l’attività di convalida solo ai rilevamenti più importanti.Report
Attiva i report quando ti serve un riepilogo al termine della scansione. Specifica il pubblico di destinazione e le informazioni da mettere in evidenza nel report.Indicazioni per la correzione
Specifica i vincoli che Devin deve rispettare quando assegni una segnalazione per la correzione. Includi le aspettative di testing, i requisiti di compatibilità e le pratiche da evitare.Input avanzati
Apri Advanced per gestire l’ambito dei file e i batch di analisi:- Include globs — limita la scansione ai file corrispondenti. Per esempio,
apps/api/**epackages/auth/**. - Exclude globs — rimuovi i file non pertinenti dall’ambito selezionato. Per esempio,
**/generated/**,**/vendor/**e**/fixtures/**. - Batch size — controlla quanti file con segnali vengono raggruppati in ciascun batch di analisi. Lascia il valore predefinito, a meno che tu non voglia ottimizzare intenzionalmente il comportamento della scansione. L’intervallo consentito è 1–500; il valore predefinito è 5.
Profili di ingestione
La modalità di un profile viene fissata al momento della creazione. I profile Discover (il default) analizzano il codice per individuare nuovi issue e usano i campi di guidance descritti sopra. I profile Ingest importano findings già in tuo possesso, provenienti da un altro scanner o report, e sostituiscono gli input relativi ad ambito e modello di minaccia con due campi di guidance:- Ingestion source — dove risiedono i findings esistenti e come Devin deve recuperarli. Per esempio, recuperare gli alert aperti dal code scanning di GitHub tramite la sua API REST, oppure leggere un report Semgrep committato in
reports/semgrep.json. Fai riferimento alle credential tramite il nome del secret dell’organizzazione, anziché incollare un token. - Post-ingestion triage — come Devin deve effettuare il triage dei findings importati: cosa scartare, a cosa cambiare priorità e cosa considerare duplicato. Per esempio, scartare i findings nelle fixture di test e considerare duplicati i findings con lo stesso ID di Rule e lo stesso file.
Profili dell’organizzazione e di Enterprise
I nuovi profili sono limitati all’organizzazione. In seguito, gli amministratori di Enterprise possono modificare la visibilità di un profilo in Enterprise, rendendolo disponibile in tutta l’Enterprise. I profili Enterprise possono essere modificati o archiviati solo dagli amministratori di Enterprise. Gli altri utenti con accesso a Sicurezza possono visualizzarli e usarli, ma non possono modificarli.Modalità interattiva
Con Modalità interattiva abilitata, Devin elabora una proposta di modello di minaccia e si ferma prima dell’analisi. La pagina di scansione mostra le regole proposte e ti consente di:- Sembra tutto corretto, avvia la scansione — accetta il modello di minaccia e avvia l’analisi.
- Fornisci feedback sul modello di minaccia — descrivi cosa aggiungere, rimuovere o mettere in evidenza, quindi rivedi il modello aggiornato.
Configura la convalida nella sandbox
La convalida nella sandbox viene eseguita solo quando il profilo selezionato ha la convalida nella sandbox abilitata e contiene istruzioni di convalida. Fornisci a Devin informazioni sufficienti per compilare, eseguire, inizializzare e autenticare l’applicazione nel suo sandbox. Se il repository ha una configurazione dichiarativa, Devin può riutilizzare la configurazione di build e installazione. In caso contrario, aggiungi alle istruzioni di convalida del profilo i comandi di configurazione richiesti.Scansione su larga scala
Scegliere una modalità di scan
Il pannello New Scan offre quattro modalità di scan:Livello di approfondimento dello scan
Ogni scan viene eseguito con uno di due livelli di approfondimento, selezionabili in Scan effort al momento dell’avvio:- Normal (default) — uno scan più rapido, che utilizza batch di investigation più ampi.
- Deep — segue ogni finding più a fondo all’interno della codebase per la massima accuratezza, a fronte di un cost superiore e di un runtime più lungo.
Eseguire una scansione in blocco di un’organizzazione
Usa Bulk scan nel pannello New Scan per mettere in coda una scansione separata per ogni repository corrispondente:- Inserisci facoltativamente un Repository name filter.
- Seleziona facoltativamente un profilo di scansione.
- Lascia abilitato Skip already-scanned repos per escludere i repository già sottoposti a scansione con il profilo selezionato.
- Fai clic su Anteprima.
- Controlla i repository trovati, deseleziona quelli che non vuoi sottoporre a scansione e conferma.
Ingerire findings esistenti
Usa Ingest findings per portare in Security Swarm i risultati di un altro scanner, così da poterli sottoporre a triage, validare e correggere insieme ai findings di Devin:- Seleziona uno o più repository a cui appartengono i findings.
- Seleziona un profilo di ingestione. Il profilo indica a Devin dove si trovano i findings e come sottoporli a triage dopo l’importazione.
- Facoltativamente, allega fino a 10 report o export (ad esempio file SARIF, CSV o PDF) da cui Devin possa leggere i findings. Se la sorgente di ingestione del profilo punta già a un’API o a un file nel repository, non serve alcun allegato.
- Facoltativamente, abilita l’Interactive mode. Dopo l’importazione, Devin si mette in pausa per permetterti di rivedere ciò che è stato ingerito, inclusi eventuali duplicati, e richiedere correzioni prima di proseguire.
- Scegli uno scan effort e clicca su Run Scan.
Auto Scan
Auto Scan analizza periodicamente i commit aggiunti dopo l’ultima scansione completata. Puoi configurarlo:- Durante l’avvio di una scansione di un singolo repository, selezionando una pianificazione giornaliera, settimanale, mensile o personalizzata.
- Da una scansione esistente, aggiungendo, modificando o disattivando la relativa pianificazione, oppure facendo clic su Scansiona ora per eseguirla immediatamente.
Scansiona i nuovi commit
Fai clic su Scansiona i nuovi commit in una scansione completata per analizzare i commit aggiunti dall’ultimo commit scansionato. Auto Scan utilizza lo stesso comportamento incrementale, quindi le scansioni successive sono meno costose rispetto a scansionare ripetutamente l’intero ambito del repository. Ogni run completo o incrementale viene registrato nella cronologia delle scansioni della scansione.Avviare le scansioni dalle automazioni
Le automazioni includono un tipo di agent Code scan per le scansioni che devono essere eseguite secondo una pianificazione o in risposta a un evento. Invece di avviare una sessione Devin con un prompt, l’automazione avvia direttamente la scansione. Scegli una delle due azioni:- Start code scan — avvia una nuova scansione della repo o delle repo configurate, con il tipo di scansione, il profilo e l’effort impostati, ogni volta che l’automazione si attiva.
- Scan new commits — estende una scansione esistente con un run incrementale che copre i commit aggiunti dall’ultimo run completato. La scansione deve già avere un run completato.
/scan. Per le scansioni di performance, test coverage, dead code e altre scansioni non legate alla sicurezza, consulta Code Scans.
Gestire e monitorare le scansioni
A seconda della scansione e del relativo profilo, l’intestazione della scansione può includere:- Reports — scarica i report generati per la scansione.
- Usage — visualizza gli ACU consumati, il numero di sessioni, la durata della scansione e le statistiche delle pull request.
- Session — apri la sessione principale di Devin che ha eseguito la scansione.
- Scan history — visualizza ogni run della scansione. Vedi Scan history.
- Change profile — cambia il profilo utilizzato dai run futuri. Vedi Cambiare il profilo di una scansione.
- Export as CSV — esporta i rilevamenti della scansione.
- Archive o Unarchive — nascondi la scansione dall’elenco predefinito o ripristinala nell’elenco predefinito.
- Scan new commits — avvia una scansione incrementale.
Scan history
Apri Scan history su uno scan per vedere tutte le esecuzioni, dalla più recente. Ogni run indica se si trattava di un Full scan o Incremental, il relativo status, l’effort e il profile utilizzati, gli ACU consumati e un collegamento alla sessione Devin corrispondente. Usalo per verificare che Auto Scan venga eseguito secondo la pianificazione e per confrontare il costo dei run completi e incrementali.Modificare il profile di un code scan
Fai clic su Change profile in un code scan completato per selezionare un profile diverso. Il nuovo profile viene applicato ai run successivi del code scan, inclusi Auto Scan e Scan new commits; i run già completati e i relativi finding restano invariati. Non è possibile cambiare il profile mentre un code scan è in corso. Per modificare un profile è necessario il permesso Use code scans.Dashboard di Sicurezza
Dopo il completamento della prima scansione dell’organizzazione, la pagina Sicurezza mostra una dashboard a livello di organizzazione relativa agli ultimi 7, 30 o 90 giorni:- Statistiche delle pull request — pull request create, integrate, aperte e chiuse, oltre al tasso di merge.
- Andamento dei rilevamenti — rilevamenti raggruppati per gravità nel periodo selezionato.
Accesso e autorizzazioni
L’accesso a Sicurezza è controllato tramite le autorizzazioni per le code scan nell’editor dei ruoli:Confronta Security Swarm con un altro scanner
Per un confronto utile, assegna a entrambi gli scanner lo stesso ambito, lo stesso modello di minaccia, gli stessi criteri di gravità e gli stessi requisiti di convalida. Altrimenti, le differenze di configurazione possono oscurare le differenze nelle capacità effettive. Usa i profili per definire i criteri di confronto, la modalità interattiva per confermare il modello di minaccia generato e la convalida sandbox per applicare lo stesso standard di evidenza ai rilevamenti segnalati.FAQ
In che modo Security Swarm riduce i falsi positivi?
In che modo Security Swarm riduce i falsi positivi?
Quali elementi dovrei esaminare in un rilevamento?
Quali elementi dovrei esaminare in un rilevamento?
Cosa aggiunge la convalida nella sandbox?
Cosa aggiunge la convalida nella sandbox?
In che modo Security Swarm trova vulnerabilità che coinvolgono più file?
In che modo Security Swarm trova vulnerabilità che coinvolgono più file?
Perché i risultati potrebbero variare tra una scansione e l'altra?
Perché i risultati potrebbero variare tra una scansione e l'altra?
Una scansione completata significa che il repository non ha altre vulnerabilità?
Una scansione completata significa che il repository non ha altre vulnerabilità?

