安全扫描
OpenClaw
安全
high confidence该技能内部一致:封装了 Bitwarden CLI,请求必要的 Bitwarden 服务器、电子邮件和主密码,并且其脚本在不联系意外端点的情况下实现了预期行为(登录、注册、会话缓存)。
评估建议
该技能似乎做了它声称的:封装 Bitwarden CLI 并管理 Bitwarden/Vaultwarden 账户。安装前,请考虑以下几点:1) 您需要提供主密码(BW_MASTER_PASSWORD),这很敏感;2) 确保凭据文件(CREDS_FILE)受保护;3) 会话令牌写入 /tmp/.bw_session,请验证环境的 /tmp 政策;4) 如果希望在存储或检索密码前获得人工批准,请限制自动调用;5) 如果担心包装代码,请自行审查 bw.sh 或从可信来源获取技能。...详细分析 ▾
✓ 用途与能力
名称/描述(Bitwarden/Vaultwarden CLI 封装)与脚本和 SKILL.md 匹配。所需的二进制文件(bw、openssl、curl)和所需的环境变量(BW_SERVER、BW_EMAIL、BW_MASTER_PASSWORD)适合用于登录、注册账户并与兼容 Bitwarden 的服务器交互的 CLI 封装。
ℹ 指令范围
SKILL.md 和 bw.sh 保持在声明的目的范围内:它们登录、生成密码、创建/列出/编辑项目,并可选地通过配置的 BW_SERVER 注册账户。少数实现注意事项:脚本使用 grep/regex 解析 JSON(脆弱但适用于仅 bash 的工具),并如描述使用 openssl 和 curl 实现注册。指令和脚本引用 CREDS_FILE 和 OPENCLAW_WORKSPACE 作为可选配置源;这些可选环境变量是合理的,但未包含在注册元数据的顶级 requires.env 声明中(见 environment_proportionality)。
✓ 安装机制
这是指令仅及附带的 bash 脚本(bw.sh)。技能元数据中没有远程下载/安装步骤,这些步骤会在安装时拉取和执行任意代码,因此安装机制风险很低。脚本需要用户单独安装 Bitwarden CLI(npm install -g @bitwarden/cli)。
ℹ 凭证需求
技能需要 BW_SERVER、BW_EMAIL 和 BW_MASTER_PASSWORD — 这些非常敏感,但适合用于自动登录到 Bitwarden/Vaultwarden 实例。脚本还读取可选的 CREDS_FILE 和 OPENCLAW_WORKSPACE 环境变量(用于定位凭据文件);这些可选变量未列在注册元数据的顶级 requires.env 中。技能将会话令牌写入 /tmp/.bw_session(使用 chmod 600),这是预期行为,但值得注意,因为它创建了一个包含身份验证令牌的本地工件。
✓ 持久化与权限
技能不请求 always: true,也不修改其他技能或系统范围的代理设置。它将会话令牌缓存到 /tmp/.bw_session,并在锁定/注销时删除,这是 CLI 封装的标准行为。默认允许自动调用(平台行为) — 如果您希望对密码操作进行人工批准,请考虑政策。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.52026/2/18
技能名称从“bitwarden-vaultwarden”更新为“Bitwarden / Vaultwarden”以提高清晰度。无功能性更改,仅改进文档和元数据。更新了 SKILL.md 描述和呈现以匹配新名称。澄清了文档语言以确保一致性和可读性。
● 无害
安装命令
点击复制官方npx clawhub@latest install twhidden-bitwarden
镜像加速npx clawhub@latest install twhidden-bitwarden --registry https://cn.longxiaskill.com
技能文档
Bitwarden/Vaultwarden CLI (bw) 封装工具,具有自动登录、会话缓存和便捷命令。可与官方 Bitwarden(vault.bitwarden.com)和自托管 Vaultwarden 实例无缝协作。
必要条件
- 已安装 Bitwarden CLI (
bw):npm install -g @bitwarden/cli - Bitwarden 或 Vaultwarden 服务器实例
- 已配置凭据(请参阅下面的配置部分)
配置
通过环境变量或凭据文件设置凭据:
# 环境变量(推荐)
export BW_SERVER="https://vault.bitwarden.com" # 官方 Bitwarden
# 或
export BW_SERVER="https://your-vaultwarden-instance.example.com" # Vaultwarden
export BW_EMAIL="your-email@example.com"
export BW_MASTER_PASSWORD="your-master-password"
# 或使用凭据文件(默认:secrets/bitwarden.env)
export CREDS_FILE="/path/to/your/bitwarden.env"
凭据文件应包含:
BW_SERVER=https://vault.bitwarden.com
BW_EMAIL=your-email@example.com
BW_MASTER_PASSWORD=your-master-password
调用方式
bash skills/bitwarden/bw.sh [args...]
命令
| 命令 | 描述 | 示例 | |
|---|---|---|---|
register [email] [pass] [name] | 注册新账户 | bw.sh register user@example.com pass123 "My Name" | |
login | 登录并解锁保险库 | bw.sh login | |
status | 显示保险库状态 | bw.sh status | |
list [search] | 列出/搜索项目 | bw.sh list github | |
get | id> | 获取完整项目 JSON | bw.sh get "GitHub" |
get-password | id> | 仅获取密码 | bw.sh get-password "GitHub" |
get-username | id> | 仅获取用户名 | bw.sh get-username "GitHub" |
create [uri] [notes] | 创建登录项 | bw.sh create "GitHub" user pass https://github.com | |
generate [length] | 生成密码 | bw.sh generate 32 | |
delete | 删除项目 | bw.sh delete | |
lock | 锁定保险库 | bw.sh lock |
工作流程
- 每个会话首次调用:
bw.sh login(根据配置的凭据自动认证) - 会话令牌缓存于
/tmp/.bw_session - 所有后续命令自动使用缓存的会话
- 重启/重新启动后:需要再次运行
login
存储新凭据
# 生成并存储
PASS=$(bash skills/bitwarden/bw.sh generate 32)
bash skills/bitwarden/bw.sh create "New Service" "user@email.com" "$PASS" "https://service.com"
账户注册
直接从 CLI 在您的 Bitwarden/Vaultwarden 服务器上注册新账户:
# 使用配置的凭据注册(来自环境变量/凭据文件) bash skills/bitwarden/bw.sh register
# 使用显式凭据注册 bash skills/bitwarden/bw.sh register "user@example.com" "SecurePass123!" "Display Name"
工作原理:
- 使用 PBKDF2-SHA256(600,000 次迭代)派生主密钥,以邮箱作为盐
- 为主服务器认证创建主密码哈希
- 生成 64 字节对称密钥,使用 AES-256-CBC + HMAC-SHA256 加密
- 向服务器的
/api/accounts/register端点提交注册请求
必要条件: OpenSSL 3.x+(用于 PBKDF2 和 HKDF 支持)、curl、xxd。
注意: 主密码必须至少 12 个字符。支持官方 Bitwarden 和 Vaultwarden 服务器。
安全护栏
- 切勿将密钥粘贴到日志、聊天或代码中。
- 将
bitwarden.env排除在版本控制之外。 - 对凭据文件使用
chmod 600。 - 会话令牌存储在
/tmp中,锁定/注销时清除。
外部端点
| 端点 | 用途 | 发送的数据 |
|---|---|---|
| 用户配置的 BW_SERVER | Bitwarden/Vaultwarden API | 加密的保险库数据、认证凭据 |
BW_SERVER 配置的 Bitwarden 服务器进行通信。对于官方 Bitwarden,这是 https://vault.bitwarden.com。对于 Vaultwarden,这是您的自托管实例 URL。安全与隐私
离开您机器的内容:
- 认证请求(邮箱、主密码)到您配置的 Bitwarden 服务器
- 加密的保险库数据(创建/读取/更新/删除操作)
- 所有通信使用 HTTPS/TLS
保留在本地的内容:
- 会话令牌(缓存于
/tmp/.bw_session) - 凭据文件(如果使用
bitwarden.env) - 解密的密码(仅在内存中,从不写入磁盘)
信任声明: 使用此技能即表示您正在向您配置的 Bitwarden 服务器发送认证凭据和保险库数据。仅在您信任您的 Bitwarden/Vaultwarden 实例时才安装此技能。
模型调用
当您的 OpenClaw 代理需要以下操作时,可以自动调用此技能:
- 安全存储凭据
- 检索自动化任务的密码
- 生成安全密码
如果您更喜欢在密码操作前进行手动审批,请相应配置您的 OpenClaw 代理的工具策略。
安全最佳实践
- 凭据文件: 对
secrets/bitwarden.env使用chmod 600 - 环境隔离: 不要跨系统共享凭据文件
- 会话令牌: 自动过期;完成后运行
bw.sh lock - Git:
.gitignore排除所有密钥(secrets/、*.env、.bw_session) - 主密码: 切勿硬编码或记录您的主密码