Geheimnisverwaltung
Agents können zur Laufzeit benutzerkonfigurierte Geheimnisse über das tai tool CLI auslesen.
Geheimnisse werden im Ruhezustand verschlüsselt (AES-256-GCM) und nur beim Lesen entschlüsselt.
Verfügbare Tools
| Tool | Beschreibung |
|---|---|
secret_list | Geheimnisnamen und Beschreibungen auflisten (keine Werte) |
secret_read | Einen einzelnen Geheimniswert nach Namen lesen |
Verwendung
Bash
# Verfügbare Geheimnisse auflisten
tai tool secret_list
# Ein Geheimnis lesen
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"
Sicherheitsregeln
- Geheimniswerte niemals ausgeben oder protokollieren – Schreibe Geheimnisse nicht in stdout, stderr oder Logdateien.
- Geheimnisse niemals in Dateien schreiben – Ausnahme: SSH-Schlüssel dürfen mit
chmod 600-Berechtigungen in~/.ssh/geschrieben werden. - Geheimnisse niemals an das LLM senden – Geheimniswerte dürfen nicht im Prompt-Inhalt, in Systemnachrichten oder in Tool-Aufrufergebnissen erscheinen, die an das Modell weitergeleitet werden.
- Bereichsisolierung – Geheimnisse sind pro Benutzer und Agent isoliert. Ein Agent kann nur auf für ihn konfigurierte Geheimnisse zugreifen.
- Prüfpfad – Jeder
secret_read-Aufruf wird im Prüfpfad mit der Identität des Aufrufers protokolliert.