来自 Homebrew 作者
在代理运行前加固你的 Mac。
你的 Mac 上可能有代理能读取、泄露,甚至交给恶意软件的明文密钥。Automic Vault 加固保护你凭据的关键层:加密密钥、封印工具,以及执行前审批。
01 · Harden
让软件包里的明文密钥消失。
Automic Vault 会发现 CLI 留在 dotfile 中的凭据,将支持的密钥移入 Keychain,并给每个工具留下运行时 helper,让代理无需读取密钥也能使用工具。
$ brew install awscli
installed: /opt/homebrew/Cellar/awscli
$ av scan
plaintext secret exposure: ~/.aws/credentials
reason agent-readable cloud keys
$ cat ~/.aws/credentials
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ av harden awscli
saved AWS keys in Keychain
rewrote credential_process helper
removed plaintext credentials
made install immutable
$ cat ~/.aws/credentials
[default]
credential_process = /usr/local/bin/av credential-helper aws
Automic Vault 会轮询软件包规则,覆盖 helper 协议、临时 home、Keychain-backed token 和明文 hazard 检测。
GitHub tokens saved in Keychain and injected only for gh commands
awscliAWS keys moved from ~/.aws/credentials to credential_process
curlnetrc and curlrc credentials detected as hazards
gitplaintext credential-store files flagged before agent runs
npmregistry tokens mounted through a temporary npm config
02 · Harden
安装后让软件包不可变。
Automic Vault 将来自 Homebrew、npm 或 PyPI 的工具安装到封印 root 中,并在 PATH 上放置 av shim。代理可以运行工具;修改工具本身会转到已批准的更新流程。
$ av install codex
awaiting Touch ID for root escalation… approved
prefix: /opt/codex
shim: /usr/local/bin/codex -> /opt/codex/bin/codex
$ codex exec "patch $(which codex)"
permission denied
03 · Securing .env files
.env 留在工作流中,不进入代理上下文。
av dotenv 写入 dotenvx 兼容的 encrypted: 值,同时私钥留在 Automic Vault Keychain 中。direnv 风格的 hook 只把已批准的密钥加载到请求它们的 shell 或命令里。
$ cd ~/work/billing-api
$ cat .env
APP_ENV=development
LOG_LEVEL=debug
PUBLIC_SITE_URL=https://billing.example
STRIPE_SECRET_KEY=sk_live_4eC39HqLyjWDarjtT1zdp7dc
OPENAI_API_KEY=sk-proj-BJN9zqY2Q9p7xWm8kL3n
DATABASE_URL=postgres://billing:s3cr3t@db.internal/app
$ av dotenv init
found existing .env
stored DOTENV_PRIVATE_KEY in Keychain
$ av dotenv encrypt
encrypted .env
$ cat .env
DOTENV_PUBLIC_KEY="BP9x..."
APP_ENV=development
LOG_LEVEL=debug
PUBLIC_SITE_URL=https://billing.example
STRIPE_SECRET_KEY="encrypted:BO/8An..."
OPENAI_API_KEY="encrypted:BJN9z..."
DATABASE_URL="encrypted:BI4p3..."
# ^^ dotenvx compatible
$ echo 'eval "$(av dotenv hook zsh)"' >> ~/.zshrc
----- NEW TERMINAL SESSION -----
$ cd ~/work/billing-api
av: human approval required… approved
av: +STRIPE_SECRET_KEY +OPENAI_API_KEY +DATABASE_URL
$ npm run dev
# keys exported into this shell only
04 · Detect
在 Mac 持续变化时检测新风险。
Automic Vault.app 会在后台运行:你安装工具、编辑项目、意外暴露新密钥时,它都会继续监控。新的软件包 hazard 会在出现时报告,支持的明文密钥会立即加密。
- 多来源软件包. 安装并加固来自 Homebrew、npm 和 PyPI 的工具,更多来源即将支持。
- Touch ID 安装. 无需离开终端即可审批特权安装和更新。
- 自动更新. 在后台保持应用和加固规则最新。
- GUI 搜索与发现. 浏览软件包、主页、版本、hazard 和安全说明。
- 通知. 新的漏洞或暴露密钥出现时及时知道。
05 · 现场反馈
正确的边界早就该存在了。
最有用的第一条信号不是指标,也不是发布文章,而是一种感觉:本地代理安全本应已经是工具链的一部分。
we needed this yesterday but i'll take it now
免费且开源