Sicurezza, rischi e limitazioni dell'agente di codifica Copilot
L'agente di codifica di GitHub Copilot è progettato sin dalle fondamenta con attenzione alla sicurezza e alla governance. Mentre sblocca nuovi modi di delegare il lavoro a un agente autonomo, opera all'interno delle protezioni esistenti dell'organizzazione e aggiunge le proprie protezioni. Questa unità illustra come l'agente applica i criteri di sicurezza, evidenzia i rischi e le mitigazioni da tenere presenti e imposta le aspettative sulle limitazioni correnti.
Al termine di questa unità, si sarà in grado di:
- Descrivere il modello di sicurezza e le protezioni predefinite dell'agente di codifica Copilot.
- Identificare i principali rischi associati all'uso dell'agente e le mitigazioni applicate da GitHub.
- Riconoscere le limitazioni note del flusso di lavoro e della compatibilità dell'agente per pianificare di conseguenza l'utilizzo.
Modello di sicurezza e protezioni predefinite
La sicurezza è fondamentale per l'agente di codifica Copilot. Rispetta i controlli esistenti e applica le proprie protezioni per garantire la sicurezza dei flussi di lavoro:
- Soggetto alla governance: le impostazioni dell'organizzazione e dell'azienda governano la disponibilità; tutti i criteri di sicurezza continuano a essere applicati all'agente.
- Ambiente con restrizioni : l'agente viene eseguito all'interno di una sandbox in GitHub Actions con accesso a Internet con firewall e accesso in sola lettura al repository.
- Limiti dei rami: può creare ed eseguire il push solo nei rami che iniziano con copilot/ e tutte le protezioni dei rami e i controlli necessari sono ancora applicabili.
- Riconoscimento delle autorizzazioni : l'agente risponde solo agli utenti con autorizzazione di scrittura. I commenti di altri utenti vengono ignorati.
- Regole esterne al collaboratore: le bozze delle richieste pull dell'agente richiedono l'approvazione da parte di un utente con autorizzazione di scrittura prima dell'esecuzione di Azioni. La persona che ha richiesto la richiesta pull non può approvarla.
- Conformità e attribuzione: tutti i commit vengono creati in collaborazione con lo sviluppatore che ha assegnato l'attività o ha richiesto la richiesta pull, così l'attribuzione è chiara. Le regole "approvazioni richieste" esistenti rimangono intatte.
Rischi e mitigazioni
Sebbene l'agente di codifica Copilot sia progettato con la sicurezza come priorità, esistono ancora rischi per i quali dovresti prepararti. GitHub applica le mitigazioni per ridurle:
Rischio: L'agente invia il codice
Mitigazioni: Solo gli utenti con accesso in scrittura possono attivare il lavoro dell'agente. I push sono limitati a
copilot/rami (non principale/master). Le credenziali dell'agente consentono solo il push semplice (nessun direttogit push). I flussi di lavoro di GitHub Actions non verranno eseguiti finché un utente con autorizzazioni di scrittura non fa clic su "Approva ed esegui flussi di lavoro". Il richiedente non può approvare la richieste pull dell'agente in modo che le approvazioni obbligatorie vengano rispettate.Rischio: accesso alle informazioni riservate
Mitigazione: L'accesso a Internet dell'agente è limitato dal firewall per impostazione predefinita; è possibile personalizzare o disabilitare il firewall per ogni criterio.
Rischio: inserimento di richieste
Mitigazione: I caratteri nascosti (ad esempio i commenti HTML) vengono filtrati prima di passare l'input dell'utente all'agente. In questo modo si riduce la probabilità di istruzioni dannose nascoste nei commenti o nei problemi.
Questi controlli offrono una baseline sicura per l'uso dell'agente, ma è comunque consigliabile esaminare attentamente gli output esattamente come si farebbe con il codice scritto da qualsiasi membro del team.
Limitazioni note
Limitazioni del flusso di lavoro
- Può apportare modifiche solo nello stesso repository dove si trova il problema assegnato o la richiesta pull.
- L'ambito del contesto è limitato al repository assegnato per impostazione predefinita (può essere ampliato tramite MCP).
- Apre una singola richiesta pull per ogni attività.
- Non può modificare una richiesta pull esistente non creata direttamente (è possibile aggiungerla come revisore se invece sono necessari commenti e suggerimenti utilizzando la revisione del codice di GitHub Copilot).
Limitazioni di compatibilità
- Non firma i commit. Se sono necessari commit firmati, è necessario riscrivere la cronologia dei commit prima dell'unione.
- Richiede strumenti di esecuzione Ubuntu x64 ospitati in GitHub. I runner autonomi non sono supportati.
- Non disponibile per i repository personali di proprietà degli account utente gestiti (strumenti di esecuzione non disponibili).
- Non rispetta le esclusioni di contenuto; l'agente può visualizzare e aggiornare i file esclusi.
- Il criterio "Suggerimenti corrispondenti al codice pubblico" non viene applicato dall'agente; Non è possibile fornire riferimenti.
- Funziona solo con i repository ospitati da GitHub.
- Non è possibile modificare il modello di intelligenza artificiale usato dall'agente; è selezionato da GitHub.
Con guardrail e limiti chiari, sei pronto a iniziare a delegare il lavoro, seguire lo stato di avanzamento e iterare sui risultati usando il flusso di lavoro per le PR standard.