Gerenciamento de Segredos
Os agentes podem ler segredos configurados pelo usuário em tempo de execução usando a CLI tai tool.
Os segredos são criptografados em repouso (AES-256-GCM) e descriptografados apenas quando lidos.
Ferramentas Disponíveis
| Ferramenta | Descrição |
|---|---|
secret_list | Lista nomes e descrições de segredos (sem valores) |
secret_read | Lê o valor de um único segredo pelo nome |
Uso
Bash
# Listar segredos disponíveis
tai tool secret_list
# Ler um segredo
TOKEN=$(tai tool secret_read '{"name": "GITHUB_TOKEN"}' | jq -r '.value')
git clone "https://${TOKEN}@github.com/org/repo.git"
Node.js
const { execSync } = require("child_process");
function readSecret(name) {
const raw = execSync(
`tai tool secret_read '${JSON.stringify({ name })}'`,
{ encoding: "utf-8" }
);
return JSON.parse(raw).value;
}
const token = readSecret("GITHUB_TOKEN");
Python
import json
import subprocess
def read_secret(name: str) -> str:
result = subprocess.run(
["tai", "tool", "secret_read", json.dumps({"name": name})],
capture_output=True, text=True, check=True,
)
return json.loads(result.stdout)["value"]
token = read_secret("GITHUB_TOKEN")
PowerShell
function Read-Secret {
param([string]$Name)
$json = @{ name = $Name } | ConvertTo-Json -Compress
$result = tai tool secret_read $json | ConvertFrom-Json
return $result.value
}
$token = Read-Secret -Name "GITHUB_TOKEN"
Regras de Segurança
- Nunca imprima ou registre valores de segredo — Não escreva segredos em stdout, stderr ou qualquer arquivo de log.
- Nunca escreva segredos em arquivos — Exceção: chaves SSH podem ser escritas em
~/.ssh/com permissõeschmod 600. - Nunca envie segredos para o LLM — Valores de segredo não devem aparecer no conteúdo do prompt, mensagens do sistema ou resultados de chamadas de ferramenta que são encaminhados para o modelo.
- Isolamento de escopo — Segredos são definidos por usuário e por agente. Um agente só pode acessar segredos configurados para ele.
- Trilha de auditoria — Toda chamada a
secret_readé registrada na trilha de auditoria com a identidade do chamador.