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 :

    json5
    {  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 :

    Code
    /elevated full

    Vous pouvez aussi l’utiliser dans le corps du message (elle ne s’applique alors qu’à ce message) :

    Code
    /elevated on run the deployment script
  • Les 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

    1. Directive intégrée au message (s’applique uniquement à ce message)
    2. Remplacement de session (défini en envoyant un message contenant uniquement une directive)
    3. Valeur globale par défaut (agents.defaults.elevatedDefault dans la configuration)

    Disponibilité et listes d’autorisation

    • Contrôle global : tools.elevated.enabled (doit être true)
    • Liste d’autorisation des expéditeurs : tools.elevated.allowFrom avec 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 être true)
    • 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ée tools.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 exec est 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 auto en 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 choisit node que lorsque la cible est déjà node.
    • Distinct de /exec : la directive /exec ajuste 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

    Was this useful?
    On this page

    On this page