hush

io.github.omarei-omoto由 GitHub 帳號 omarei-omoto 發布v0.13.2更新於 Oct 24, 2026

Team secrets your AI agent can use but never read: encrypted in the repo, value-blind tools.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓 AI 程式設計助理以「看不到值」的方式使用加密存放在儲存庫內的團隊密鑰,可用而不可讀。

可以做什麼
提供工具,讓助理使用儲存庫保險庫中的加密密鑰執行需要密鑰的指令與流程,而不暴露密鑰值。管理保險庫:初始化、把現有 .env 密鑰匯入為具名集合,並提交到儲存庫。管理團隊存取:新增或移除成員,移除時會重新加密保險庫並重新封裝所有值。執行程序時僅向該程序注入密鑰,不寫入磁碟或 shell。掃描助理設定檔與已儲存對話中的明文密鑰,並可將發現的密鑰移入保險庫。
適用情境
適合把 API 密鑰放在 .env 檔案的個人開發者或小團隊,希望程式設計助理能使用這些密鑰,而密鑰值不進入其上下文或對話紀錄。也適合希望把加密密鑰提交到 git、依人授權且無需帳號、伺服器或訂閱的情境。不適合需要動態憑證、租約、到期或不可竄改稽核日誌的情境。
執行需求
以本機程序在使用者桌面執行;Windows 支援處於測試階段。可從 npm 安裝(需 Node 22.6 或更新版本),或使用 macOS、Linux、Windows 的單一檔案二進位。無需帳號、伺服器或共用密碼,以 git 儲存庫作為後端。
安裝前請注意
早期 pre-1.0 軟體,僅一位作者,尚未經過外部安全審查。它處理 API 密鑰等機密:保險庫雖加密,但工具本身未經充分驗證,用於正式環境憑證需謹慎。移除團隊成員會重新加密並重新封裝所有值。README 要求將可讀取保險庫的漏洞私下回報,而非公開提出 issue。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 hush,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[hush]

Envelope-encrypted team secrets your AI agent can use but never read.

[CI] [npm] [node] [license] [runtime deps] [OpenSSF Best Practices]

You keep your API keys in a .env file. It is plaintext, every process you launch can read it, and the day you pointed an AI coding agent at the repo it went into the agent's context window — and from there, wherever transcripts go.

hush fixes that without a server, an account, or a shared password. Your secrets live encrypted inside the repo itself. hush npm run dev puts them in that one process and nowhere else. Your coding agent gets tools that can use a key but never read one. A teammate gets access with one command, and removing them re-encrypts everything. Zero dependencies; one npm install.

bash
hush init acme                  # a vault in .hush/vault.json — commit ithush add .env --as "Dev"        # your existing secrets, now encrypted, as a set called devhush npm run dev                # injected into the process, never onto diskhush team add sam hush_pk_1xM…  # commit; sam can decrypt. no invite email.hush team rm sam                # re-keys the vault, re-seals every value

[A .env file goes into a hush vault; what is committed is ciphertext; hush run gives the program the key and prints [redacted:FAL_KEY]]

[!IMPORTANT] Status: early. This works and is heavily tested, but it is pre-1.0, it has one author, and it has not had an external security review. The crypto is a standard construction (age's, rebuilt on node:crypto) rather than anything invented here, and there is a differential test suite against an independent reimplementation — but that is not the same as someone qualified having looked at it. docs/REVIEW-SCOPE.md is the brief for the review it needs.

Development happens on macOS; Linux is covered by CI. Windows is in beta: your key is kept with DPAPI, approvals are a native Windows dialog, hush run npm … works through npm.cmd, secret files get owner-only ACLs, and there is a PowerShell hook — a Windows CI job checks those paths, but it has not had much real use yet. Fingerprint approval (Windows Hello) is not there yet. Tell me what broke if you try it somewhere unusual.

Found a way to read a vault you should not? Please report it privately rather than opening an issue.

Install

One file, no Node needed — macOS, Linux (glibc and musl), and Windows (beta):

bash
curl -fsSL https://raw.githubusercontent.com/omarei-omoto/hush/main/scripts/install.sh | shbrew install omarei-omoto/tap/hush
powershell
irm https://raw.githubusercontent.com/omarei-omoto/hush/main/scripts/install.ps1 | iexscoop install https://github.com/omarei-omoto/hush/releases/latest/download/hush.json

The installer refuses a binary whose sha256 is not the one in the release's SHA256SUMS, checks its build-provenance attestation too when the GitHub CLI is signed in, and installs to ~/.local/bin without sudo. To check a download by hand: gh attestation verify hush-darwin-arm64 --repo omarei-omoto/hush.

Or from npm, with Node ≥ 22.6:

bash
npm install -g @omarei/hush

From a clone there is no build step — Node ≥ 22.18 runs the TypeScript directly (on 22.6–22.17, run npm run build first):

bash
git clone https://github.com/omarei-omoto/hush.gitcd hush && node src/cli.ts --help
Why the published package ships compiled output

Node will not strip TypeScript types for anything under node_modules, so an installed copy cannot run src/. The tarball ships JavaScript in dist/ (built by npm run build, run automatically by prepack). The hush command decides by where it lives, not by what exists: under node_modules it runs dist/; in a checkout (including one npm linked) it runs src/, so a stale build can never shadow your edits. Still zero runtime dependencies.

Quick start

bash
cd your-projecthush start

That is the whole thing. It looks for your keys, gets them in, asks whether an AI assistant will be near them, and offers to run your project. A few questions, nothing you have to know already. Run it again any time: it picks up whatever is left, and hush setup shows where you are.

Or let your coding agent set it up. Paste this into Claude Code, Codex or Cursor:

Set up hush in this project. Run hush setup --json and follow it: run each step's command as written, ask me in the chat for anything marked "choice", and for anything marked "person", run it and wait for me. Never open a .env file or ask me for a key in the chat.

Anything that needs you, such as a new key or deleting a .env, asks you on your own screen, not in the chat. More in Setting up.

Prefer to see every step yourself? The same thing, by hand:

bash
hush init                    # creates your key + a vault, safe to commithush add .env --as "Dev"     # what you already have, encrypted, as a set called devrm .env                      # you don't need it any moregit add .hush && git commit -m "encrypted secrets"

From now on, put hush in front of whatever you run:

bash
hush npm run dev             # anything after hush runs with the secrets injectedhush dev                     # or: find package.json and run its dev script

Secrets exist in that process's environment and nowhere else. Not on disk, not in your shell, not in your scrollback.

Then a quick checkup of what is already out there:

bash
hush scan --agents           # plaintext keys in your agents' config files; --fix moves them into hushhush scan --transcripts      # your keys in agents' saved conversations (read-only)

Agents on other machines (a server, a devcontainer) can use keys that stay on yours: hush on a tailnet.

Why this exists

.env files have quietly become the worst artifact in your repo. They are plaintext, they are readable by every process you launch, and they are now routinely slurped into an LLM's context — researchers caught a coding agent uploading whole repos with .env credentials verbatim and unredacted.

The existing tools each cover part of this:

What it gets rightWhat it costs you
SOPS / ageper-recipient crypto, real revocationno idea agents exist; YAML and key juggling
secretctlthe agent storyexplicitly single-user
dotenvx / nevr-envencrypted file in gitone key for the whole team, so no real revocation
1Password CLI + MCPreal vault, real hardware, real audit, agent accessan account and a subscription for everyone on the team
Doppler / Infisical + MCPproper secrets management, agent accessa server to run or seats to buy

hush is the local, free, no-account option, not a replacement for the last two. If your team already pays for 1Password or Doppler, their MCP servers do what hush does with better hardware and a real audit trail — use them. hush is for the solo developer and the small team who want age's security model and an agent that cannot read a value, with nothing to sign up for and nothing to deploy: the git repo is the backend.

Where the line is: the moment you need dynamic credentials, leasing, expiry, or an audit log someone else cannot edit, you have outgrown a file in git. hush will not get you there and does not pretend to. Full comparison in RESEARCH.md.

Documentation

Everything else is in the guide — on GitHub under docs/guide, or as a site at tryhush.dev.

Contributing

Very welcome, especially: running it somewhere I cannot (Linux, Windows, a YubiKey I do not own), finding a way to get a value out that should not come out, or telling me where it confused you.

Security problems do not go in issues. Open a private advisory instead.

License

MIT — see LICENSE.

來源:README.md,提交 47b1c22

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

6
  1. v0.13.2最新Oct 18, 2026
  2. v0.13.1Oct 14, 2026
  3. v0.12.0Oct 5, 2026
  4. v0.11.1Oct 4, 2026
  5. v0.10.0Oct 1, 2026
  6. v0.9.0Sep 30, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分