概述
Secure Environment Variables 即 wrsmith108/varlock-claude-skill,一个 MIT 许可的 Claude Code Skill,底层使用 DMNO 开源的环境变量工具 Varlock。它要解决的问题是:Agent 在终端里工作时,密钥可能泄露到命令输出、模型的输入输出上下文、日志或 git diff 中。Skill 的核心原则是密钥值绝不能出现在 Claude 的上下文里,并为常见的「泄密命令」提供安全替代。
工作方式
| 不要这样做 | 安全替代 |
|---|---|
cat .env | cat .env.schema |
echo $SECRET | varlock load |
printenv | grep API | varlock load | grep API |
你在 .env.schema 中用注解描述变量:@sensitive 让值在所有输出中被掩码,@sensitive=false 允许显示(如公开 key),@required 表示必填,@type= 增加校验,例如 string(startsWith=sk_)、url 或 enum(...)。文件头写 # @defaultSensitive=true 可让所有变量默认敏感。
Skill 还规定了 Claude 对常见请求的处理:用 varlock load | grep API_KEY 检查 key 是否存在;用 varlock load 排查认证问题;需要看配置时展示 schema 而非 .env;并且拒绝代为修改密钥,请你手动更新。
快速上手
# 安装 Varlock CLI
curl -sSfL https://varlock.dev/install.sh | sh -s -- --force-no-brew
export PATH="$HOME/.varlock/bin:$PATH"
# 安装 Skill
mkdir -p ~/.claude/skills/varlock && curl -sSL \
https://raw.githubusercontent.com/wrsmith108/varlock-claude-skill/main/skills/varlock/SKILL.md \
-o ~/.claude/skills/varlock/SKILL.md
varlock load # 校验,值被掩码
varlock run -- npm start # 注入密钥后运行
适用场景
- 让 Agent 排查 API 集成故障,同时从不打印 key。
- 服务启动前强制校验必填且类型正确的配置。
- 需要共享屏幕或录制 Agent 会话的团队。
局限
- 它是给 Agent 的规范加上 Varlock CLI,并非沙箱,技术上并不能阻止命令读取
.env。 - 需要编写并维护
.env.schema。
常见问题
它会加密我的密钥吗?
Skill 本身不提供加密,而是借助 Varlock 的 schema 和 load/run 命令,让值在输出中被掩码、不进入对话。
Claude 能帮我修改密钥吗?
按设计会拒绝,并请你手动修改。
替代方案
- CC Safety Net:PreToolUse hook,在执行前拦截破坏性命令和密钥访问。
- Claude Code Hooks:用确定性的 hook 执行你自己的规则。
- mise:从
mise.toml加载项目环境变量,但不侧重掩码。
评论
还没有评论。成为第一个评论的人!
相关工具
相关洞察

Anthropic Subagent:多智能体时代的架构革命
深入解析 Anthropic 的多智能体架构设计。了解如何通过 Subagent 突破上下文窗口限制,实现性能提升 90%,以及多智能体系统在 Claude Code 中的实际应用。

Claude Code 使用秘籍:别急着充 200 美元,先走完这套流程
Gmail 配 Apple 隐私登录,Clash Verge 接 Cliproxy 家宽,模拟器也查 IP 和 DNS。订阅每档隔半个月以上,账号出问题先保住 CC 记录。附配置和脚本。
按仓库任务选 AI 编程 CLI
按你真正要跑的工作,在 Claude Code、Codex CLI、OpenCode、Pi、omp、DeepSeek Harness 与 Grok Build 之间选择。2026-10-06 对照官方文档复核。