Pila
Il problema di eseguire codice che un'IA ha scritto
Dall'istante in cui lasci un'IA generare codice poi eseguirlo, hai un problema di sicurezza. Il codice e forse corretto, o cancella file, fa leak di segreti o martella la rete. CodeCourier e stata la mia risposta: un servizio che prende uno snippet, lo esegue da qualche parte dove non puo fare alcun danno, e restituisce il risultato.
Le sandbox sono tutto il punto
L'idea centrale e che il codice gira in un ambiente usa e getta e isolato, una sandbox che non ha accesso a niente che conti per me. Se uno snippet tenta qualcosa di malevolo, il caso peggiore e che la sandbox venga buttata. Mi sono appoggiato su un'infrastruttura di sandbox esistente piuttosto che costruire il mio isolamento, perche sbagliare l'isolamento sottilmente e il cammino piu sicuro per farsi compromettere.
- Ogni esecuzione ottiene un ambiente fresco e usa e getta, senza accesso all'host e senza veri segreti.
- La rete e il filesystem sono chiusi per default; apri l'accesso consapevolmente, mai per caso.
- Timeout e limiti di risorse fermano uno snippet impazzito prima che costi denaro o resti bloccato per sempre.
Perche non ho costruito il mio isolamento
Il mio istinto era di armeggiarmi una sandbox fatta in casa. Sono contento di non averlo fatto. L'isolamento e un ambito dove il caso di fallimento e silenzioso e catastrofico: ti credi al sicuro, finche non lo sei molto chiaramente piu. Usare strumenti di sandbox appositamente progettati significava che la parte difficile e critica per la sicurezza era gestita da persone che vi si specializzano, e potevo concentrarmi sull'orchestrazione attorno. E lo stesso istinto di un fornitore di auth piuttosto che un login fatto in casa: certi problemi sono troppo affilati per essere risolti da zero.
Lezioni apprese
- Non eseguire mai codice estraneo o generato da IA su una macchina che conta per te. Mettilo sempre in sandbox.
- Chiuso per default. Apri l'accesso rete e filesystem consapevolmente, mai per caso.
- Non costruire il tuo isolamento da solo. Le primitive critiche per la sicurezza sono dove ti reggi sulle spalle di specialisti.
- I timeout e i limiti di risorse non sono opzionali. Una sandbox senza limiti e solo un modo piu lento di farsi male.
