Approfondimento
Esecuzione sicura di agenti che scrivono codice e accedono a dati sensibili
Testo scritto con l’intelligenza artificiale a partire da fonti pubbliche, senza revisione umana prima della pubblicazione.
Per eseguire agenti AI che generano codice e toccano dati sensibili serve un'architettura che combini mediatore di accesso, gestione delle credenziali senza esposizione locale, isolamento multi-tenant con difesa in profondità e audit continuo.
«Tutto è fatto da Claude Code». Un ingegnere che si firma “voxium” descrive un reparto che genera specifiche, codice, test e report parlando con un sistema. «Le persone lavorano 12–13 ore al giorno solo per premere invio». «Nessuno sta leggendo niente». Se l’output cresce così, i controlli devono reggere. La tesi è semplice: per eseguire agenti che scrivono codice e toccano dati serve un’architettura che unisca perimetro, credenziali schermate, isolamento e audit.
Il problema operativo: perché un agente non è solo un modello
Un agente con accesso a rete e strumenti non è un prompt più lungo. È un sistema che chiama API, legge e scrive file, orchestra servizi. Se lasci Internet libero, un mediatore aggiunge poco. Il post che riapre il tema fissa il confine: per agenti “full‑blown” con accesso senza limiti — cita Claude Code, Codex, Meta Muse, OpenClaw — conviene chiamare le API direttamente. Appena restringi libertà e superficie, l’utilità cambia.
Il punto non è ideologico. È operativo. Servono quattro capacità: definire a priori quali servizi esterni sono consentiti; custodire le chiavi API senza esporle all’agente; offrire un’interfaccia per collegare e autorizzare servizi; tenere un audit logging robusto. Un MCP mette questi tasselli dentro una struttura coerente.
Questo quadro sposta l’attenzione dal modello alla cornice. L’agente può generare codice valido e insieme uscire dal perimetro. Senza limiti espliciti e tracciamento, i rischi crescono. Il controllo va disegnato prima dell’automazione.
I pezzi necessari di un’architettura sicura
Il primo pezzo è il perimetro. La fonte lo descrive come la lista di servizi esterni che l’agente può raggiungere. Non un via libera, ma un elenco preciso. Serve a parlare la stessa lingua di chi governa rischio e conformità.
Il secondo è l’autenticazione. Le chiavi API non devono finire nella memoria o nel prompt dell’agente. Restano fuori dalla sua portata. Il sistema le usa quando serve, senza esporle.
Il terzo è l’interfaccia di autorizzazione. Gli utenti devono poter collegare servizi e dare consensi dentro una UI dedicata, non in chat. La fonte lo elenca come requisito esplicito. Significa spostare la configurazione fuori dal canale di conversazione.
Il quarto è l’audit. Ogni azione va registrata con contesto. Non per curiosità, ma per attribuire responsabilità e ricostruire eventi. «Audit logging robusto» non è un optional nella lista. È la leva per gestire velocità e rischio insieme.
Questi elementi compongono una difesa in profondità. Il perimetro limita dove l’agente può andare. L’autenticazione separa i segreti dal modello. La UI introduce consenso esplicito. L’audit tiene conto di tutto.
Casi pratici e come implementano i singoli elementi
Posit porta l’IDE Positron dentro Amazon SageMaker AI. L’IDE gira in uno Space. L’utente avvia lo Space e sceglie l’istanza. Può aprire più Spaces in parallelo. L’accesso ai dati si aggancia ai ruoli AWS. Le query su Amazon Athena, AWS Glue Data Catalog e Amazon S3 passano con lo Space execution role. Non ci sono chiavi locali. La governance resta in AWS, con audit e permessi centralizzati sul ruolo. Il compute segue il calendario. Con i training plans si prenota capacità per attività programmate. Lo Space si accende on‑demand e si spegne quando non serve. L’assistenza AI usa Amazon Bedrock, dentro l’account.
Questo disegna un pattern concreto. Non metti chiavi sul portatile. Non copi segreti in chat. Le policy vivono nel ruolo. L’IDE eredita quei permessi. Audit e autorizzazioni restano nel dominio del cloud provider. È un modo pratico di applicare “chi fa cosa” e “con quali credenziali”.
Benchling affronta un problema diverso: eseguire codice generato da agenti per migliaia di clienti. Il team dichiara oltre 600 sessioni di esecuzione del codice al giorno e più di 250 tenant serviti a settimana, con zero incidenti di sicurezza. Il percorso parte da una valutazione severa: il solo sandboxing tradizionale non basta per codice non fidato su larga scala. Serviva isolare i tenant in modo rigoroso e controllare l’uscita di rete oltre i default. La soluzione adotta una difesa in profondità in un contesto multi‑tenant e usa Amazon Bedrock AgentCore, descritto come piattaforma per creare, connettere e ottimizzare agenti a scala. L’obiettivo dichiarato: mettere in sicurezza l’esecuzione del codice prodotto dagli agenti per una platea numerosa e differenziata.
Qui l’accento non è sul ruolo, ma sull’isolamento e sulla catena di controllo. Non basta bloccare HTTP o restringere porte in uscita. Bisogna stratificare i controlli e trattare ogni tenant come un confine da rispettare. I numeri offerti — sessioni al giorno e tenant a settimana — danno la misura della posta in gioco.
All’estremo opposto, un tool minimale mostra un tassello richiesto dalla lista iniziale: una UI per le chiavi. llm‑keys‑ui 0.1 espone un URL locale per inserire chiavi API sulla macchina che esegue l’agente. Il flusso è operativo. Dai a Codex il comando “uvx --with llm-keys-ui llm keys-ui --all”. In risposta, Codex fornisce un URL. L’URL può includere indirizzi della LAN o IP su Tailscale. Apri l’indirizzo e aggiungi le chiavi. Il recupero avviene da riga di comando. L’esempio mostrato: “llm keys get anthropic”. L’autore non entra in archiviazione, permessi, sicurezza o persistenza. È un annuncio di flusso, non una guida completa. Anche così, centra due esigenze: evitare incollaggi in chat e separare l’inserimento dei segreti dal dialogo con l’agente.
Infine, il racconto di “voxium” mette pressione al sistema di controlli. Se «tutto è fatto da Claude Code» e «li stanno costringendo a spedire quanto più possono», i registri e i perimetri diventano l’unico modo per tenere traccia di chi ha autorizzato cosa. L’autore non mostra esempi né metriche di qualità. Collega le 12–13 ore al volume di output, non agli esiti in produzione. La lezione è indiretta ma netta: senza audit documentato, l’aumento di throughput offusca responsabilità.
Implicazioni pratiche per chi integra agenti in team di sviluppo e QA
Tre scelte ricorrono nelle fonti. Primo, spostare l’autorizzazione su ruoli e policy centralizzate, come nello Space execution role di SageMaker AI. Così si eliminano chiavi personali e si mantengono audit e permessi in un punto governabile. Secondo, introdurre un mediatore quando si restringe il perimetro. Serve a definire servizi consentiti, a custodire le credenziali e a registrare ogni azione in un’unica struttura. Terzo, trattare l’esecuzione di codice come un problema di isolamento, non solo di sandbox. Benchling indica difesa in profondità e controllo di rete oltre i default per servire più di 250 tenant a settimana con zero incidenti dichiarati.
C’è anche un tema di esperienza utente. Una UI per collegare servizi e inserire chiavi deve stare nel flusso operativo, non in un documento o in una chat. llm‑keys‑ui 0.1 mostra un approccio pragmatico, pur senza dettagli di sicurezza: apri un URL locale, inserisci le chiavi, recuperale da CLI quando ti servono. Piccoli strumenti riducono attriti e tagliano pratiche rischiose.
La pressione a «spingere codice» rende questi accorgimenti non opzionali. L’anonimo che parla di «tutti, letteralmente tutti, da un L1 a un L7» che «stanno facendo la stessa cosa. Parlare con Claude» descrive un contesto dove la velocità domina. Senza perimetri, autenticazione separata e audit logging, diventa difficile sostenere revisioni e indagini quando qualcosa va storto.
L’indicazione che ne esce è concreta: quando l’agente ha accesso a rete, dati e codice, occorre progettare il contorno prima dell’adozione diffusa. Le esperienze di SageMaker AI, Benchling e la lista di requisiti per un MCP disegnano una rotta praticabile verso ruoli centrali, isolamento rigoroso e registri affidabili. L’utility di un agente cresce se il suo raggio d’azione è esplicito.
La spinta all’uso su larga scala degli agenti mette in primo piano un’ulteriore scelta: dove mettere l’interruttore e chi lo può toccare. Le fonti mostrano che ruoli, confini e log sono già oggi gli interruttori effettivi.
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici
Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate nel pezzo. Prima di uscire, ogni testo passa questi controlli:
- Fedeltà alle fonti. Un secondo passaggio toglie ogni affermazione che le fonti non sostengono.
- Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale.
- Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica.
I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.
Per vedere Millebit nelle notizie principali di Google, aggiungilo alle tue fonti preferite. Oppure segui l’edizione di oggi, il feed RSS o La Sintesi.