In questa pagina
- Cos'è GitHub Copilot e perché cambia il modello di sicurezza?
- Come funziona il modello di sicurezza di GitHub Copilot
- I 6 principali rischi per la sicurezza in GitHub Copilot
- 1. Suggerimenti di codice insicuro
- 2. Fuoriuscita di segreti
- 3. Allucinazione dei pacchetti e supply chain (slopsquatting)
- 4. Privacy dei dati, proprietà intellettuale e licenze
- 5. Prompt injection in Copilot Chat e nel coding agent
- 6. Eccesso di fiducia senza revisione
- Cosa copre la sicurezza nativa di GitHub Copilot, e cosa no
- Best practice per proteggere GitHub Copilot
- Dove si fermano i controlli nativi: proteggere l'agente al momento del prompt
- Domande frequenti
- GitHub Copilot è sicuro?
- GitHub Copilot fa trapelare segreti?
- Copilot si addestra sul mio codice o lo memorizza?
- Cosa sono le esclusioni di contenuti e .copilotignore?
- Copilot genera codice insicuro?
- L'indennizzo IP di Copilot è sufficiente a coprire il rischio legale?
- In cosa la sicurezza di Copilot è diversa da Claude Code, Cursor o Codex?
- GitHub Copilot è sicuro nei settori regolamentati?

GitHub Copilot ha iniziato la sua vita come autocompletamento ed è cresciuto fino a diventare un agente. Completa ancora la tua riga, ma legge anche attraverso il tuo repository, chatta sul tuo codice, apre pull request e, in modalità coding agent, lavora un'intera issue da solo. Quella portata è ciò che lo rende produttivo, ed è anche ciò che lo rende una superficie di sicurezza. Copilot include controlli reali: esclusioni di contenuti, scanning dei segreti, un filtro per il codice pubblico, indennizzo IP, code scanning con Autofix. Riducono il rischio in modo significativo. Non lo eliminano. Questa guida copre i rischi reali, cosa proteggono davvero i controlli nativi, le best practice che colmano il divario e l'unico livello che il modello nativo dà per scontato che tu abbia già.
Cos'è GitHub Copilot e perché cambia il modello di sicurezza?
GitHub Copilot è l'assistente di codice AI di GitHub. La maggior parte delle persone lo incontra come completamento in linea in VS Code, Visual Studio o un IDE JetBrains, dove suggerisce le prossime righe mentre digiti. Ma Copilot è ora una famiglia di superfici: suggerimenti in linea, Copilot Chat (fai domande su un file, un repo o un errore), modalità agent nell'IDE (legge, modifica ed esegue attraverso il workspace), la Copilot CLI, la code review di Copilot sulle pull request e il Copilot coding agent su GitHub.com, che prende in carico una issue assegnata e la lavora autonomamente fino a una pull request.
Quella progressione è esattamente ciò che rompe il vecchio modello di sicurezza. Un completamento in linea è una bozza: un essere umano legge il testo grigio e preme Tab o lo ignora, e il raggio d'azione di un suggerimento sbagliato è un singolo blocco di codice che uno sviluppatore doveva comunque accettare. Le superfici più recenti compiono azioni. Copilot Chat tira dentro contenuti del repository e contesto esterno per rispondere. La modalità agent modifica file ed esegue comandi. Il coding agent legge una issue (che un esterno può aver creato), raccoglie contesto, scrive codice e apre una pull request, tutto senza che un essere umano legga ogni passaggio. La superficie di attacco non è più solo "quale codice ha suggerito il modello". È "cosa può leggere, scrivere e su cosa può agire questo assistente, e chi può influenzare le sue istruzioni".
Un completamento è una bozza che un essere umano sceglie di accettare. Un'azione di un agente è una cosa già accaduta. Il modello di sicurezza deve passare dalla revisione di bozze al vincolo delle azioni.
C'è un secondo cambiamento, e riguarda la velocità. La pull request è diventata la casa della sicurezza applicativa perché si collocava al ritmo umano: una persona rallentava, leggeva il diff e solo allora faceva il merge. Copilot, specialmente nelle modalità agent e coding agent, non lavora al ritmo umano. Può spedire più codice in un pomeriggio di quanto un revisore ne legga in una settimana, e una quota significativa del nuovo codice è ora assistita dall'AI. Quando ciò accade il diff smette di essere un punto di controllo e diventa la trascrizione di decisioni già prese. Qualsiasi controllo che agisca solo alla pull request sta rivedendo la storia, non prevenendola.
Per la maggior parte dei team la domanda pratica non è se Copilot abbia protezioni native. Le ha, e in particolare il livello enterprise è ben congegnato. La domanda è se quelle protezioni siano sufficienti per l'uso quotidiano. La risposta onesta è no, non da sole. I controlli riducono il rischio; un'adozione sicura dipende ancora da configurazione, igiene dei segreti, disciplina sulle dipendenze, revisione umana e un controllo che raggiunga l'agente mentre scrive.
Come funziona il modello di sicurezza di GitHub Copilot
Il modello di sicurezza di Copilot è costruito attorno a quattro idee: tenere i file sensibili fuori dal contesto del modello, cogliere le cose pericolose che potrebbe emettere (segreti, corrispondenze con codice pubblico), controllare il codice che genera e lasciare che le organizzazioni impostino la policy in modo centralizzato. In pratica ciò si traduce in una manciata di controlli, la maggior parte dei quali più forti nei piani Business ed Enterprise.
Esclusioni di contenuti e .copilotignore
Gli amministratori dei repository, i proprietari di organizzazione e i proprietari di enterprise possono configurare esclusioni di contenuti così che Copilot ignori file nominati (segreti, configurazioni, percorsi sensibili) per completamenti, Chat e code review. In VS Code, un .copilotignore lato client permette a uno sviluppatore di escludere file localmente. Importante: le esclusioni di contenuti non si applicano alla Copilot CLI, al coding agent o alla modalità agent in Chat dentro gli IDE.
Scanning dei segreti e push protection
Il secret scanning di GitHub, compreso il rilevamento assistito da Copilot di segreti generici come password, più la push protection che blocca i commit contenenti segreti rilevati prima che raggiungano il remoto. Ciò coglie un token trapelato dopo che è finito nel codice, e idealmente prima che raggiunga il repository.
Filtro per il codice pubblico e indennizzo IP
Un filtro di rilevamento dei duplicati può bloccare i suggerimenti che corrispondono al codice pubblico in modo verbatim o quasi-verbatim. Per i piani a pagamento, GitHub e Microsoft offrono l'indennizzo IP: se un suggerimento non modificato attira una rivendicazione di copyright, Microsoft ti difenderà, a condizione che il filtro di duplicazione fosse abilitato e che il suggerimento fosse usato non modificato.
Code scanning, Autofix e policy admin
Il code scanning (CodeQL) con Copilot Autofix suggerisce correzioni per i risultati, e il coding agent esegue controlli di sicurezza sul proprio output prima di completare una pull request. Gli admin enterprise sovrappongono SSO, log di audit, policy a livello di piano e la scelta se prompt e suggerimenti vengano conservati o usati per l'addestramento.
È una base davvero buona, e parecchi di questi controlli (esclusioni di contenuti, push protection, indennizzo IP) sono cose che nessun assistente IDE offriva una generazione fa. La trappola è leggerli come un confine di sicurezza definitivo. Le esclusioni di contenuti coprono solo le superfici che le supportano, e le superfici agentiche sono esattamente quelle che saltano. Il filtro per il codice pubblico coglie corrispondenze verbatim, non codice concettualmente simile. Il secret scanning coglie pattern noti e generici, non ogni formato personalizzato o offuscato. Il code scanning è di supporto, non un decisore finale. Ogni controllo di questo elenco ha un limite documentato, e la prossima sezione riguarda cosa succede quando ci si appoggia troppo su di essi.
I 6 principali rischi per la sicurezza in GitHub Copilot
I rischi qui sotto non sono teorici. Mappano a ricerche pubblicate, avvisi documentati e alla OWASP Top 10 per le applicazioni LLM. I numeri che li inquadrano sono gli stessi che ogni team AppSec sta ora citando.
dei programmi completati da Copilot erano vulnerabili nello studio 'Asleep at the Keyboard' di Cornell / NYU
di segreti in più trapelati nei repository che usano Copilot rispetto ai tipici repo pubblici (GitGuardian)
prompt injection, il principale rischio LLM per il terzo anno consecutivo (OWASP LLM01)
1. Suggerimenti di codice insicuro
Copilot impara dal codice pubblico, e il codice pubblico è pieno di pattern insicuri, quindi li riproduce. Lo studio fondamentale "Asleep at the Keyboard?" dei ricercatori di Cornell e NYU ha generato 1.689 programmi su scenari tratti dalle Top 25 CWE di MITRE e ha rilevato che circa il 40% di essi era vulnerabile. I difetti erano i soliti sospetti: deserializzazione non sicura, validazione degli input debole o mancante, autenticazione e autorizzazione improprie, SQL costruito per concatenazione di stringhe.
È il rischio lento e strutturale. Nessun singolo suggerimento sembra allarmante, e ciascuno compila e supera il test del percorso felice. Ma un assistente che genera migliaia di righe al giorno riprodurrà debolezze sottili più in fretta di quanto emergano da sole, e uno sviluppatore che si muove alla velocità di Copilot è meno propenso a scrutinare codice che sembra plausibile rispetto a codice scritto a mano. Il quadro più ampio è coerente: studi indipendenti continuano a rilevare insicura una larga parte del codice generato dall'AI. Copilot non è unicamente cattivo qui, è rappresentativo della categoria.
2. Fuoriuscita di segreti
Copilot peggiora il problema dei segreti in due direzioni. Primo, ne fa trapelare di più: la ricerca di GitGuardian ha rilevato che i repository che usano Copilot fanno trapelare circa il 40% di segreti in più rispetto ai tipici repository pubblici, in parte perché una produzione di codice più veloce significa commit accidentali più veloci. Secondo, propaga: se un segreto si trova nel contesto che il modello può vedere (un file .env, un blocco di configurazione, una credenziale hard-coded in un file vicino), Copilot può riutilizzare o far emergere quel valore in un suggerimento, una risposta in Chat o codice generato.
Il secret scanning e la push protection sono i baluardi previsti, e aiutano, ma sono basati su pattern. Colgono in modo affidabile i formati di token ben noti (una chiave cloud riconoscibile, un token API di un provider) e in modo molto meno affidabile i formati di segreti personalizzati, interni o offuscati. Una chiave di firma sviluppata in casa o un token di servizio interno che non corrisponde a un pattern noto può passare dritto, venire suggerito da Copilot in un nuovo file e finire nel repository prima che qualcuno se ne accorga.
3. Allucinazione dei pacchetti e supply chain (slopsquatting)
Come ogni assistente basato su LLM, Copilot può suggerire con sicurezza un pacchetto che non esiste. Inventa un nome plausibile (il tipo di nome che una libreria reale avrebbe), raccomanda di installarlo e scrive un import per esso. Di per sé questo è solo una build rotta. Il pericolo è la svolta avversaria che l'industria chiama slopsquatting: gli attaccanti sorvegliano questi nomi allucinati, li registrano sul registry pubblico con payload dannosi e aspettano. Il prossimo sviluppatore il cui Copilot allucina lo stesso nome installa malware funzionante.
Il workflow di sviluppo diventa il vettore di attacco. Un sicuro "installa questo e importalo" trasforma un passo di setup di routine in furto di credenziali o una backdoor, e il suggerimento porta la stessa autorità di ogni suggerimento corretto che lo ha preceduto. Nemmeno le dipendenze reali sono sicure per impostazione predefinita: Copilot raggiungerà volentieri una versione obsoleta o vulnerabile di una libreria genuina se è ciò che ha visto di più nell'addestramento.
4. Privacy dei dati, proprietà intellettuale e licenze
Qui risiedono due preoccupazioni collegate. La preoccupazione sulla privacy è cosa succede al codice che Copilot vede: a seconda del piano e delle impostazioni, prompt e suggerimenti possono o meno essere conservati o usati per migliorare i modelli, ed è per questo che esistono piani business ed enterprise con impegni più rigidi sulla gestione dei dati e per cui le esclusioni di contenuti contano per i file sensibili. La preoccupazione sulla proprietà intellettuale è l'inverso: poiché Copilot si è addestrato su codice pubblico (spesso sotto licenza), un suggerimento può somigliare a materiale protetto da copyright, e usarlo potrebbe esporti a una rivendicazione di licenza o copyright.
Le mitigazioni di GitHub sono reali ma circoscritte. Il filtro di rilevamento dei duplicati riduce le corrispondenze verbatim, e l'indennizzo IP offre protezione legale, ma l'indennizzo è condizionato: si applica a piani a pagamento specifici, richiede che il filtro di duplicazione sia attivo e copre il suggerimento solo se lo usi non modificato. Nel momento in cui uno sviluppatore modifica un suggerimento (che è il workflow normale) o lavora con il filtro disattivato, la protezione legale si restringe. FOSSA e altri raccomandano di trattare l'output di Copilot come bisognoso della stessa revisione di licenza e provenienza che applicheresti a qualsiasi codice di terze parti.
5. Prompt injection in Copilot Chat e nel coding agent
La prompt injection è il rischio distintivo degli strumenti di codice agentici, ed è il rischio LLM numero uno di OWASP per il terzo anno consecutivo. Un attaccante nasconde istruzioni in qualcosa che l'assistente legge, e l'assistente le segue, scavalcando il comportamento previsto. L'esposizione di Copilot è cresciuta con le sue superfici: Chat legge il contenuto del repository e il contesto recuperato, e il coding agent legge issue e commenti che un contributore esterno può redigere.
La forma pericolosa è quella indiretta. Non incolli un prompt dannoso; un'istruzione nascosta vive in un file, una issue, un commento di pull request o l'output di uno strumento. La documentazione di GitHub stessa sui rischi e mitigazioni del coding agent è franca su questo e descrive le difese: rimuove caratteri nascosti e contenuto di commenti HTML prima di passare l'input dell'utente all'agente, limita l'accesso a internet dell'agente per ridurre l'esfiltrazione di dati e mantiene ogni commit del coding agent verificabile e co-firmato dall'essere umano che lo ha innescato. I ricercatori hanno nondimeno dimostrato l'injection tramite contenuto di repository e commenti contro Copilot e i suoi pari, e almeno un problema di prompt injection di Copilot (tracciato come CVE-2025-53773) ha raggiunto la severità dell'esecuzione di codice remoto prima della correzione. Lo schema da ricordare: un modello linguistico non può separare in modo affidabile un'istruzione attendibile da una dannosa nascosta nei dati.
6. Eccesso di fiducia senza revisione
Il rischio più silenzioso è culturale. I suggerimenti di Copilot sono fluidi, ben formattati e sicuri, e quella fluidità invita i team a trattarli come pronti per la produzione. Codice che riceverebbe uno scrutinio attento se fosse stato sottoposto da un ingegnere junior o da una terza parte sconosciuta viene lasciato passare perché "lo ha scritto Copilot". Il coding agent intensifica tutto questo: apre una pull request dall'aspetto finito, e una pull request dall'aspetto finito è psicologicamente più difficile da rifiutare di una bozza grezza.
L'eccesso di fiducia è ciò che trasforma gli altri cinque rischi da latenti a sfruttati. Un suggerimento insicuro viene spedito solo se nessuno lo rivede. Un segreto trapelato persiste solo se nessuno coglie il diff. Un pacchetto allucinato viene eseguito solo se qualcuno lancia l'installazione senza controllare. Il singolo controllo a più alta leva per Copilot è anche il meno tecnico: un essere umano che legge ancora il codice generato dall'AI con lo stesso scetticismo che riserverebbe a qualsiasi altro contributore.
Cosa copre la sicurezza nativa di GitHub Copilot, e cosa no
I controlli nativi sono reali, e conviene essere precisi sulla linea tra ciò che gestiscono e ciò che lasciano a te.
Leggi la colonna di destra come il lavoro vero e proprio. I controlli nativi sono il pavimento: impediscono che un errore in buona fede diventi un disastro, e sul livello enterprise sono un pavimento robusto. Non sono stati progettati per fermare un avversario determinato che controlla gli input dell'assistente, e GitHub non sostiene che lo siano. Tutto ciò che trasforma "Copilot è abilitato" in "Copilot è governato" vive nelle pratiche che seguono.
Best practice per proteggere GitHub Copilot
Queste nove pratiche colmano il divario tra la base nativa e una postura di sicurezza reale. Nessuna di esse è esotica; la disciplina sta nell'applicarle in modo coerente in un team che si muove in fretta.
-
Configura esclusioni di contenuti e
.copilotignorein modo deliberato. Escludi segreti, file di credenziali, configurazioni sensibili e dati regolamentati a livello di repository e di organizzazione così che non informino mai completamenti, Chat o code review. Fai aggiungere agli sviluppatori un.copilotignoreper i percorsi sensibili locali in VS Code. Fondamentale, ricorda il divario: le esclusioni di contenuti non coprono la Copilot CLI, il coding agent o la modalità agent in Chat, quindi non lasciare che un segreto stia ovunque quelle superfici possano leggerlo solo perché esiste una regola di esclusione. -
Tieni i segreti fuori dal contesto e attiva la push protection. Usa un gestore di segreti e iniettali a runtime così che le credenziali in chiaro non vivano mai in file che Copilot può vedere. Abilita il secret scanning con push protection in tutta l'organizzazione e aggiungi pattern personalizzati per i tuoi formati di segreti interni e sviluppati in casa, perché i rilevatori predefiniti li mancheranno. Se un segreto compare mai in un suggerimento o in una trascrizione, ruotalo immediatamente e indaga su come è finito nel contesto.
-
Mantieni un essere umano nel ciclo su ogni suggerimento. Tratta l'output di Copilot come una bozza di un contributore sconosciuto, non come un'implementazione finita. Indirizza tutto il codice generato, comprese le pull request del coding agent, attraverso revisione umana obbligatoria e test automatizzati, con scrutinio extra su autenticazione, validazione degli input, deserializzazione e percorsi privilegiati. Resisti all'attrazione della pull request dall'aspetto finito: rivedila come se l'avesse aperta uno sconosciuto.
-
Esegui SAST e code scanning come gate, non come suggerimento. Abilita il code scanning (CodeQL) e usa Copilot Autofix per accelerare la correzione, ma tratta i risultati di sicurezza come un gate di merge, non come consigli opzionali. Un SAST indipendente in CI coglie i pattern insicuri che Copilot riproduce (deserializzazione non sicura, injection, autenticazione debole) prima che raggiungano un branch di rilascio.
-
Governa le dipendenze e difenditi dall'allucinazione dei pacchetti. Limita le installazioni a registry attendibili o mirror interni, richiedi l'approvazione per le nuove dipendenze e analizza tutto con la software composition analysis. Prima di aggiungere qualsiasi pacchetto che Copilot suggerisce, verifica che esista davvero e che sia la libreria genuina e mantenuta, non un nome plausibile che un attaccante può aver registrato. Fissa le versioni e stai attento a Copilot che raggiunge release obsolete e vulnerabili di pacchetti reali.
-
Tieni il filtro per il codice pubblico attivo e rivedi la provenienza. Abilita il filtro di rilevamento dei duplicati in tutta l'organizzazione così che i suggerimenti che corrispondono al codice pubblico vengano bloccati, il che è anche una precondizione per l'indennizzo IP. Per qualsiasi blocco sostanziale che Copilot produce, applica la stessa revisione di licenza e provenienza che daresti al codice di terze parti, e documenta quella revisione per il codice che finisce in un prodotto.
-
Tratta tutto il contenuto di repository e issue come input non attendibile. Poiché Chat e il coding agent leggono file, issue e commenti che gli esterni possono redigere, assumi che uno qualsiasi di essi possa contenere un'istruzione iniettata. Limita chi può assegnare lavoro al coding agent, restringi al minimo il suo accesso a repository e strumenti, mantieni in vigore il suo accesso a internet ristretto e rivedi il suo output sapendo che potrebbe essere stato guidato. Non dare a un agente che legge issue non attendibili l'accesso alle credenziali di produzione.
-
Usa i controlli enterprise su dati e policy. Sui piani business o enterprise, imposta la gestione dei dati così che prompt e suggerimenti non vengano conservati né usati per l'addestramento dove la tua policy lo richiede, imponi SSO e attiva i log di audit. Usa la policy a livello di organizzazione per standardizzare quali funzionalità di Copilot siano abilitate, chi possa usare il coding agent e quali repository siano in ambito, così che la postura di sicurezza non dipenda dalle impostazioni locali di ciascuno sviluppatore.
-
Imposta la policy per sensibilità di repository e ambiente. Classifica i repository (pubblici, interni, regolamentati, di produzione) e applica controlli più rigidi a quelli sensibili: esclusioni di contenuti più ampie, revisione obbligatoria, nessun accesso del coding agent, regole sulle dipendenze più strette. Per i sistemi critici, tieni Copilot lontano da qualsiasi percorso diretto verso le credenziali di produzione, e documenta la policy così che gli sviluppatori sappiano dove l'assistenza dell'AI è consentita e sotto quali vincoli.
Dove si fermano i controlli nativi: proteggere l'agente al momento del prompt
Ripercorri i rischi ed emerge uno schema. Esclusioni di contenuti, secret scanning, code scanning e revisione agiscono tutti su ciò che l'assistente ha già prodotto, o su input e output ai margini del loop. Si raggruppano attorno alla pull request, perché è lì che l'AppSec ha sempre vissuto. Ma la PR è stata un punto di controllo solo perché un essere umano la leggeva, e al ritmo dell'agente nessuno la legge più dall'inizio alla fine.
Il luogo dove imporre una regola non è più il diff; è il prompt, prima che la riga insicura venga scritta. Qualunque regola tu voglia che l'assistente segua, il tuo helper di autenticazione, il tuo tipo per il denaro, la tua policy di validazione degli input, deve essere nelle sue mani nel momento in cui scrive, non in attesa in uno scanner che arriva quando il codice è già su disco e Copilot è già passato al suggerimento successivo.
È questo il livello che aggiunge VibeDefend. È una CLI npm gratuita che si installa in circa cinque secondi e collega VS Code Copilot (oltre a Claude Code, Cursor, OpenAI Codex e Windsurf) a livelli di governance che girano dentro il loop dell'agente.

Regole di business Le convenzioni del tuo repo che non sono mai state messe per iscritto (usa Decimal128 per il denaro, l'autorizzazione passa per requireOwner). VibeDefend le estrae dal modo in cui il tuo team già scrive codice e le carica nel contesto di Copilot prima di ogni modifica. Regole di sicurezza OWASP Top 10, SOC 2, GDPR e ISO 27001, caricate il giorno in cui installi. L'assistente legge il promemoria applicabile prima di scrivere, così il requisito del framework diventa parte del codice anziché una casella da spuntare al momento dell'audit. Action Guard Le chiamate distruttive (un sudo rm -rf, una lettura grezza di una variabile d'ambiente che sembra un segreto, un psql ad hoc contro un host di produzione) vengono intercettate prima che partano. Avvisa o blocca per regola, con ogni intercettazione nell'audit trail. Live Findings Ogni risultato dei suoi scanner (SAST con reachability, SCA, segreti, IaC e CI/CD) è live nel contesto dell'agente, così non si limita a scrivere codice sicuro, smista e corregge le vulnerabilità che hai già.
Una premessa onesta specifica per Copilot: VS Code Copilot ottiene i livelli MCP e di regole (le Regole di business e le Regole di sicurezza raggiungono il contesto dell'agente al momento del prompt), ma le Action Guard sono ancora in attesa dal lato di GitHub, quindi l'intercettazione delle chiamate distruttive non è ancora disponibile per Copilot come lo è per gli agenti in stile CLI. I livelli di regole, dove risiede la maggior parte della leva di sicurezza, funzionano oggi.
In modo cruciale, nulla del tuo codice attraversa la rete. Le decisioni avvengono localmente accanto all'agente; solo metadati di governance strutturati (la regola che è scattata, il percorso del file, la severità, un timestamp) raggiungono il backend. Le regioni EU e US sono fisicamente separate, e scegli la regione al momento dell'installazione. Quel modello di privacy è ciò che permette a un controllo di stare così vicino al codice senza diventare a sua volta un rischio di esfiltrazione dei dati.
Questo non sostituisce le pratiche di cui sopra. È il livello mancante che esse danno per esistente: quello che mette le tue regole nelle mani dell'assistente al momento del prompt, così che la riga insicura venga riscritta prima ancora di essere suggerita, anziché colta tre fasi più tardi da uno scanner che legge un diff che nessuno ha avuto tempo di leggere. Le esclusioni di contenuti decidono cosa Copilot può leggere; VibeDefend modella ciò che scrive in primo luogo.
Domande frequenti
GitHub Copilot è sicuro?
GitHub Copilot è ragionevolmente sicuro quando i suoi controlli sono configurati, e rischioso quando sono dati per scontati. Sui piani business ed enterprise, le esclusioni di contenuti, il secret scanning con push protection, il filtro per il codice pubblico, l'indennizzo IP e il code scanning con Autofix prevengono un'ampia classe di incidenti. Il rischio residuo viene dal codice che suggerisce (circa il 40% dei completamenti di Copilot erano vulnerabili nello studio di Cornell e NYU), dagli input (prompt injection attraverso repo, issue e commenti) e dalla cultura (eccesso di fiducia nell'output fluido). Trattalo come un assistente capace che ha bisogno di configurazione, revisione umana e un controllo al momento del prompt, non come uno strumento sicuro pronto all'uso.
GitHub Copilot fa trapelare segreti?
Può, in due modi. GitGuardian ha rilevato che i repository che usano Copilot fanno trapelare circa il 40% di segreti in più rispetto ai tipici repository pubblici, in gran parte perché una produzione di codice più veloce significa commit accidentali più veloci. Copilot può anche propagare un segreto che si trova già nel contesto che può vedere, facendolo emergere in un suggerimento o in una risposta in Chat. Il secret scanning e la push protection sono i baluardi e colgono in modo affidabile i formati di token ben noti, ma segreti personalizzati, interni o offuscati possono sfuggire. Tieni i segreti fuori dal contesto con un vault, abilita la push protection, aggiungi pattern di rilevamento personalizzati e ruota qualsiasi cosa compaia in una trascrizione.
Copilot si addestra sul mio codice o lo memorizza?
Dipende dal tuo piano e dalle tue impostazioni. I piani business ed enterprise di GitHub offrono impegni più rigidi sulla gestione dei dati, comprese opzioni per non conservare prompt e suggerimenti o non usarli per migliorare i modelli, ed è per questo che quei livelli esistono per le organizzazioni con requisiti di riservatezza. I piani individuali storicamente avevano impostazioni predefinite diverse. Per il codice sensibile, scegli un piano e una configurazione che corrispondano alla tua policy di gestione dei dati, usa le esclusioni di contenuti per tenere file specifici del tutto fuori dal contesto e rivedi i termini attuali di retention e addestramento di GitHub prima di adottare Copilot su lavoro regolamentato.
Cosa sono le esclusioni di contenuti e .copilotignore?
Le esclusioni di contenuti sono un'impostazione lato server, configurabile dagli amministratori dei repository, dai proprietari di organizzazione e dai proprietari di enterprise, che dice a Copilot di ignorare file nominati così che non informino completamenti, Chat o code review. .copilotignore è un meccanismo separato, lato client, in VS Code che permette a un singolo sviluppatore di escludere file localmente. Entrambi sono utili per tenere segreti e percorsi sensibili fuori dal contesto del modello. La premessa importante è la copertura: le esclusioni di contenuti non si applicano alla Copilot CLI, al coding agent o alla modalità agent in Chat dentro gli IDE, quindi non assumere che una regola di esclusione ti protegga sulle superfici agentiche.
Copilot genera codice insicuro?
Sì, abbastanza spesso da contare. Lo studio "Asleep at the Keyboard?" di Cornell e NYU ha generato 1.689 programmi in scenari tratti dalle Top 25 CWE di MITRE e ha rilevato circa il 40% vulnerabile, con difetti come deserializzazione non sicura, validazione degli input debole e autenticazione impropria. Copilot riproduce i pattern insicuri comuni nel codice pubblico da cui ha imparato. La mitigazione è revisione indipendente e SAST come gate, più un controllo al momento del prompt che carica le tue regole di sicurezza prima che il suggerimento venga scritto.
L'indennizzo IP di Copilot è sufficiente a coprire il rischio legale?
Aiuta, ma è condizionato, non una garanzia generale. L'indennizzo IP di Microsoft difenderà i clienti contro rivendicazioni di copyright derivanti da un suggerimento di Copilot non modificato, ma solo su piani a pagamento idonei, solo quando il filtro di rilevamento dei duplicati è abilitato e solo per i suggerimenti usati non modificati. Il normale workflow dello sviluppatore (modificare un suggerimento prima di committarlo) e lavorare con il filtro disattivato restringono entrambi quella copertura. Tratta l'indennizzo come un baluardo, tieni il filtro per il codice pubblico attivo e applica all'output sostanziale di Copilot la stessa revisione di licenza e provenienza che daresti a qualsiasi codice di terze parti.
In cosa la sicurezza di Copilot è diversa da Claude Code, Cursor o Codex?
I fondamentali sono condivisi (privilegio minimo, igiene dei segreti, revisione umana, scansione delle dipendenze), ma le superfici principali differiscono. I problemi distintivi di Copilot sono suggerimenti insicuri e fuoriuscita di segreti su larga scala, più la nuova superficie di injection della sua Chat e del coding agent. La superficie distintiva di Claude Code è la profonda integrazione con MCP e shell; quella di Cursor è stata il Workspace Trust disabilitato per impostazione predefinita; quella di Codex sono stati incidenti di command injection e supply chain. Copriamo ogni agente nella sua guida: Claude Code, Cursor e OpenAI Codex.
GitHub Copilot è sicuro nei settori regolamentati?
Sì, con Copilot Business o Enterprise, e solo con i controlli intorno. Quei piani sono esclusi per contratto dall'addestramento dei modelli e rientrano nel perimetro SOC 2 Type II e ISO 27001 di GitHub, cioè quello che una banca, un'assicurazione o un ospedale deve poter mostrare. Quello che non danno è una revisione del codice che Copilot scrive: le esclusioni di contenuto tengono i segreti fuori dai prompt, ma nulla verifica che un suggerimento rispetti PSD2, GDPR o le vostre regole di autorizzazione. I team regolamentati affiancano al piano Enterprise la protezione dei branch, una scansione di sicurezza su ogni pull request e un controllo agent-time che applica le regole di business sulla riga.


