首页龙虾技能列表 › Agentlair Vault

Agentlair Vault

v1.1.0

Store and fetch credentials securely at runtime via AgentLair Vault REST API. Use when an agent needs to read an API key, store a secret, rotate credentials,...

0· 78·1 当前·1 累计
by @hawkaa·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/28
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
安全
high confidence
The skill's requirements and instructions are coherent with its stated purpose (a remote vault accessed via curl using a single API key); it asks for the expected credential and contains no unrelated access or install steps.
评估建议
This skill appears internally consistent and simply documents how an agent should call the AgentLair Vault API using curl and a single AGENTLAIR_API_KEY. Before installing, confirm you trust the external service (https://agentlair.dev) because storing secrets in the vault means the remote service handles/retains your credentials according to its policies. Keep AGENTLAIR_API_KEY secret and consider using least-privilege or short-lived keys. Because this is instruction-only, the agent will perform...
详细分析 ▾
用途与能力
Name/description match the runtime instructions: the SKILL.md instructs only how to store, fetch, rotate, list, and delete secrets via the AgentLair Vault REST API. Required binary (curl) and primaryEnv (AGENTLAIR_API_KEY) are appropriate and proportionate for this purpose.
指令范围
All runtime instructions are explicit curl calls to https://agentlair.dev endpoints using the AGENTLAIR_API_KEY bearer token. The instructions do not direct the agent to read local files, other environment variables, or system configuration unrelated to vault operations. Note: the intended behavior is to transmit secrets to the remote vault service (this is expected for a vault integration).
安装机制
This is an instruction-only skill with no install spec or code files. That minimizes on-disk footprint and is proportionate for a wrapper around an HTTP API; required tools are limited to curl.
凭证需求
Only a single primary credential (AGENTLAIR_API_KEY) is declared and used in the instructions. No additional unrelated secrets or config paths are requested. Requiring one API key to use the remote vault is appropriate.
持久化与权限
always is false and there are no install steps that modify agent-wide configuration. The skill does not request elevated or persistent platform privileges beyond normal autonomous invocation behavior.
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

🖥️ OSLinux · macOS · Windows

版本

latestv1.1.02026/3/27

v1.1.0: Add trust links (agentlair-vault-crypto source, security page), client-side encryption option, Trust & Security section

● 可疑

安装命令 点击复制

官方npx clawhub@latest install agentlair-vault
镜像加速npx clawhub@latest install agentlair-vault --registry https://cn.clawhub-mirror.com

技能文档

Keep credentials out of ~/.openclaw/openclaw.json. Store them in AgentLair Vault. Fetch them at runtime. Rotate with one API call.

Base URL: https://agentlair.dev Auth: Authorization: Bearer $AGENTLAIR_API_KEY

The agent holds a vault token. Not the credential itself. Only AGENTLAIR_API_KEY lives in the environment — everything else is fetched at runtime through an audited, rate-limited API.


Setup: Get an API Key

Self-service, no email required:

curl -s -X POST https://agentlair.dev/v1/auth/keys \
  -H "Content-Type: application/json" \
  -d '{}'

Response:

{"api_key": "al_live_...", "account_id": "acc_...", "tier": "free", "created_at": "..."}

Store api_key as AGENTLAIR_API_KEY in your environment. This is the only credential that needs to be in your environment or config file.


When to Use This Skill

Use this skill when:

  • An agent needs to use an API key (Anthropic, OpenAI, Stripe, Slack, etc.)
  • A user asks to store, retrieve, rotate, or revoke a credential
  • You want to avoid storing secrets in openclaw.json or environment variables
  • You're setting up a new agent and need to provision credentials
  • A skill needs a third-party token that shouldn't be exposed to the filesystem

Do not use openclaw.json or environment variables for third-party API keys if you can store them in vault instead.


Store a Secret (Setup / Rotation)

Store any secret under a named key. Use descriptive names (anthropic-key, stripe-live, slack-bot-token).

curl -s -X PUT "https://agentlair.dev/v1/vault/anthropic-key" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ciphertext": "sk-ant-YOUR-KEY-HERE", "metadata": {"label": "Anthropic API key", "service": "anthropic"}}'

Response (first store, HTTP 201):

{
  "key": "anthropic-key",
  "stored": true,
  "version": 1,
  "created_at": "2026-03-27T...",
  "updated_at": "2026-03-27T..."
}

Response (update / rotation, HTTP 200):

{
  "key": "anthropic-key",
  "stored": true,
  "version": 2,
  "created_at": "2026-03-27T...",
  "updated_at": "2026-03-27T..."
}

Key naming rules: 1–128 characters, alphanumeric + _, -, .

Optional metadata object (max 4KB): human-readable context. Not the secret — just labels, service names, expiry hints. Never put secret values in metadata.


Fetch a Secret at Runtime

Retrieve a stored secret by name. The ciphertext field contains the stored value.

curl -s "https://agentlair.dev/v1/vault/anthropic-key" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

Response:

{
  "key": "anthropic-key",
  "ciphertext": "sk-ant-YOUR-KEY-HERE",
  "value": "sk-ant-YOUR-KEY-HERE",
  "metadata": {"label": "Anthropic API key", "service": "anthropic"},
  "version": 1,
  "latest_version": 1,
  "created_at": "2026-03-27T...",
  "updated_at": "2026-03-27T..."
}

Use the ciphertext (or value — both return the same thing) field as the credential.

To retrieve a specific version:

curl -s "https://agentlair.dev/v1/vault/anthropic-key?version=1" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

List All Secrets

Get metadata for all stored keys (never returns ciphertext/values):

curl -s "https://agentlair.dev/v1/vault/" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

Response:

{
  "keys": [
    {
      "key": "anthropic-key",
      "version": 1,
      "metadata": {"label": "Anthropic API key"},
      "created_at": "2026-03-27T...",
      "updated_at": "2026-03-27T..."
    }
  ],
  "count": 1,
  "limit": 10,
  "tier": "free"
}

Rotate a Secret

Rotation is a PUT with the new value. Creates a new version. The old version is retained (up to 3 versions on free tier) for rollback.

curl -s -X PUT "https://agentlair.dev/v1/vault/anthropic-key" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ciphertext": "sk-ant-NEW-ROTATED-KEY", "metadata": {"label": "Anthropic API key", "rotated_at": "2026-03-27"}}'

All agents fetching GET /v1/vault/anthropic-key automatically get the new value on their next call — no config changes, no restarts.


Revoke a Secret

Delete a key and all its versions:

curl -s -X DELETE "https://agentlair.dev/v1/vault/anthropic-key" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

Response:

{"key": "anthropic-key", "deleted": true, "versions_removed": 2}

Delete a specific version only:

curl -s -X DELETE "https://agentlair.dev/v1/vault/anthropic-key?version=1" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY"

Free Tier Limits

LimitValue
Keys per account10
Versions per key3 (oldest pruned automatically)
Max value size16 KB
API requests per day100

Example Session

User: "Store my Stripe API key in the vault and then use it to check my balance"

Agent actions:

  • Store the Stripe key in vault:
curl -s -X PUT "https://agentlair.dev/v1/vault/stripe-live" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ciphertext": "sk_live_USER_PROVIDED_KEY", "metadata": {"label": "Stripe live key", "service": "stripe"}}'
  • Fetch the key at runtime:
STRIPE_KEY=$(curl -s "https://agentlair.dev/v1/vault/stripe-live" \
  -H "Authorization: Bearer $AGENTLAIR_API_KEY" | grep -o '"ciphertext":"[^"]"' | cut -d'"' -f4)
  • Use it:
curl -s "https://api.stripe.com/v1/balance" \
  -H "Authorization: Bearer $STRIPE_KEY"
  • Confirm to user: "Stripe key stored in vault as stripe-live. Current balance retrieved."

Why Vault Instead of openclaw.json

OpenClaw's default credential storage (~/.openclaw/openclaw.json) puts API keys on disk in plaintext. A malicious ClawHub skill running on your agent can read everything there — plus ~/.aws/, ~/.ssh/, and any environment variables in the agent's process.

With AgentLair Vault:

  • Only AGENTLAIR_API_KEY is in your environment. Everything else is fetched at runtime.
  • No credentials on disk. grep -r "sk-" ~/.openclaw/ finds nothing.
  • Audit trail. Every credential fetch is logged. Unexpected access at 3am is visible.
  • Rotation without restarts. Rotate once in vault — every agent gets the new value immediately.
  • Scoped access. One AGENTLAIR_API_KEY can't read another account's keys.

The blast radius of a compromised skill drops from "all credentials on the machine" to "one rate-limited API key with an audit log."


Client-Side Encryption (Optional)

For secrets you don't want AgentLair to see in plaintext, encrypt before storing:

# Encrypt locally before storing
SECRET="sk-ant-YOUR-KEY"
ENCRYPTED=$(echo -n "$SECRET" | openssl enc -aes-256-cbc -base64 -k "$LOCAL_PASSPHRASE")

curl -s -X PUT "https://agentlair.dev/v1/vault/anthropic-key" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"ciphertext\": \"$ENCRYPTED\", \"metadata\": {\"encrypted\": \"aes-256-cbc\", \"label\": \"Anthropic API key\"}}"

# Decrypt when fetching CIPHERTEXT=$(curl -s "https://agentlair.dev/v1/vault/anthropic-key" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" | grep -o '"ciphertext":"[^"]"' | cut -d'"' -f4) PLAINTEXT=$(echo "$CIPHERTEXT" | openssl enc -aes-256-cbc -d -base64 -k "$LOCAL_PASSPHRASE")

Use this when zero-knowledge storage is required. $LOCAL_PASSPHRASE never leaves your environment.

The agentlair-vault-crypto library provides TypeScript helpers for client-side encryption/decryption with AES-256 and key derivation.


Trust & Security


Notes

  • The vault stores values as opaque blobs — AgentLair never interprets the content
  • Version history retained up to tier limit (3 versions free, 100 paid) — oldest pruned automatically
  • Recovery: register a recovery email via POST /v1/vault/recovery-email to access vault contents if you lose your API key
  • Built by AgentLair — infrastructure for autonomous agents
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务