IronClaw : un OS d'agents en Rust qui garde les données en local
IronClaw est un système d'exploitation agent axé sur la confidentialité, la sécurité et l'extensibilité.
En bref
- De quoi s’agit-il ?
- Un système d'exploitation pour agents écrit en Rust, axé sur la confidentialité, la sécurité et l'extensibilité, avec bac à sable WASM et stockage local chiffré.
- À qui s’adresse-t-il ?
- Le README décrit un OS d'agents hébergé localement avec des mécanismes de sécurité détaillés et une architecture issue d'OpenClaw. Le matériel fourni ne contient pas les fichiers de licence ; la déclaration de double licence n'a donc pas pu être vérifiée contre le texte réel.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 2 jours.
- En quel langage est-il écrit ?
- Principalement Rust, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un système d'exploitation pour agents en Rust
IronClaw est décrit dans le dépôt comme un système d'exploitation pour agents axé sur la confidentialité, la sécurité et l'extensibilité. Il est écrit en Rust, et le README le présente comme un assistant IA personnel sécurisé qui s'exécute sur la machine de l'utilisateur. L'instantané des métadonnées montre 12 588 étoiles, 1 487 forks et 1 518 problèmes ouverts ; le projet n'est pas archivé et reste actif. La page d'accueil indiquée est ironclaw.com, mais le README lui-même ne décrit pas le contenu de ce site.
La philosophie énoncée
Le README ouvre sa section philosophie avec le principe qu'un assistant IA devrait travailler pour l'utilisateur, et non contre lui. Quatre engagements suivent : toutes les données restent stockées localement et chiffrées et ne quittent jamais le contrôle de l'utilisateur ; le code est ouvert et auditable, sans télémétrie cachée ni collecte de données ; de nouveaux outils peuvent être construits à la volée sans attendre les mises à jour du fournisseur ; et plusieurs couches de sécurité protègent contre l'injection de prompt et l'exfiltration de données. Ce sont des objectifs de conception formulés dans le document. Les métadonnées du dépôt ne contiennent aucune preuve que l'implémentation les atteint, et le README ne cite pas d'audits indépendants.
Mécanismes de sécurité
La section sécurité est la partie la plus détaillée du README. Les outils non fiables s'exécutent dans un bac à sable WebAssembly avec des permissions basées sur les capacités ; l'accès HTTP, l'accès aux secrets et l'invocation d'outils exigent chacun une adhésion explicite. Une liste d'autorisation d'endpoints restreint les requêtes HTTP sortantes aux hôtes et chemins approuvés. Les secrets sont injectés à la frontière de l'hôte, jamais exposés au code WASM, et un détecteur de fuite analyse à la fois les requêtes et les réponses. Un limiteur de débit et des limites de ressources contraignent chaque outil. La défense contre l'injection de prompt combine la détection de motifs, l'assainissement du contenu, des règles de politique avec les niveaux de gravité Block, Warn, Review et Sanitize, et l'encapsulation des sorties d'outils. Le README indique également que toutes les données restent dans l'état local de l'application, que les secrets sont chiffrés avec AES-256-GCM et qu'un journal d'audit complet de toutes les exécutions d'outils est conservé. Ces affirmations décrivent la conception prévue ; le matériel fourni ne contient ni résultats de tests ni audit de sécurité.
Architecture et composants principaux
Le diagramme d'architecture montre les canaux en haut : REPL, HTTP, canaux WASM comme Telegram et Slack, et une passerelle web avec streaming SSE et WebSocket. Ces canaux alimentent une boucle d'agent qui oriente l'intention soit vers un planificateur pour les tâches parallèles, soit vers un moteur de routines pour les déclencheurs cron, événements et webhooks. Les travailleurs locaux s'exécutent dans le processus, tandis qu'un orchestrateur gère des conteneurs Docker en bac à sable avec des jetons d'authentification par tâche. Le registre d'outils contient des outils intégrés, des connexions au protocole MCP et des outils WASM. La mémoire persistante utilise un système de fichiers d'espace de travail avec recherche hybride combinant recherche plein texte et vectorielle via Reciprocal Rank Fusion, plus des fichiers d'identité qui maintiennent une personnalité et des préférences cohérentes entre les sessions. Le tableau des composants principaux liste neuf entrées, de la boucle d'agent à la couche de sécurité.
Installation, configuration et canaux
Le démarrage rapide utilise un script d'installation shell pour macOS, Linux et Windows/WSL, avec en plus un installateur MSI et un script PowerShell pour Windows. Après l'installation, `ironclaw onboard` lance une configuration guidée : choisir un fournisseur LLM, saisir la clé API dans l'invite masquée et accepter le modèle par défaut ou en saisir un autre. Cette commande provisionne la configuration locale, un magasin de credentials chiffré et un jeton de connexion WebUI ; sous macOS et Linux, elle installe et démarre également le service d'arrière-plan. Les commandes de configuration incluent `ironclaw models set-provider`, `ironclaw config set` et `ironclaw status`. Les valeurs secrètes n'acceptent jamais d'argument positionnel ; elles sont toujours demandées sans écho. Les canaux comme Slack et Telegram n'ont ni paramètres de fichier de configuration ni clé d'activation CLI ; le README indique d'installer l'extension et de terminer la configuration sur la page Extensions de la WebUI. Les écritures de configuration ne redémarrent pas automatiquement le service ; `ironclaw service restart` est donc nécessaire après une modification.
Héritage d'OpenClaw et développement
IronClaw est une réimplémentation en Rust inspirée d'OpenClaw, qui est écrit en TypeScript. Le README liste quatre différences clés : Rust au lieu de TypeScript pour la performance native et la sécurité mémoire, un bac à sable WASM au lieu de Docker, PostgreSQL au lieu de SQLite, et une conception sécurité d'abord. Une matrice de parité des fonctionnalités se trouve dans FEATURE_PARITY.md. La construction depuis le code source nécessite Rust 1.96+ et Node.js 22+ avec Corepack et pnpm. Les tests utilisent PostgreSQL, avec `createdb ironclaw_test` avant `cargo test`. Le README ne précise pas de rythme de publication ni d'historique de versions.
Déclaration de licence
Le README déclare que le projet est sous licence Apache License 2.0 ou MIT, au choix de l'utilisateur, et renvoie aux fichiers LICENSE-APACHE et LICENSE-MIT. Les métadonnées du dépôt enregistrent Apache-2.0 comme identifiant SPDX. Cependant, dans le matériel fourni pour cet article, aucun fichier LICENSE n'a été trouvé aux chemins habituels, de sorte que le texte exact de la licence n'a pas pu être vérifié ici. Le texte de licence lui-même ne dit rien sur les garanties de sécurité, les engagements de support ou les conditions de garantie.
Lire nearai/ironclaw à travers ses fichiers
Le dépôt nearai/ironclaw doit être compris à partir de ses propres fichiers et de l organisation que son README présente. La description disponible indique notamment : <p align="center"> </p> <h1 align="center">IronClaw</h1> <p align="center"> <strong>Your secure personal AI assistant, always on your side</strong> </p> <p align="center"> <a href="#license"></a> <a href="https://t.me/ironclawAI"></a> <a href="https://www.reddit.com/r/ironclawAI/"></a> <a href="https://gitcgr.com/nearai/ironclaw"> </a> </p> <p align="center"> <a href="README.md">English</a> | <a href="README.zh-CN.md. Ce périmètre permet de distinguer une fonction explicitement documentée d une hypothèse sur l écosystème. Il faut conserver les noms des paquets, des répertoires et des options tels qu ils apparaissent dans le dépôt, car une variation minime peut changer le résultat.
Conclusion éditoriale
Le README décrit un OS d'agents hébergé localement avec des mécanismes de sécurité détaillés et une architecture issue d'OpenClaw. Le matériel fourni ne contient pas les fichiers de licence ; la déclaration de double licence n'a donc pas pu être vérifiée contre le texte réel.
Notes de la communauté