Sicurezza della programmazione AI: il prompt injection si nasconde nei file del tuo progetto

Il tuo assistente alla programmazione AI legge ogni file nel tuo repository. Legge il tuo README, i tuoi file di configurazione e le tue regole. Utilizza questi file per decidere come scrivere il codice.

Una nuova minaccia alla sicurezza sfrutta esattamente questo comportamento. I ricercatori hanno scoperto una vulnerabilità in 28 diversi strumenti di programmazione AI. L'attacco non è un hack complesso. È un semplice file di testo nel tuo repository.

Come funziona l'attacco:

Cloni un progetto open-source. Sembra normale. Lo apri nel tuo editor AI e richiedi una nuova funzionalità. Non vedi i caratteri Unicode nascosti nei file di configurazione. Questi caratteri ti nascondono le istruzioni, ma dicono all'AI di fare qualcos'altro.

L'istruzione nascosta dice all'AI di inviare le tue credenziali AWS a un server esterno. L'AI pensa che si tratti di un'istruzione legittima del progetto. Esegue il comando. I tuoi segreti sono andati.

Perché è difficile fermarlo:

  • Caratteri nascosti: Tu vedi del testo standard, ma l'AI vede comandi malevoli tramite caratteri Unicode invisibili.
  • Ogni file è un punto di ingresso: Un README o un commento in una libreria possono contenere il payload.
  • Permessi elevati: Gli agenti AI spesso girano con i tuoi permessi utente. Possono leggere le tue chiavi SSH e i tuoi token API.
  • Tool call: L'AI utilizza le tool call per eseguire comandi. L'attacco mira a queste chiamate per bypassare l'addestramento sulla sicurezza.

Come difendere il tuo workflow:

  • Sanificare il contenuto dei file: Rimuovi i caratteri nascosti e i comuni pattern di injection prima che l'AI li legga.
  • Utilizzare sandbox: Esegui gli agenti AI in container senza accesso alla rete e con file system in sola lettura.
  • Impostare policy rigorose: Crea una whitelist di comandi consentiti. Richiedi l'approvazione umana per qualsiasi comando che sposti dati o elimini file.

Puoi eseguire una scansione rapida prima delle tue sessioni di programmazione. Controlla i tuoi file alla ricerca di termini sospetti come "ignore all previous", "curl" o "exfil".

Gli strumenti di programmazione AI sono produttivi, ma presuppongono che i file sul tuo disco siano sicuri. Non lo sono. Tratta ogni file come un input non attendibile.

Come stai gestendo i rischi di prompt injection nel tuo workflow AI?

Fonte: https://dev.to/tyson_cung/ai-coding-security-prompt-injection-is-hiding-in-your-project-files-4be9