cloak-env-protection

by danieltamas

Protect .env secrets from AI agents. Real credentials encrypted in a vault — agents see structurally valid sandbox values on disk.

3.7kDevOps未扫描2026年3月23日

安装

claude skill add --url github.com/openclaw/skills/tree/main/skills/danieltamas/cloak-env-protection

文档

Cloak — Agent Security Skill

This file instructs AI coding agents to protect .env secrets using Cloak. Add it to your project root or append its contents to your CLAUDE.md / .cursorrules / .windsurfrules.

What is Cloak

Cloak encrypts real .env values into a vault and replaces them on disk with structurally valid sandbox values. The developer sees real values in their editor (the extension decrypts them). You (the agent) see sandbox values — that is by design.

Detection

On first interaction with a project, check for a .cloak file in the project root.

  • .cloak exists → Cloak is active. Follow the rules below.
  • .cloak does NOT exist but .env exists → suggest cloak init (always ask first, never run without consent).
  • Neither exists → no action needed.

Rules

Reading .env files

You CAN read .env files. The values on disk are sandbox values (fakes) — they are safe to read, display, and use in code examples. They are structurally valid (e.g. sk_test_cloak_sandbox_000 for Stripe, postgres://dev:dev@localhost:5432/devdb for databases).

Do NOT attempt to access real secret values. Do NOT read vault files, recovery files, or any file under the cloak config directory (~/.config/cloak/, ~/Library/Application Support/cloak/, or %APPDATA%\cloak\).

Running commands that need real env vars

Use cloak run to inject real environment variables into any process:

bash
cloak run npm start
cloak run python app.py
cloak run go run main.go
cloak run docker compose up

Do NOT try to read secrets from the vault and inject them manually. cloak run handles authentication (Touch ID on macOS, password on other platforms) — the developer will be prompted, and that is expected.

Adding or updating secrets

Use cloak set with the key and value as separate arguments:

bash
cloak set STRIPE_KEY sk_test_EXAMPLE000000000000000000
cloak set DATABASE_URL "postgres://admin:s3cret@db.example.com:5432/myapp"

Do NOT write secrets directly to .env files. The .env file on disk is managed by Cloak — direct edits will be overwritten.

Modifying .env structure

To add/remove keys, change comments, or restructure the file, use:

bash
cloak edit          # opens real values in $EDITOR, re-encrypts on save
cloak set KEY VALUE # add or update a single key

Do NOT directly edit .env when .cloak is present.

Checking status

bash
cloak status    # shows protection state — no auth required

Error recovery

If you see a keychain or decryption error, suggest:

bash
cloak recover
# The developer will need the recovery key shown during `cloak init`

If Cloak is not installed

If the developer wants to use Cloak but it's not installed:

bash
# macOS / Linux
curl -fsSL https://getcloak.dev/install.sh | sh

# Windows (PowerShell)
irm https://getcloak.dev/install.ps1 | iex

The VS Code / Cursor extension is available as "Cloak" in the marketplace.

Command Reference

TaskCommandAuth required
Protect a projectcloak initNo
Run with real env varscloak run <command>Yes
Add/update a secretcloak set KEY VALUEYes
Edit secrets in $EDITORcloak editYes
View sandbox vs real diffcloak peekYes
Temporarily reveal a keycloak reveal KEY --duration 30Yes
Check protection statuscloak statusNo
Restore lost keychaincloak recoverNo
Remove protectioncloak unprotectYes

"Auth required" means the developer will be prompted for Touch ID (macOS) or their CLI password. This is expected — it prevents agents from accessing secrets programmatically.

For CLAUDE.md

markdown
## Secrets

This project uses Cloak to protect .env secrets.
- The .env file on disk contains sandbox values (safe to read).
- Use `cloak run <command>` to run processes that need real env vars.
- Use `cloak set KEY VALUE` to add or update secrets.
- Do not write to .env directly — use `cloak set` or `cloak edit`.
- If .cloak marker is missing and .env exists, ask before running `cloak init`.

For .cursorrules / .windsurfrules

code
This project uses Cloak for .env secret protection. The .env on disk has sandbox values (safe to read).
Use `cloak run <command>` for real env vars. Use `cloak set KEY VALUE` to add secrets.
Do not modify .env directly. If .cloak is missing and .env exists, suggest `cloak init` (ask first).

相关 Skills

可观测性设计

by alirezarezvani

Universal
热门

面向生产系统规划可落地的可观测性体系,串起指标、日志、链路追踪与 SLI/SLO、错误预算、告警和仪表盘设计,适合搭建监控平台与优化故障响应。

把监控、日志、链路追踪串起来,帮助团队从设计阶段构建可观测性,排障更快、系统演进更稳。

DevOps
未扫描9.0k

资深开发运维

by alirezarezvani

Universal
热门

覆盖 CI/CD 流水线生成、Terraform 基建脚手架和自动化部署,适合在 AWS、GCP、Azure 上搭建云原生发布流程,管理 Docker/Kubernetes 基础设施并持续优化交付。

把CI/CD、基础设施即代码、容器与监控串成一条交付链,尤其适合AWS/GCP/Azure多云团队高效落地。

DevOps
未扫描9.0k

环境密钥管理

by alirezarezvani

Universal
热门

统一梳理dev/staging/prod的.env和密钥流程,自动生成.env.example、校验必填变量、扫描Git历史泄漏,并联动Vault、AWS SSM、1Password、Doppler完成轮换。

统一管理环境变量、密钥与配置,减少泄露和部署混乱,安全治理与团队协作一起做好,DevOps 场景很省心。

DevOps
未扫描9.0k

相关 MCP 服务

kubefwd

编辑精选

by txn2

热门

kubefwd 是让 AI 帮你批量转发 Kubernetes 服务到本地的开发神器。

微服务开发者最头疼的本地调试问题,它一键搞定——自动分配 IP 避免端口冲突,还能用自然语言查询状态。但依赖 AI 工作流,纯命令行爱好者可能觉得不够直接。

DevOps
4.1k

Cloudflare

编辑精选

by Cloudflare

热门

Cloudflare MCP Server 是让你用自然语言管理 Workers、KV 和 R2 等云资源的工具。

这个工具解决了开发者频繁切换控制台和文档的痛点,特别适合那些在 Cloudflare 上部署无服务器应用、需要快速调试或管理配置的团队。不过,由于它依赖多个子服务器,初次设置可能有点繁琐,建议先从 Workers Bindings 这类核心功能入手。

DevOps
3.6k

Terraform

编辑精选

by hashicorp

Terraform MCP Server 是让 AI 助手直接操作 Terraform Registry 和 HCP Terraform 的桥梁。

如果你经常在 Terraform 里翻文档找模块配置,这个服务器能省不少时间——直接问 Claude 就能生成准确的代码片段。最适合管理多云基础设施的团队,但注意它目前只适合本地使用,别在生产环境里暴露 HTTP 端点。

DevOps
1.3k

评论