Arrakis : un outil open source qui fournit un environnement sandbox sécurisé pour les intelligences IA
Introduction générale
Arrakis est un environnement sandbox conçu pour les intelligences IA afin de fournir un environnement sécurisé et personnalisable. Développé par Abhishek Bhardwaj et hébergé sur GitHub sous licence AGPL v3, Arrakis isole le code de l'IA et sécurise l'hôte grâce à la technologie MicroVM. Chaque bac à sable intègre Ubuntu, démarre avec son propre service d'exécution de code et son serveur VNC, et prend en charge une interface graphique. L'outil fournit un SDK Python et une API REST pour aider les développeurs à gérer le bac à sable. Arrakis est idéal pour les développeurs qui ont besoin d'exécuter du code en toute sécurité ou de tester des processus en plusieurs étapes.


Liste des fonctions
- isolement sécuriséLes technologies MicroVM permettent d'isoler le code de l'intelligence artificielle et de protéger les hôtes et les autres tâches.
- Instantanés et retours en arrièreSupport pour sauvegarder l'état du bac à sable et le restaurer, ce qui facilite les tests de l'IA pour les tâches en plusieurs étapes.
- SDK Python: Fourni
py-arrakis
Le programme est un bac à sable de contrôle programmable. - API REST: à travers
arrakis-restserver
Fournir des interfaces pour gérer le bac à sable. - Interface utilisateur graphique (GUI) (informatique)Chaque bac à sable dispose d'un serveur VNC intégré et de Chrome avec prise en charge de l'interface graphique.
- Configuration du réseauConfiguration automatique du réseau avec prise en charge de la redirection des ports et de l'accès SSH.
- Environnements personnalisés: à travers
Dockerfile
Ajuster le logiciel et la configuration du bac à sable. - Compatible MCP: Soutien MCP Les clients (par exemple Claude Desktop) pour une intégration aisée.
Utiliser l'aide
L'installation et l'utilisation d'Arrakis nécessitent quelques étapes. Voici des instructions détaillées pour vous aider à démarrer rapidement.
Processus d'installation
- Vérification des exigences du système
Arrakis n'est supporté que sur les systèmes Linux car il s'appuie sur le programme/dev/kvm
Virtualisation. Vous pouvez vérifier la prise en charge de la virtualisation à l'aide de la commande :
stat /dev/kvm
Si une erreur est renvoyée, l'hôte n'est pas pris en charge et la virtualisation doit être activée.
- télécharger et installer
Exécutez la commande suivante sous Linux pour télécharger le fichier préconstruit :
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash
Le téléchargement génère arrakis-prebuilt
contenant les binaires et les images.
- Démarrer le serveur REST
Allez dans le dossier et démarrez le service :
cd arrakis-prebuilt
sudo ./arrakis-restserver
Le service fonctionne par défaut sur le serveur 127.0.0.1:7000
. Besoins sudo
en ce qui concerne la gestion des machines virtuelles.
- Installation du SDK Python (optionnel)
Si vous souhaitez contrôler le bac à sable avec Python, installez le SDK :
pip install py-arrakis
Principales fonctions
Création d'un bac à sable
- Utilisation de l'interface de programmation
Créer un bac à sable :
./arrakis-client start -n my-sandbox
Renvoie les informations relatives à l'IP et à l'état du bac à sable.
- Utilisation de Python
Créé avec le SDK :
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())
code en cours d'exécution
- Méthode CLI
Exécuter des commandes dans le bac à sable :./arrakis-client run -n my-sandbox --cmd "echo Hello World"
- La voie Python
Exécutez-le avec le SDK :sandbox.run_cmd('echo Hello World')
La sortie est renvoyée au terminal.
Utilisation de l'interface graphique
Chaque bac à sable démarre avec son propre serveur VNC et Chrome. obtenir des informations sur la connexion :
- Utiliser le CLI :
./arrakis-client info -n my-sandbox
Retourne quelque chose comme
port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}]
. - Utiliser Python :
print(sandbox.info()['port_forwards'])
- Connecter le VNC :
Connexion avec un client VNC (par exemple noVNC)主机IP:3000
L'interface graphique est visible.
Instantanés et retours en arrière
- Sauvegarder l'instantané
Utiliser le CLI :./arrakis-client snapshot -n my-sandbox -o snap1
Utiliser Python :
snapshot_id = sandbox.snapshot('snap1')
- Restauration d'un cliché instantané
Détruisez d'abord le bac à sable :./arrakis-client destroy -n my-sandbox
Réintégration :
./arrakis-client restore -n my-sandbox --snapshot snap1
Ou avec Python :
sandbox.destroy() sandbox = manager.restore('my-sandbox', snapshot_id)
Bacs à sable personnalisés
- localiser
rootfs/Dockerfile
. - Modifier pour ajouter un logiciel, par exemple :
RUN apt-get update && apt-get install -y vim
- Redémarrer le bac à sable :
./arrakis-client start -n my-sandbox --rootfs custom-rootfs
Accès SSH
Chaque bac à sable prend en charge SSH :
- Obtenir la PI :
./arrakis-client info -n my-sandbox
Retourne quelque chose comme
ip: "10.20.1.2/24"
. - Se connecter :
ssh elara@10.20.1.2
utilisateur par défaut
elara
Mot de passeelara0000
.
Exemple de déroulement des opérations
J'essaie de faire en sorte que l'IA écrive des fichiers et teste le backtracking dans un bac à sable :
- Démarrer le bac à sable :
./arrakis-client start -n test-sandbox
- Exécuter la commande :
./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
- Sauvegarder l'instantané :
./arrakis-client snapshot -n test-sandbox -o step1
- Modifier le fichier :
./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
- Restaurer les instantanés :
./arrakis-client destroy -n test-sandbox ./arrakis-client restore -n test-sandbox --snapshot step1
- Vérifier le fichier :
./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
Le résultat devrait être
第一步
.
Pour plus de détails, consultez le site GitHub README.md
.
scénario d'application
- Débogage du code IA
Les développeurs exécutent du code non fiable avec Arrakis pour isoler le risque. Revenir en arrière après les erreurs pour vérifier les problèmes. - expérience pédagogique
L'enseignant construit un bac à sable pour que les élèves s'exercent à la programmation de l'IA, et les élèves peuvent le manipuler à volonté sans affecter l'ordinateur central. - test de tâches en plusieurs étapes
Les entreprises utilisent Arrakis pour tester les processus automatisés d'IA, tels que les opérations web ou le traitement des fichiers, avec la prise en charge de la récupération des instantanés.
QA
- Arrakis est-il compatible avec Windows ?
n'est pas pris en charge et ne fonctionne actuellement que sous Linux en raison de sa dépendance à l'égard de l'extensioncloud-hypervisor
. - Comment arrêter le bac à sable ?
dépense ou frais./arrakis-client stop -n 名称
Arrêter, oudestroy
Supprimer. - Quel est l'espace occupé par un instantané ?
En fonction du contenu du bac à sable, généralement quelques centaines de Mo, il est recommandé de nettoyer les instantanés inutilisés.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...