logo
Développement
Rechercher
Sécurité d'exécution

Sécurité d'exécution

Présentation

Les paramètres de sécurité d'exécution servent à configurer les stratégies de sécurité pendant l'exécution de l'Agent. Ils comprennent trois onglets : Contacts, Nœuds et Sandbox.

Page Sécurité d'exécution-CN


Niveaux d'autorisation des outils

Tous les outils sont classés en trois niveaux de sécurité :

Niveau Nom Comportement Exemples d'outils concernés
P0 Exécution automatique Aucune confirmation utilisateur requise, exécution silencieuse Read File, List Directory, Memory Query
P1 Confirmation initiale Fenêtre d'autorisation affichée lors du premier appel Bash, Web Fetch, Skill
P2 Confirmation à chaque fois Chaque appel nécessite une confirmation de l'utilisateur Opérations à haut risque

Fenêtre d'autorisation

Lorsque l'Agent appelle un outil de niveau P1/P2, l'interface affiche une fenêtre de confirmation d'autorisation :

Fenêtre de confirmation d'autorisation-CN

Information Description
Nom de l'outil L'outil dont l'appel est demandé
Description de l'opération L'opération concrète que l'outil va exécuter
Paramètres d'entrée Détails des paramètres reçus par l'outil
Autoriser/Refuser Boutons de décision de l'utilisateur

Contrôle préalable des commandes dangereuses

L'outil Bash intègre un mécanisme de contrôle préalable des commandes dangereuses (bashCommandPreflightCheck) :

Type de détection Description
Détection de chemins destructeurs Détecte les commandes de suppression à haut risque telles que rm -rf /, rm -rf ~
Détection de commandes système Détecte les commandes de niveau système telles que shutdown, reboot
Risque de perte de données Détecte les opérations susceptibles d'entraîner une perte de données

Lorsqu'une commande dangereuse est détectée, elle est automatiquement élevée au niveau P2 (confirmation à chaque fois).


Interception par Hook

Le système prend en charge les Hooks beforeToolUse et afterToolUse :

Hook Moment de déclenchement Capacités
beforeToolUse Avant l'exécution de l'outil Peut bloquer l'exécution, modifier les paramètres, forcer l'élévation du niveau de confirmation
afterToolUse Après l'exécution de l'outil Peut enregistrer des journaux, déclencher des opérations ultérieures

Environnement d'exécution sandbox

Le sandbox fournit un environnement d'exécution de code isolé, protégeant la sécurité du système hôte.

Spécifications techniques

Paramètre Valeur
Virtualisation Micro-machine virtuelle avec communication VirtIO Serial
Architectures prises en charge arm64, amd64
Environnement d'exécution Environnement Linux complet (Bash, Python, Node.js)

Trois modes d'exécution

Mode Description
local Exécution directe sur le système hôte (par défaut)
sandbox Exécution forcée dans le sandbox
auto Le système détermine automatiquement si le sandbox est nécessaire

Processus d'installation

  1. Détection système : vérifie la compatibilité du système hôte
  2. Téléchargement du Runtime : télécharge l'environnement d'exécution de virtualisation
  3. Téléchargement de l'Image : télécharge l'image disque Linux
  4. Prêt : le sandbox est disponible

Progression de l'installation du sandbox-CN

La progression de l'installation est affichée via le composant CoworkSandboxProgress (étape, téléchargé/total, pourcentage).

Détection de l'état

Champ d'état Description
supported Le système actuel prend-il en charge le sandbox
runtimeReady L'environnement d'exécution est-il installé
imageReady L'image est-elle installée
downloading Un téléchargement est-il en cours

Sécurité des nœuds

L'onglet Nœuds configure les stratégies de sécurité dans les scénarios multi-nœuds :

Configuration Description
Visibilité du nœud Contrôle la portée de visibilité externe de ce nœud (account / enterprise)
Déclaration de capacités Configure la liste des outils et commandes que ce nœud expose à l'extérieur
Autorisations distantes Stratégie de traitement des demandes d'autorisation provenant de nœuds distants (voir les règles concrètes de distribution inter-nœuds dans Architecture multi-nœuds — Règles de distribution des fenêtres d'autorisation)


Impact réel des niveaux de sécurité

Comprendre l'impact réel des niveaux de sécurité sur l'utilisation quotidienne :

Scénario P0 (Exécution automatique) P1 (Confirmation initiale) P2 (Confirmation à chaque fois)
L'Agent doit lire un fichier Lecture silencieuse, imperceptible Confirmation par fenêtre la première fois, puis automatique Fenêtre à chaque fois
L'Agent exécute npm install Exécution directe Confirmation par fenêtre la première fois Fenêtre à chaque fois
L'Agent exécute rm -rf node_modules Exécution directe (dangereux !) Confirmation par fenêtre la première fois Fenêtre à chaque fois
L'Agent effectue une recherche web Recherche directe Confirmation par fenêtre la première fois Fenêtre à chaque fois

Remarque : en P0, l'outil Bash exécute silencieusement n'importe quelle commande Shell, y compris la suppression de fichiers. Bien qu'un contrôle préalable des commandes dangereuses soit intégré, il ne peut pas couvrir toutes les commandes à risque. Il est recommandé de régler au minimum Bash sur P1.

Recommandations pour le choix du niveau de sécurité

Environnement d'utilisation Configuration recommandée Raison
Machine de développement personnelle, entièrement fiable Bash : P1, autres : P0 Haute efficacité, la confirmation initiale de Bash prévient les erreurs de manipulation
Appareil partagé / environnement d'équipe Bash : P2, Web Fetch : P1, autres : P0 Chaque exécution de commande nécessite une confirmation, ce qui évite qu'une erreur de manipulation n'affecte les autres
Utilisateur débutant Tout en P1 ou P2 Apprendre les modèles de comportement de l'Agent grâce aux fenêtres de confirmation
Environnement de démonstration Tout en P2 Sécurité maximale, contrôle total

Impact réel du sandbox

Critère de comparaison Sandbox désactivé (mode local) Sandbox activé (mode sandbox)
Opérations sur fichiers L'Agent lit et écrit directement vos fichiers locaux L'Agent opère dans un environnement isolé, sans affecter les fichiers de la machine
Installation de logiciels npm install installe directement dans votre projet L'installation a lieu dans le sandbox et disparaît après la sortie
Commandes dangereuses rm -rf supprime directement vos fichiers N'affecte que le système de fichiers virtuel du sandbox
Vitesse d'exécution Vitesse native Légèrement plus lent (surcoût de virtualisation)
Cas d'usage Tâches de développement quotidiennes fiables Exécution de code non fiable, opérations expérimentales

Comment choisir parmi les trois modes d'exécution

Mode Public concerné Description
local (par défaut) Développeurs au quotidien Toutes les commandes s'exécutent directement sur la machine, vitesse maximale
sandbox Utilisateurs sensibles à la sécurité Toutes les commandes s'exécutent dans le sandbox, isolation totale
auto Utilisateurs avancés Le système décide automatiquement selon le risque de la commande : faible risque en local, risque élevé dans le sandbox

Comment installer le sandbox

  1. Ouvrez l'APP → Paramètres → Sécurité d'exécution → onglet Sandbox
  2. Le système détecte automatiquement si l'appareil actuel prend en charge le sandbox
  3. Si c'est le cas, cliquez sur le bouton Installer
  4. Attendez le téléchargement du Runtime (environ 50-100 Mo) et de l'Image (environ 200-500 Mo)
  5. Une fois le téléchargement terminé, l'état du sandbox affiche « Prêt »
  6. Sélectionnez sandbox ou auto dans le mode d'exécution

Remarque : le sandbox ne prend actuellement en charge que macOS (arm64 et amd64). La prise en charge de Windows est prévue.


Impact réel de la visibilité des nœuds

Réglage Impact
account (personnel) Seul vous, connecté sur d'autres appareils, pouvez voir et appeler ce nœud. Les membres de l'équipe ne le voient pas.
enterprise (entreprise) Tous les membres du même espace de travail peuvent voir ce nœud et peuvent, via la Gateway, répartir des tâches à exécuter sur cet appareil.

Astuce : régler sur enterprise signifie que les conversations lancées par les membres de l'équipe peuvent exécuter des tâches d'Agent sur votre ordinateur (y compris la lecture/écriture de fichiers et l'exécution de commandes). Assurez-vous de bien comprendre cet impact et de faire confiance aux membres de votre équipe.


Documents connexes