返回顶部
h

headless-bitwarden

Extension for Bitwarden usage: adds an ephemeral HTTPS web unlock helper for rbw (TTL default 10m) so you can unlock remotely without pasting secrets into chat.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
94
下载量
0
收藏
概述
安装方式
版本历史

headless-bitwarden

# Headless Bitwarden (rbw) — Skill (addon) Goal: safely retrieve secrets from Bitwarden **without** pasting passwords/tokens into chat. This skill is intentionally **small and non-overlapping**: - Use the existing **Bitwarden** skill for installation / account setup. - This skill only adds an **ephemeral remote unlock web helper** for `rbw`. This skill standardizes a workflow around: - `rbw` (local encrypted cache + unlock) - an **ephemeral unlock web helper** that you can start on-demand and shut down automatically. ## Core rules (must) 1) **Never paste secrets into chat** - No master password, no session keys, no JSON secrets. 2) **Ephemeral by default** - Unlock helper must be **localhost-only**, **token-gated**, and **auto-expire**. - Default TTL: **600s (10 minutes)**. 3) **No secret logging / no secret persistence** - Do not log request bodies. - Do not write secrets to disk. 4) **Always restore rbw config** - If a temporary `pinentry` override is used, it must be restored even on failure. ## Prereqs 1) Follow the workspace Bitwarden skill for setup (install, register/login): - `skills/bitwarden/SKILL.md` 2) Additional requirements for the unlock helper: - `rbw` installed and registered/logged-in (device approved) - `node` available - `bash` - Optional (recommended for remote): `cloudflared` (for an ephemeral HTTPS URL) ## Fast paths ### A) If the vault is already unlocked ```bash rbw unlocked rbw sync rbw search "<keyword>" rbw get "<item name>" --field "<field name>" ``` ### B) If the vault is locked: start the ephemeral web unlock helper From your workspace: ```bash TTL_SECONDS=600 SYNC_AFTER_UNLOCK=1 \ skills/headless-bitwarden/scripts/rbw-remote-unlock/start.sh ``` You will see: - `Local URL: http://127.0.0.1:<port>/<token>/` - If `cloudflared` exists: a `Public URL: https://<random>.../<token>/` Open the **Public URL** on your phone/laptop, enter the master password, and press **Unlock**. The helper will: - run `rbw unlock` - respond to the browser as soon as `rbw unlock` finishes - optionally run `rbw sync` **after** the browser response (so the page shouldn’t spin) - **exit immediately on success** (or auto-exit on TTL) ## Security notes (residual risk, be explicit) Even with HTTPS tunnel and no logs, this is not “zero risk”. Remaining risks include: - password exists briefly in **process memory** - password is passed briefly to a child process via **env** (in same-user scope) - token URL leakage during TTL would allow access to the form - tunnel provider is within the trust boundary (even though traffic is HTTPS) Mitigations implemented: - localhost bind only (`127.0.0.1`) - high-entropy path token - request body size limit - no request-body logging - TTL auto-exit + exit-on-success - pinentry override always restored ### Treat the Public URL as sensitive The **Public URL includes the one-time token**. Anyone who obtains it during the TTL window can access the unlock form. - Do **not** paste the Public URL into GitHub issues, logs, screenshots, or shared channels. - Share it only to the person who is unlocking, and only for that one session. ### Autofill note The password input is configured to discourage browser/password-manager autofill (best-effort), but **some managers may still try to fill**. If you want to avoid accidental autofill, use a private/incognito window or temporarily disable the password manager for that page. ### Retry / “unlock in progress” note An unlock attempt can take a bit of time. If you submit twice quickly, you may see an “unlock attempt already in progress” message. Wait for the attempt to finish (default timeout is ~30s) before retrying. ## Files Implementation lives in: - `skills/headless-bitwarden/scripts/rbw-remote-unlock/{start.sh,server.mjs,pinentry.sh}` ## Troubleshooting / operational notes ### pinentry restore reliability The helper **does not call** `rbw config set/unset` (which can hang in non-interactive environments). Instead, it temporarily edits: - `~/.config/rbw/config.json` → `pinentry: <path-to-pinentry.sh>` and then restores it back. If something crashes mid-flight, the quickest manual recovery is: ```bash rbw config set pinentry pinentry ``` ### Agent state If `rbw unlocked` says `agent not running`, restart/refresh the agent by running: ```bash rbw stop-agent || true rbw unlocked ```

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 headless-bitwarden-1776006301 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 headless-bitwarden-1776006301 技能

通过命令行安装

skillhub install headless-bitwarden-1776006301

下载 Zip 包

⬇ 下载 headless-bitwarden v1.0.2

文件大小: 11.06 KB | 发布时间: 2026-4-13 10:32

v1.0.2 最新 2026-4-13 10:32
- Improved and refactored the unlock helper scripts for readability and maintainability.
- Minor code updates in pinentry.sh and server.mjs—no behavior or workflow changes.
- Documentation unchanged; security practices and workflow are as before.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部