Aller au contenu

Mode avec élévation

Lorsqu’un agent s’exécute dans un sandbox, ses commandes exec sont confinées à l’environnement sandbox. Le mode avec élévation permet à l’agent de s’en échapper et d’exécuter des commandes sur l’hôte de la passerelle à la place, avec des barrières d’approbation configurables.

Contrôlez le mode avec élévation par session avec les commandes slash :

DirectiveCe qu’elle fait
/elevated onExécuter sur l’hôte de la passerelle, conserver les approbations exec
/elevated askIdentique à on (alias)
/elevated fullExécuter sur l’hôte de la passerelle et ignorer les approbations exec
/elevated offRetourner à l’exécution confinée au sandbox

Également disponible sous la forme /elev on|off|ask|full.

Envoyez /elevated sans argument pour voir le niveau actuel.

  1. Vérifier la disponibilité

    La fonctionnalité Elevated doit être activée dans la configuration et l’expéditeur doit figurer sur la liste d’autorisation (allowlist) :

    {
    tools: {
    elevated: {
    enabled: true,
    allowFrom: {
    discord: ["user-id-123"],
    whatsapp: ["+15555550123"],
    },
    },
    },
    }
  2. Définir le niveau

    Envoyez un message contenant uniquement une directive pour définir la valeur par défaut de la session :

    /elevated full

    Ou utilisez-la en ligne (s’applique uniquement à ce message) :

    /elevated on run the deployment script
  3. Les commandes s'exécutent sur l'hôte

    Lorsque le mode avec élévation est actif, les appels exec sont routés vers l’hôte de la passerelle au lieu du sandbox. En mode full, les approbations exec sont ignorées. En mode on/ask, les règles d’approbation configurées s’appliquent toujours.

  1. Directive en ligne sur le message (s’applique uniquement à ce message)
  2. Remplacement de session (défini en envoyant un message contenant uniquement une directive)
  3. Valeur par défaut globale (agents.defaults.elevatedDefault dans la configuration)
  • Portail global : tools.elevated.enabled (doit être true)
  • Liste d’autorisation de l’expéditeur : tools.elevated.allowFrom avec des listes par canal
  • Portail par agent : agents.list[].tools.elevated.enabled (ne peut que restreindre davantage)
  • Liste d’autorisation par agent : agents.list[].tools.elevated.allowFrom (l’expéditeur doit correspondre à la fois au global + par agent)
  • Repli Discord : si tools.elevated.allowFrom.discord est omis, channels.discord.allowFrom est utilisé comme solution de repli
  • Tous les portails doivent être réussis ; sinon, le mode élevé est traité comme indisponible

Formats des entrées de la liste d’autorisation :

PréfixeCorrespondances
(aucun)ID d’expéditeur, E.164 ou champ De
name:Nom d’affichage de l’expéditeur
username:Nom d’utilisateur de l’expéditeur
tag:Balise de l’expéditeur
id:, from:, e164:Ciblage d’identité explicite
  • Stratégie d’outil : si exec est refusé par la stratégie d’outil, le mode élevé ne peut pas le remplacer
  • Distinct de /exec : la directive /exec ajuste les valeurs par défaut d’exécution par session pour les expéditeurs autorisés et ne nécessite pas le mode élevé