记忆

secrets-inject

试用

HIGH-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).

它能做什么

HIGH-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).

技能文档

Secrets Inject ⚠️ (HIGH PRIVILEGE)

This 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.

⚠️ Why this is dangerous (read before use)

  • It decrypts secrets and writes them into a plaintext temp shell script (/tmp/secrets-inject-*.sh, mode 0600).
  • Anyone who can read that temp file (same user, backups, forensic images, exfiltration) gets the plaintext secrets.
  • Printing to stdout (--inject-stdout) puts plaintext secrets into shell history, logs, journald, CI output, and terminal scrollback.
  • This is the canonical "secret exfiltration path" — treat it with the same care you'd give cat .master-key.

When you might need it

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}}").

Quick Start

# 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.

Cleanup

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.

Security Notes

  • Temp scripts are chmod 0600 but are still plaintext on disk — the only protection is file permissions and your diligence in deleting them.
  • Prefer secrets-manager --get --raw > /tmp/k && chmod 600 /tmp/k and pass the file path to a command instead of inline injection when possible.
  • Never run this on a shared host, container, or CI runner you don't fully trust.
  • This skill does NOT store secrets — it only reads the secrets-manager store.

What this skill does NOT do

  • Does NOT store secrets (that's secrets-manager).
  • Does NOT transmit secrets anywhere (it only substitutes them locally).
  • Does NOT auto-clean temp files (you must run --cleanup-tmp).

相关技能

Encrypted local secret store for OpenClaw agents. AES-256-GCM authenticated encryption with per-secret random IVs, master key in chmod 0600 .master-key file. A PURE STORE: it encrypts, retrieves, lists, rotates, audits, and deletes secrets — it never writes plaintext secrets to disk or generates executable command scripts. Modes: --store (encrypt+write), --get (masked; --raw --confirm-expose prints plaintext to stdout), --list (names+metadata only), --delete (irreversible), --rotate and --rotate --all (generate new random values, archive old as retired), --audit / --audit --expired / --audit --stale (exposure/rotation checks), --status. Supports SECRETS_DIR and SECRETS_MASTER_KEY env overrides. For injecting secrets into shell commands, use the separate `secrets-inject` skill (high-privilege). Master key is recoverable from .master-key file; losing it makes stored secrets unrecoverable.

2 次安装

Scan skills in a project directory for security issues and generate a markdown table report, then install skills from a local registry. Combines static analysis of code and markdown files with supply chain checks. Use when auditing a skills directory, generating a security summary table, or installi

Scan agent skill files for hidden instructions and prompt-injection patterns (EN/RU) before a poisoned skill rewrites your agent. 19 rules, zero dependencies. Use ONLY with the user's explicit consent: tell the user which skills folder will be scanned — findings are printed to stdout locally.

在服务端把密钥注入到命令中执行,明文永不返回给 Agent,也不会进入聊天记录。

38 次安装1 星标

Classify every shell command as SAFE, WARN, or CRIT before your agent runs it. The classification is instruction-only and runs nothing. The package also ships optional installer scripts that MODIFY SOURCE CODE in an OpenClaw checkout you point them at — they refuse non-OpenClaw trees, back up first, require --yes, offer --dry-run, never rebuild unless you ask, and ship with an unpatch off-switch. Nothing is patched by installing this skill. Built for the TinkerClaw fork — github.com/globalcaos/tinkerclaw. See Permissions, Data Flow & Consent.

57 次安装4 星标