Codex Security è un’anteprima di ricerca che aiuta i team a identificare, convalidare e correggere le vulnerabilità nel codice. È progettato per funzionare più come un ricercatore di sicurezza che come uno scanner tradizionale: legge il codice, esegue test, esplora percorsi di attacco realistici e propone patch che i team possono esaminare nel loro normale flusso di lavoro.
Panoramica
Oggi Codex Security si collega direttamente ai repository GitHub. Dopo aver abilitato un repository, crea un modello di minaccia specifico per la codebase, analizza la cronologia del repository, convalida le potenziali vulnerabilità in un ambiente isolato e mostra correzioni proposte per la revisione umana.
Codex Security si basa su tre fasi: identificazione, convalida e correzione. Durante l’identificazione, analizza il repository ed esplora percorsi di attacco realistici. Durante la convalida, cerca di riprodurre ogni problema per confermarne l’effettiva esistenza. Durante la correzione, genera una patch concreta che i team possono esaminare e trasformare in una pull request.
Come funziona Codex Security
Quando Codex Security si collega a un repository, analizza i commit in ordine cronologico inverso e crea un modello di minaccia specifico per la codebase. Questo modello cattura i punti di ingresso per gli attaccanti, i confini di attendibilità, i dati sensibili e i percorsi di codice ad alto impatto, che Codex usa per concentrare l’analisi su scenari di attacco realistici. I team possono ispezionare e modificare il modello di minaccia affinché rifletta le reali ipotesi di distribuzione.
Codex Security segue un flusso di correzione a ciclo chiuso:
Analizza il repository: Codex si collega al tuo repository GitHub, analizza la codebase e crea un modello di minaccia a partire dal repository e dalla cronologia dei commit.
Individua le vulnerabilità: Usando quel modello di minaccia, Codex esplora percorsi di codice realistici e identifica potenziali vulnerabilità.
Convalida in una sandbox: Codex esegue un validatore automatico in un ambiente isolato per riprodurre il problema, acquisire i dettagli di esecuzione e confermare la sfruttabilità prima di mostrare il risultato.
Genera una patch: Per le vulnerabilità convalidate, Codex produce un suggerimento di patch minimo che affronta la causa principale.
Revisione umana e pull request: La patch non modifica automaticamente il tuo codice. Viene mostrata per la revisione umana e può essere trasformata in una pull request per il tuo normale flusso di lavoro.
Convalida di nuovo dopo la correzione: Dopo che un problema confermato è stato corretto e unito, Codex può convalidare di nuovo la correzione, chiudendo il ciclo dal rilevamento alla correzione.
Per ogni risultato, Codex Security può produrre un’analisi del percorso di attacco che mostra come un input controllato da un attaccante potrebbe spostarsi da un punto di ingresso a un esito sensibile. Assegna un punteggio a quel percorso in base a probabilità e impatto e rende visibili le ipotesi sottostanti, aiutando così i team a dare priorità ai rischi realistici rispetto agli avvisi isolati.
Prima di mostrare un risultato, Codex Security cerca di riprodurlo in un ambiente isolato. Il validatore registra i risultati della riproduzione, i dettagli di esecuzione e gli artefatti proof-of-concept, così i team possono concentrarsi sui risultati di cui è stato effettivamente dimostrato il funzionamento.
Per i risultati convalidati, Codex Security propone una patch minima che affronta la causa principale. Non modifica automaticamente il tuo codice. Invece, la patch viene mostrata per la revisione umana e può essere trasformata in una pull request nel tuo flusso di lavoro esistente.
Per iniziare
Vai a chatgpt.com/codex/security.
Collega e abilita i repository GitHub che vuoi far analizzare a Codex Security.
Attendi il completamento dell’analisi iniziale. Codex Security crea prima un modello di minaccia per il progetto e analizza la cronologia del repository alla ricerca di vulnerabilità esistenti. Questo può richiedere più tempo per i progetti di grandi dimensioni. Le analisi del nuovo codice sono più rapide.
Esamina i risultati, i dettagli di convalida e le patch proposte.
Controlli di accesso basati sui ruoli (RBAC)
Per le aree di lavoro Enterprise ed Edu, gli amministratori possono gestire l’accesso a Codex Security nelle autorizzazioni dell’area di lavoro. Codex Security richiede che siano abilitati per l’area di lavoro sia l’accesso a Codex Cloud sia l’accesso a Codex Security. L’accesso può anche essere limitato a ruoli o gruppi specifici tramite RBAC, inclusi i gruppi sincronizzati con SCIM. Per consentire ai membri di gestire le configurazioni di scansione di Codex Security, abilita anche l’autorizzazione di amministrazione di Codex Security per il ruolo o gruppo appropriato.
Per aggiornare le autorizzazioni della tua area di lavoro:
In ChatGPT, fai clic sull’icona del tuo profilo e seleziona Impostazioni area di lavoro -> Autorizzazioni per andare alla pagina autorizzazioni dell’area di lavoro.
Scorri verso il basso fino a Codex Cloud.
Assicurati che l’accesso a Codex Cloud sia abilitato.
Abilita o disabilita l’accesso attivando Consenti ai membri di usare Codex Security.
Se il ruolo o gruppo deve gestire le configurazioni di scansione, abilita anche Consenti ai membri di amministrare Codex Security.
Scopri di più sui controlli di accesso basati sui ruoli nella tua area di lavoro ChatGPT.
Best practice
Inizia con un piccolo insieme di repository e un gruppo dedicato di revisori. Consigliamo inizialmente un’implementazione mirata, soprattutto mentre l’onboarding e la condivisione delle vulnerabilità sono ancora relativamente manuali.
Affina il modello di minaccia man mano che impari. Piccoli aggiornamenti al modello possono migliorare il contesto e rendere i risultati più precisi nel tempo.
Se oggi non usi GitHub Cloud, valuta di iniziare con repository a rischio più basso o non di produzione per la valutazione. Questo può aiutare i team ad acquisire fiducia nel flusso di lavoro prima di un’adozione più ampia.
Esamina le PR di patch generate con il tuo normale processo di revisione. Consigliamo anche di usare Codex Code Review sulle PR di Codex Security affinché la correzione non introduca regressioni.
FAQ
Codex Security modifica automaticamente il mio codice?
No. Codex Security propone una patch per la revisione umana. Questa proposta può essere trasformata in una pull request, ma non modifica automaticamente il tuo codice.
Codex Security si basa sul fuzzing o sulla scansione basata su firme?
No. Codex Security usa ragionamento dei modelli linguistici, calcolo al momento del test, uso di strumenti e contesto ampio, anziché fuzzing o scansione basata su firme.
Posso ispezionare o modificare il modello di minaccia?
Sì. Il modello di minaccia è visibile e modificabile, quindi i team possono esaminare come Codex Security comprende l’applicazione e aggiornare le ipotesi in modo che corrispondano al loro ambiente.
Cosa significa convalida?
La convalida è la fase in cui Codex Security cerca di riprodurre una potenziale vulnerabilità in un ambiente isolato prima di mostrarla. Questo serve a ridurre i falsi positivi e a mantenere i risultati ad alto segnale.
Cosa succede dopo che un risultato è stato convalidato?
Dopo la convalida, Codex Security propone una patch che affronta la causa principale e può essere trasformata in una pull request per la revisione.
