Xcapit Labs
Agentor: Costruire un framework sicuro per agenti IA in Rust
Come un audit di sicurezza di un framework open-source per agenti IA ha evidenziato limitazioni fondamentali nei runtime basati su Python — e ha portato Xcapit a costruire Agentor, un framework nativo in Rust ottimizzato per la generazione di codice.
Test automatizzati
Crate modulari
Cold start
Isolamento di esecuzione
La sfida
I framework per agenti IA sono diventati un'infrastruttura essenziale per i team che integrano modelli di linguaggio di grandi dimensioni nei flussi di lavoro produttivi. La maggior parte di questi framework è scritta in Python — un linguaggio ottimizzato per la prototipazione rapida ma fondamentalmente limitato nella sicurezza della memoria, nelle prestazioni a runtime e nel comportamento deterministico. Xcapit è stata incaricata di condurre un audit di sicurezza di un importante framework open-source per agenti IA, e i risultati sono stati preoccupanti.
L'audit ha rivelato tre categorie di limitazioni strutturali. Primo, sicurezza della memoria: il garbage collector di Python introduce pause non deterministiche e la mancanza di semantica di ownership rende impossibile garantire che i dati sensibili — chiavi API, prompt degli utenti, risposte dei modelli — vengano correttamente deallocati. Secondo, overhead del runtime: l'orchestrazione degli agenti in Python consumava da 5 a 10 volte più memoria rispetto alla logica equivalente in un linguaggio di sistema, rendendo i deployment multi-agente proibitivamente costosi. Terzo, lacune nella conformità: l'architettura del framework rendeva difficile implementare tracce di audit, esecuzione isolata e controlli sulla residenza dei dati richiesti da ISO 27001, GDPR e standard normativi simili.
Questi non erano bug risolvibili con patch. Erano conseguenze di decisioni architetturali fondamentali — la scelta del linguaggio, l'assenza di isolamento nell'esecuzione e la mancanza di confini di sicurezza strutturati.
Dall'audit ad Agentor: l'origine
L'audit di sicurezza ha prodotto un rapporto dettagliato con oltre 40 risultati classificati per gravità. Sebbene i maintainer del framework abbiano ricevuto il rapporto in modo costruttivo, è diventato chiaro che affrontare le cause alla radice avrebbe richiesto una riscrittura completa — non delle funzionalità del framework, ma delle sue fondamenta. Il team di ingegneria di Xcapit, con profonda esperienza nella programmazione di sistema e nell'infrastruttura crittografica, ha deciso di costruire quelle fondamenta in prima persona.
Il progetto è stato chiamato Agentor. L'obiettivo era esplicito: replicare tutte le capacità funzionali del framework auditato — orchestrazione degli agenti, esecuzione degli strumenti, integrazione con i provider, gestione delle conversazioni — ma implementarle in Rust con sicurezza della memoria, astrazioni a costo zero e architettura pronta per la conformità fin dal primo giorno. Il framework sarebbe stato rilasciato sotto licenza AGPL-3.0 per garantire che rimanga open source e per proteggerlo da fork proprietari.
Architettura in Rust
Agentor è strutturato come 13 crate modulari, ciascuno con una singola responsabilità e interfacce ben definite. Questo design consente ai team di utilizzare solo i componenti necessari e sostituire moduli individuali senza impattare il resto del sistema.
- agentor-core: definizioni dei tipi, trait e astrazioni condivise utilizzate in tutti i crate
- agentor-runtime: il motore di esecuzione degli agenti con cicli di conversazione strutturati e strategie configurabili
- agentor-providers: integrazioni con provider LLM (OpenAI, Anthropic, modelli locali) tramite un trait unificato
- agentor-tools: registrazione, validazione ed esecuzione degli strumenti con parsing degli argomenti basato su schema
- agentor-mcp: implementazione completa del Model Context Protocol per l'interoperabilità tra framework
- agentor-sandbox: ambiente di esecuzione isolato basato su WASM per codice di strumenti non attendibili
- agentor-cli: interfaccia a riga di comando per eseguire agenti, gestire configurazioni e debuggare flussi di lavoro
L'intero codebase utilizza la serializzazione zero-copy dove possibile, evitando allocazioni di memoria non necessarie durante il passaggio di messaggi tra agenti e strumenti. Il modello di ownership di Rust garantisce che dati sensibili come chiavi API e risposte dei modelli non possano essere acceduti dopo essere stati spostati o rilasciati — una garanzia semplicemente impossibile nei linguaggi con garbage collector.
Sandbox WASM
Una delle funzionalità di sicurezza più critiche di Agentor è il sandbox WASM per l'esecuzione degli strumenti. Quando un agente IA decide di invocare uno strumento — che si tratti di leggere un file, eseguire codice o chiamare un'API esterna — l'esecuzione avviene all'interno di un sandbox WebAssembly con capacità rigorosamente definite.
Il sandbox impone l'isolamento della memoria (gli strumenti non possono accedere alla memoria del processo host), restrizioni sul filesystem (gli strumenti possono accedere solo a percorsi esplicitamente autorizzati), confini di rete (le richieste in uscita vengono filtrate tramite allowlist) e limiti di tempo (gli strumenti fuori controllo vengono terminati dopo un timeout configurabile). Ciò significa che anche se uno strumento contiene logica malevola o un LLM produce un comando pericoloso per allucinazione, il raggio del danno è contenuto all'interno del confine del sandbox.
Ottimizzato per la generazione di codice
Mentre la maggior parte dei framework per agenti IA tratta la generazione di codice come un caso d'uso tra tanti, Agentor è stato progettato fin dall'inizio con la generazione di codice come flusso di lavoro di prima classe. Questo è il suo differenziatore chiave. I team di sviluppo che utilizzano LLM per generare, refactorizzare e testare codice necessitano di un framework per agenti che comprenda la struttura dei progetti software — non solo il testo.
- Sviluppo guidato da specifiche: gli agenti possono acquisire specifiche strutturate (OpenAPI, protobuf, JSON Schema) e generare codice di implementazione conforme alla spec, con validazione a ogni passaggio
- Output di codice multi-file: a differenza dei framework che producono risposte a singolo file, Agentor supporta la generazione coordinata multi-file con tracciamento delle dipendenze e risoluzione degli import
- Trasformazioni AST-aware: le modifiche al codice vengono eseguite a livello di albero sintattico astratto anziché tramite manipolazione di stringhe, riducendo il rischio di errori di sintassi e preservando le convenzioni di formattazione
- Pipeline di testing integrati: il codice generato viene automaticamente instradato attraverso suite di test configurabili prima di essere presentato come output finale, individuando errori prima che raggiungano lo sviluppatore
- Ottimizzazione della finestra di contesto: i codebase di grandi dimensioni vengono suddivisi e prioritizzati in modo intelligente affinché i file più rilevanti siano inclusi nella finestra di contesto del LLM, massimizzando la qualità della generazione
Questa combinazione di funzionalità rende Agentor particolarmente adatto per ambienti enterprise dove la generazione di codice deve essere affidabile, auditabile e integrata nelle pipeline CI/CD esistenti.
Integrazione del protocollo MCP
Agentor include un'implementazione completa del Model Context Protocol (MCP), lo standard emergente per connettere agenti IA a strumenti esterni, fonti di dati e servizi. Il supporto MCP significa che qualsiasi strumento costruito per Claude, GPT o altri modelli compatibili con MCP può essere utilizzato direttamente all'interno di Agentor senza modifiche.
L'integrazione funziona in entrambe le direzioni: Agentor può agire come client MCP, consumando strumenti esposti da server MCP esterni, e come server MCP, esponendo i propri strumenti e capacità ad altri agenti o sistemi di orchestrazione. Questa compatibilità bidirezionale assicura che Agentor si integri nell'infrastruttura esistente anziché richiedere ai team di sostituire i propri strumenti attuali.
Conformità e sicurezza
Agentor è stato costruito con la conformità normativa come vincolo di progettazione, non come aggiunta successiva. Il framework include funzionalità che rispondono ai requisiti più comuni nei settori regolamentati:
- Pronto per il GDPR: tutti i percorsi di elaborazione dei dati supportano il tracciamento esplicito del consenso, la minimizzazione dei dati e il diritto alla cancellazione. I campi sensibili possono essere annotati per la redazione automatica nei log
- Allineato a ISO 27001: l'architettura modulare si mappa direttamente ai domini di controllo ISO 27001, con confini di sicurezza documentati tra i crate e responsabilità del rischio esplicita per modulo
- Candidato DPGA: come progetto open-source con potenziale documentato di impatto sociale, Agentor viene sottoposto al registro della Digital Public Goods Alliance
- Licenza AGPL-3.0: garantisce che il framework rimanga open source e qualsiasi modifica distribuita come servizio debba anch'essa essere open source, prevenendo il lock-in proprietario
- Traccia di audit: ogni decisione dell'agente, invocazione di strumento e risposta del modello viene registrata con metadati strutturati per analisi post-hoc e revisione normativa
Risultati e metriche
Lo sviluppo di Agentor ha raggiunto la prontezza per la produzione con risultati misurabili che validano le decisioni architetturali prese durante la riscrittura:
- 483+ test automatizzati che coprono scenari unitari, di integrazione e end-to-end su tutti i 13 crate
- 13 crate modulari con confini di dipendenza chiari, consentendo ai team un'adozione incrementale
- Tempo di avvio a freddo inferiore a 50ms — rispetto ai 2-5 secondi dei framework equivalenti in Python
- 10 volte meno consumo di memoria rispetto alle alternative basate su Python nei benchmark di orchestrazione multi-agente
- Isolamento tramite sandbox WASM con confini configurabili di filesystem, rete e memoria per l'esecuzione di ogni strumento
- Piena conformità al protocollo MCP, verificata rispetto alla suite di test ufficiale
Punti chiave
- Gli audit di sicurezza possono rivelare limitazioni strutturali che nessun patch può risolvere — a volte la risposta giusta è una riscrittura pulita in un linguaggio di sistema
- Il modello di ownership di Rust fornisce garanzie di sicurezza della memoria essenziali per agenti IA che gestiscono dati sensibili in produzione
- Il sandboxing WASM trasforma l'esecuzione degli strumenti da un modello basato sulla fiducia a uno basato sulle capacità, cambiando fondamentalmente la postura di sicurezza degli agenti IA
- Ottimizzare per la generazione di codice come flusso di lavoro di prima classe — non solo generazione di testo — richiede trasformazioni AST-aware, coordinazione multi-file e testing integrato
- Il supporto del protocollo MCP garantisce interoperabilità con l'ecosistema IA più ampio senza vendor lock-in
- La licenza open-source AGPL-3.0 protegge il framework dalla cattura proprietaria consentendo al contempo un'ampia adozione
Sei interessato a implementare agenti IA con sicurezza e prestazioni di livello produttivo? Che tu abbia bisogno di un framework per agenti sicuro per ambienti regolamentati, pipeline di generazione di codice per il tuo team di sviluppo o integrazioni IA personalizzate — Xcapit ha l'infrastruttura e l'esperienza. Parliamone.
Costruiamo qualcosa di grande
IA, blockchain e software su misura — pensato per il tuo business.
ContattaciHai bisogno di agenti IA intelligenti per il tuo business?
Costruiamo agenti autonomi guidati da specifiche che producono risultati reali.
Altri casi studio
Xcapit Labs
AiSec: Analisi di Sicurezza Automatizzata di OpenClaw — Il Framework per Agenti IA Piu Popolare al Mondo
Come il framework AiSec di Xcapit ha impiegato 35 agenti IA specializzati per analizzare OpenClaw (191K stelle su GitHub) in 4 minuti e 12 secondi, scoprendo 63 risultati di sicurezza tra cui 8 vulnerabilita critiche — mappati su 8 framework di sicurezza industriali.
UNICEF Innovation Fund
UNICEF Digital Wallet: inclusione finanziaria per oltre 4 milioni di persone
Come Xcapit ha costruito un portafoglio digitale basato su blockchain che ha raggiunto oltre 4 milioni di persone in più di 167 paesi nell'ambito del UNICEF Innovation Fund — riconosciuto come Digital Public Good dalla DPGA.