Prerequisiti
Prerequisiti
Per eseguire una scansione:
- 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 impegno della scansione. 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 Va bene, avvia la scansione oppure invia feedback.
- Man mano che emergono rilevamenti, esamina le prove e intervieni sui rilevamenti che richiedono attenzione.
Esamina i rilevamenti e intervieni
- Open — richiede attenzione.
- Reviewed — è stata esaminata e non richiede più interventi.
- Dismissed — è stata identificata come falso positivo o duplicato.
Cosa include un rilevamento
- 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
Avvia una sessione di Devin per risolvere il problema e aprire una pull request. La sessione e la pull request risultante vengono registrate nel rilevamento.
Profili di scansione
Crea un profilo
- 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
Indicazioni per l’indagine
Indicazioni per il triage
Convalida nella sandbox
Report
Indicazioni per la correzione
Input avanzati
- 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
- 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
Modalità interattiva
- 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
Scansione su larga scala
Scegliere una modalità di scan
L’interactive mode è disponibile per gli scan di sicurezza single-repo e multi-repo ed è abilitata per default in uno scan single-repo se la tua organizzazione non ha ancora eseguito alcuno scan.
Livello di approfondimento dello scan
- 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
- 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
- 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.
Il caricamento degli allegati passa dall’attachments API, quindi anche l’ingestione da file caricati richiede Use Devin sessions. I code scan di ingestione possono essere avviati anche dall’API.
Auto Scan
- 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.
Auto Scan è disponibile solo quando le automazioni sono abilitate per la tua organizzazione. Per configurarlo sono necessari sia Gestire le scansioni del codice sia l’autorizzazione a gestire le automazioni.
Le scansioni Auto Scan sono incrementali: ogni esecuzione esamina solo i commit aggiunti dall’ultima scansione completata. Facendo invece clic su Avvia scansione, per impostazione predefinita viene eseguita una scansione completa dell’ambito del repository.
Scansiona i nuovi commit
Avviare le scansioni dalle automazioni
- 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
- 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
Modificare il profile di un code scan
Dashboard di Sicurezza
- 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
Per avviare code scan, inviare feedback e assegnare rilevamenti a Devin è inoltre necessaria l’autorizzazione a usare le sessioni Devin. Auto Scan richiede anche l’autorizzazione a gestire le automazioni.
Per impostazione predefinita, i membri non ricevono autorizzazioni per le code scan. I proprietari dispongono di tutte le autorizzazioni e gli amministratori possono concederle ai membri tramite i ruoli personalizzati.
Le stesse autorizzazioni per le code scan regolano l’API Code Scans (le chiamate API non richiedono inoltre l’autorizzazione per le sessioni, tranne il caricamento dei report dello scanner per le code scan di ingestione, che avviene tramite l’API degli allegati e richiede Usare le sessioni Devin). Gli utenti di servizio o i token di accesso personale con Usare le code scan possono avviare code scan, avviare code scan di ingestione e correggere i rilevamenti; Visualizzare le code scan consente di elencare le code scan, visualizzare i profili e le relative linee guida, i rilevamenti e le metriche. Consulta Attivazione di Code Scans tramite l’API Devin per il flusso completo.
Confronta Security Swarm con un altro scanner
FAQ
In che modo Security Swarm riduce i falsi positivi?
In che modo Security Swarm riduce i falsi positivi?
Security Swarm analizza le potenziali vulnerabilità nel contesto del tuo repository, invece di segnalare pattern rischiosi in modo isolato. Devin traccia i flussi di dati pertinenti, verifica i controlli di convalida e autorizzazione e valuta se il problema ha un impatto concreto sulla sicurezza.Ogni rilevamento include un livello di attendibilità e gli elementi di supporto. Esaminali prima di intervenire, soprattutto quando un rilevamento non è stato convalidato in una sandbox.
Quali elementi dovrei esaminare in un rilevamento?
Quali elementi dovrei esaminare in un rilevamento?
Verifica il codice interessato, il punto di ingresso, il flusso di dati, le mitigazioni esistenti, l’impatto dichiarato, l’attendibilità e la sfruttabilità. Quando la convalida nella sandbox è abilitata, esamina anche il risultato della convalida e i relativi artefatti di supporto.Se gli elementi forniti non tengono conto di un controllo o indicano un impatto non supportato, usa Feedback per fornire il contesto mancante per le scansioni future.
Cosa aggiunge la convalida nella sandbox?
Cosa aggiunge la convalida nella sandbox?
La convalida nella sandbox tenta di riprodurre un rilevamento compilando ed eseguendo l’applicazione in un ambiente isolato. Una convalida riuscita fornisce prove più solide della sfruttabilità, mentre una convalida non riuscita può evidenziare presupposti o limitazioni dell’ambiente che richiedono ulteriori verifiche.La convalida nella sandbox è facoltativa e richiede indicazioni per la convalida sufficienti perché Devin possa compilare, eseguire, inizializzare e autenticare l’applicazione in modo sicuro.
In che modo Security Swarm trova vulnerabilità che coinvolgono più file?
In che modo Security Swarm trova vulnerabilità che coinvolgono più file?
Security Swarm analizza in parallelo parti del repository e combina i risultati in una vista dell’intero repository. Questo gli consente di identificare le relazioni tra i componenti, ad esempio un endpoint che espone un identificatore necessario per sfruttarne un altro.Qualsiasi rilevamento concatenato risultante dovrebbe comunque identificare i percorsi di codice pertinenti e spiegare come le singole condizioni si combinano in un impatto concreto.
Perché i risultati potrebbero variare tra una scansione e l'altra?
Perché i risultati potrebbero variare tra una scansione e l'altra?
Security Swarm usa un’analisi agentic, quindi scansioni separate potrebbero non produrre rilevamenti o formulazioni identici. Un ambito ben definito, un modello di minaccia esplicito, criteri di gravità chiari e indicazioni di indagine specifiche aiutano a mantenere coerente la copertura.Raccogli questi requisiti in un profilo di scansione riutilizzabile, usa la modalità interattiva per esaminare il modello di minaccia proposto e fornisci feedback quando un risultato non coglie un contesto importante.
Una scansione completata significa che il repository non ha altre vulnerabilità?
Una scansione completata significa che il repository non ha altre vulnerabilità?
Nessuno scanner di sicurezza può garantire una copertura completa. I risultati dipendono dall’ambito selezionato, dalle indicazioni del profilo, dal contesto del repository disponibile e dalla possibilità di convalidare i rilevamenti nell’ambiente configurato.Esegui scansioni separate per modelli di attaccante o categorie di minaccia distinti, mantieni aggiornati i profili man mano che l’applicazione cambia e usa Security Swarm insieme alle pratiche esistenti di revisione della sicurezza e testing.

