Tools
Mode avec privilèges élevés
Lorsqu’un agent s’exécute dans un bac à sable, ses commandes exec sont confinées à l’environnement du bac à sable. Le mode privilégié permet à l’agent d’en sortir et d’exécuter des commandes en dehors du bac à sable, avec des contrôles d’approbation configurables.
Directives
Contrôlez le mode privilégié pour chaque session à l’aide de commandes obliques :
| Directive | Fonction |
|---|---|
/elevated on |
Exécute les commandes hors du bac à sable sur le chemin d’hôte configuré, tout en conservant les approbations |
/elevated ask |
Identique à on (alias) |
/elevated full |
Exécute les commandes hors du bac à sable sur le chemin d’hôte configuré et ignore les approbations lorsque la politique d’approbation du mode ou de l’hôte est déjà permissive |
/elevated off |
Rétablit l’exécution confinée au bac à sable |
Également disponible sous la forme /elev on|off|ask|full.
Envoyez /elevated sans argument pour afficher le niveau actuel.
Fonctionnement
Vérifier la disponibilité
Le mode privilégié doit être activé dans la configuration et l’expéditeur doit figurer dans la liste d’autorisation :
{ tools: { elevated: { enabled: true, allowFrom: { discord: ["user-id-123"], whatsapp: ["+15555550123"], }, }, },}Définir le niveau
Envoyez un message contenant uniquement une directive pour définir la valeur par défaut de la session :
/elevated fullVous pouvez aussi l’utiliser dans le corps du message (elle ne s’applique alors qu’à ce message) :
/elevated on run the deployment scriptLes commandes s’exécutent hors du bac à sable
Lorsque le mode privilégié est actif, les appels exec quittent le bac à sable. L’hôte effectif est
gateway par défaut, ou node lorsque la cible d’exécution configurée ou définie pour la session est
node. En mode full, les approbations d’exécution sont ignorées lorsque la politique d’approbation
du mode ou de l’hôte résolue est déjà entièrement permissive (sécurité full,
demande off) ; sinon, la politique d’approbation normale continue de s’appliquer. En mode
on/ask, les règles d’approbation configurées s’appliquent toujours.
Ordre de résolution
- Directive intégrée au message (s’applique uniquement à ce message)
- Remplacement de session (défini en envoyant un message contenant uniquement une directive)
- Valeur globale par défaut (
agents.defaults.elevatedDefaultdans la configuration)
Disponibilité et listes d’autorisation
- Contrôle global :
tools.elevated.enabled(doit êtretrue) - Liste d’autorisation des expéditeurs :
tools.elevated.allowFromavec des listes propres à chaque canal - Contrôle par agent :
agents.list[].tools.elevated.enabled(peut uniquement renforcer les restrictions ; les contrôles global et par agent doivent tous deux êtretrue) - Liste d’autorisation par agent :
agents.list[].tools.elevated.allowFrom(l’expéditeur doit correspondre à la fois à la liste globale et à celle de l’agent) - Liste d’autorisation de secours fournie par le canal : les plugins de canal peuvent éventuellement fournir une liste d’autorisation de secours via un point d’extension d’adaptateur du SDK, utilisée lorsque
tools.elevated.allowFrom.<provider>n’est pas configuré. Aucun canal intégré n’implémente actuellement ce point d’extension ; en pratique, chaque fournisseur nécessite donc aujourd’hui une entréetools.elevated.allowFrom.<provider>explicite. - Tous les contrôles doivent être validés ; sinon, le mode privilégié est considéré comme indisponible
Formats des entrées de la liste d’autorisation :
| Préfixe | Correspondance |
|---|---|
| (aucun) | ID de l’expéditeur, numéro E.164 ou champ From |
name: |
Nom d’affichage de l’expéditeur |
username: |
Nom d’utilisateur de l’expéditeur |
tag: |
Étiquette de l’expéditeur |
id:, from:, e164: |
Ciblage explicite de l’identité |
Ce que le mode privilégié ne contrôle pas
- Politique des outils : si
execest interdit par la politique des outils, le mode privilégié ne peut pas contourner cette interdiction. - Politique de sélection de l’hôte : le mode privilégié ne transforme pas
autoen remplacement libre entre les hôtes. Il utilise les règles de cible d’exécution configurées ou définies pour la session et ne choisitnodeque lorsque la cible est déjànode. - Distinct de
/exec: la directive/execajuste les valeurs d’exécution par défaut de la session (hôte, sécurité, demande, nœud) pour les expéditeurs autorisés et ne nécessite pas le mode privilégié.
Voir aussi
Exécution de commandes d’interpréteur depuis l’agent.
Système d’approbation et de liste d’autorisation pour exec.
Configuration du bac à sable au niveau du Gateway.
Manière dont les trois contrôles se combinent lors d’un appel d’outil.