📦 Agentlair Vault — 安全凭证托管

v1.1.0

通过 AgentLair Vault REST API,在运行时安全地存储、读取、轮换各类密钥与凭证,为智能体提供一站式远程保险库服务。

0· 78·1 当前·1 累计
by @hawkaa·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/27
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
安全
high confidence
技能的需求与说明与其目的(通过 curl 使用单一 API 密钥访问远程保险库)完全一致;仅要求必要的凭证,未涉及无关访问或安装步骤。
评估建议
该技能内部一致,仅说明如何使用 curl 与 AGENTLAIR_API_KEY 调用 AgentLair Vault API。安装前请确认信任外部服务(https://agentlair.dev),因为将机密存入保险库意味着远程服务将按其政策处理/留存您的凭证。请妥善保管 AGENTLAIR_API_KEY,并优先使用最小权限或短期密钥。由于仅为指令,智能体将直接发起网络请求——确保其环境允许出站 HTTPS。如需更高保障,请查阅 AgentLair 的隐私/留存/审计文档,或选择本地保险库。若需额外验证,可索取服务的安全文档或签署 SLA 后再存放高敏感密钥。...
详细分析 ▾
用途与能力
名称/描述与运行时指令一致:SKILL.md 仅说明如何通过 AgentLair Vault REST API 存储、获取、轮换、列出与删除机密。所需二进制(curl)与 primaryEnv(AGENTLAIR_API_KEY)与此目的相符且适度。
指令范围
所有运行时指令均为对 https://agentlair.dev 端点的显式 curl 调用,使用 AGENTLAIR_API_KEY 作为 Bearer 令牌。指令未要求智能体读取本地文件、其他环境变量或与保险库无关的系统配置。注意:预期行为是将机密传输至远程保险库服务(这对保险库集成是合理的)。
安装机制
该技能仅为指令,无安装规范或代码文件,最大限度减少磁盘占用,对 HTTP API 封装而言适度;所需工具仅限 curl。
凭证需求
仅声明并使用单一主凭证(AGENTLAIR_API_KEY)。未请求其他无关机密或配置路径。使用一个 API 密钥访问远程保险库是合理的。
持久化与权限
always 为 false,且无修改智能体全局配置的步骤。该技能除正常自主调用外,未请求提升或持久的平台权限。
安全有层次,运行前请审查代码。

License

MIT-0

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

运行时依赖

🖥️ OSLinux · macOS · Windows

版本

latestv1.1.02026/3/27

v1.1.0:新增信任链接(agentlair-vault-crypto 源码、安全页面)、客户端加密选项、信任与安全章节。

可疑

安装命令

点击复制
官方npx clawhub@latest install agentlair-vault
镜像加速npx clawhub@latest install agentlair-vault --registry https://cn.longxiaskill.com

技能文档

# AgentLair Vault — 面向 Agent 的运行时凭据存储方案 把凭据从 ~/.openclaw/openclaw.json 中移走,存入 AgentLair Vault,运行时动态获取,一次 API 调用即可轮换。 基地址:https://agentlair.dev 认证:Authorization: Bearer $AGENTLAIR_API_KEY Agent 只持有 vault token,而非凭据本身。 环境中仅存 AGENTLAIR_API_KEY,其余均在运行时通过带审计、限流的 API 获取。 --- ## 初始化:获取 API Key 自助开通,无需邮箱: ``bash curl -s -X POST https://agentlair.dev/v1/auth/keys \ -H "Content-Type: application/json" \ -d '{}' ` 返回: `json {"api_key": "al_live_...", "account_id": "acc_...", "tier": "free", "created_at": "..."} `api_key 写入环境变量 AGENTLAIR_API_KEY。它是唯一需要留在环境或配置文件中的凭据。 --- ## 何时使用本技能 当: - Agent 需使用 API Key(Anthropic、OpenAI、Stripe、Slack 等) - 用户要求存储、读取、轮换或吊销凭据 - 你希望避免把 secret 写进 openclaw.json 或环境变量 - 部署新 Agent 并需为其下发凭据 - 某技能需要不应落盘的第三方 token 不要再用 openclaw.json 或环境变量存放第三方 API Key,优先用 vault。 --- ## 存储 Secret(初始化 / 轮换) 任意 secret 可用描述性名称保存(如 anthropic-keystripe-liveslack-bot-token)。 `bash 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"}}' ` 首次存储返回(HTTP 201): `json { "key": "anthropic-key", "stored": true, "version": 1, "created_at": "2026-03-27T...", "updated_at": "2026-03-27T..." } ` 更新 / 轮换返回(HTTP 200): `json { "key": "anthropic-key", "stored": true, "version": 2, "created_at": "2026-03-27T...", "updated_at": "2026-03-27T..." } ` 命名规则: 1–128 字符,仅字母数字及 _ - . 可选 metadata 对象(≤4KB):仅作人类可读标签,不可存放 secret。 --- ## 运行时获取 Secret 按名称读取,凭据位于 ciphertext 字段。 `bash curl -s "https://agentlair.dev/v1/vault/anthropic-key" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" ` 返回: `json { "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..." } `ciphertext(或 value)作为凭据使用。 获取指定版本: `bash curl -s "https://agentlair.dev/v1/vault/anthropic-key?version=1" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" ` --- ## 列举全部 Secret 获取所有 key 的元数据(不含 ciphertext/value): `bash curl -s "https://agentlair.dev/v1/vault/" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" ` 返回: `json { "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" } ` --- ## 轮换 Secret 用 PUT 提交新值即创建新版本,旧版保留(免费层最多 3 版)以便回滚。 `bash 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"}}' ` 所有 Agent 下次 GET /v1/vault/anthropic-key 自动获得新值,无需重启或改配置。 --- ## 吊销 Secret 删除 key 及其全部版本: `bash curl -s -X DELETE "https://agentlair.dev/v1/vault/anthropic-key" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" ` 返回: `json {"key": "anthropic-key", "deleted": true, "versions_removed": 2} ` 仅删除指定版本: `bash curl -s -X DELETE "https://agentlair.dev/v1/vault/anthropic-key?version=1" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" ` --- ## 免费层限制 | 限制项 | 数值 | |-------|-------| | 每账户 key 数 | 10 | | 每 key 版本数 | 3(自动删最旧) | | 单值最大 | 16 KB | | 每日 API 请求 | 100 | --- ## 会话示例 用户:“把我的 Stripe API Key 存进 vault,然后查一下余额” Agent 动作: 1. 存储 Stripe key: `bash 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"}}' ` 2. 运行时读取: `bash STRIPE_KEY=$(curl -s "https://agentlair.dev/v1/vault/stripe-live" \ -H "Authorization: Bearer $AGENTLAIR_API_KEY" | grep -o '"ciphertext":"[^"]"' | cut -d'"' -f4) ` 3. 使用: `bash curl -s "https://api.stripe.com/v1/balance" \ -H "Authorization: Bearer $STRIPE_KEY" ` 4. 回复用户:“Stripe key 已存为 stripe-live,余额已获取。” --- ## 为何用 Vault 而非 openclaw.json OpenClaw 默认把 API Key 明文写入 ~/.openclaw/openclaw.json。恶意 ClawHub 技能可读取该目录以及 ~/.aws/~/.ssh/、进程环境变量。 AgentLair Vault 提供: - AGENTLAIR_API_KEY 在环境。其余运行时获取。 - 磁盘无凭据。grep -r "sk-" ~/.openclaw/ 一无所获。 - 审计日志。每次读取均有记录,凌晨异常访问可见。 - 无需重启即可轮换。Vault 端更新,全部 Agent 立即生效。 - 作用域隔离。一个 AGENTLAIR_API_KEY 无法跨账户读取。 技能被攻破时,损失从“整机所有凭据”降至“一个带限流与审计的 API Key”。 --- ## 客户端加密(可选) 若不想 AgentLair 看到明文,可先本地加密: `bash # 本地加密后存储 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\"}}" # 读取时解密 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") ` $LOCAL_PASSPHRASE 永不离开本机。如需零知识存储,可用 agentlair-vault-crypto 提供的 TypeScript 加密/解密助手。 --- ## 信任与安全 - 开源加密层:github.com/piiiico/agentlair-vault-crypto — 完全可审计 - 安全文档:agentlair.dev/security — 静态加密、密钥隔离、访问审计模型 - 信任架构:阅读 AgentLair 信任模型博文,了解 vault 隔离、API Key 作用域与审计日志如何协同 --- ## 附注 - Vault 把值当不透明二进制处理,AgentLair 不解析内容 - 按套餐保留版本历史(免费 3 版,付费 100 版)— 最旧版自动删除 - 若丢失 API Key,可通过 POST /v1/vault/recovery-email` 登记恢复邮箱找回 vault 内容 - 由 AgentLair 构建 — 专为自主 Agent 而生的基础设施

数据来源ClawHub ↗ · 中文优化:龙虾技能库