Install
openclaw skills install @jlacroix82/secrets-injectHIGH-PRIVILEGE companion to secrets-manager. Substitutes encrypted secrets into command strings and materializes them as executable shell scripts (written to chmod 0600 temp files) or prints them to stdout. This is a secret-exfiltration-capable capability by design — it intentionally expands a secret store into command material. Use ONLY when you must hand secrets to a shell command. The core secrets-manager store deliberately does NOT do this; this lives in its own skill so the dangerous capability is opt-in and clearly labeled. Requires the secrets-manager store (memory/secrets).
openclaw skills install @jlacroix82/secrets-injectThis skill deliberately takes encrypted secrets and turns them into
executable shell commands containing plaintext secrets. It exists as a
separate, clearly-labeled skill so the core secrets-manager can stay a
pure, clean store. Only install/use this if you actually need to inject
secrets into a command.
/tmp/secrets-inject-*.sh, mode 0600).--inject-stdout) puts plaintext secrets into shell
history, logs, journald, CI output, and terminal scrollback.cat .master-key.You have a secret in secrets-manager and must pass it to a command that
needs it inline (e.g. curl -H "Authorization: Bearer {{api_key}}").
# 1) Store the secret first (separate skill)
node skills/secrets-manager/secrets-manager.js --store api_key sk-abc123
# 2) Inject into a command → writes a temp script, prints its path
node skills/secrets-inject/secrets-inject.js --inject "curl -H 'Authorization: Bearer {{api_key}}' https://api.example.com/v1"
# Output: [secrets-inject] ✅ Injected 1 secret(s) into: /tmp/secrets-inject-12345-1.sh
# [secrets-inject] Run with: sh /tmp/secrets-inject-12345-1.sh
# 3) Run it, then CLEAN UP
sh /tmp/secrets-inject-12345-1.sh
node skills/secrets-inject/secrets-inject.js --cleanup-tmp
node skills/secrets-inject/secrets-inject.js --inject-stdout --confirm-expose "echo {{api_key}}"
# Will print the resolved command with the plaintext secret.
The skill refuses to print to stdout without --confirm-expose.
Temp injection files are tracked in memory/secrets/.tmp-injections.json
and removed by --cleanup-tmp. They are NOT auto-removed — delete them
after use. An undeleted temp file is plaintext-on-disk exposure.
secrets-manager --get --raw > /tmp/k && chmod 600 /tmp/k and pass
the file path to a command instead of inline injection when possible.secrets-manager).--cleanup-tmp).