使用说明
克劳德秘密
用于Claude Code和MCP客户端的安全秘密管理插件。使AI助手能够通过用户批准、自动编辑和从命令输出中捕获秘密来安全地处理凭据。
特性
- 秘密注射 -使用
{{SECRET_NAME}}用于注入机密的命令中的占位符 - 基于会话的权限 -用户批准每个会话的秘密访问,并基于时间到期
- 输出纠正 -从输出中自动编辑已知的秘密和常见模式
- 秘密抓捕 -从命令输出中提取秘密(例如AWS会话令牌)并存储以备将来使用
- LLM友好元数据 -描述有助于未来的LLM发现和使用正确的秘密
- MacOS菜单栏应用程序 -用于秘密请求的本地通知和对话框
- 加密保险库 -使用Fernet加密存储的秘密
安装
单线安装(推荐)
curl -sSL https://raw.githubusercontent.com/henghonglee/claude-secrets/main/install.sh | bash
这会自动:
- 通过pipx安装软件包
- 创建加密保管库
- 安装Claude Code插件
- 启动菜单栏应用程序
- 登录时启用自动启动
手动安装
pipx install git+https://github.com/henghonglee/claude-secrets.git
ccs init
来源
git clone https://github.com/henghonglee/claude-secrets.git
cd claude-secrets
pip install -e .
ccs init
快速开始
# Initialize vault + start menubar + enable auto-start on login
ccs init
# Add a secret with description (helps LLMs understand what it's for)
ccs add AWS_ACCESS_KEY
# Check status
ccs status
这 init 命令自动执行:
- 创建加密保管库
- 安装Claude Code插件(通过市场)
- 启动菜单栏应用程序
- 启用登录时自动启动(macOS)
仅安装插件(如果已安装claude secrets)
claude plugin marketplace add henghonglee/claude-secrets
claude plugin install claude-secrets@henghonglee-claude-secrets
Claude代码命令
当作为插件安装时:
| 命令 | 描述 |
|---|---|
/claude-secrets:list |
列出所有可用的秘密 |
/claude-secrets:add [NAME] |
添加新密码 |
/claude-secrets:run <command> |
运行带有秘密注入的命令 |
MCP配置(非插件)
对于Claude Desktop或其他MCP客户端,请在配置中添加:
{
"mcpServers": {
"secrets": {
"command": "ccs",
"args": ["serve"]
}
}
}
MCP工具
run_command
执行带有秘密注入和输出编校的CLI命令。
{
"command": "aws s3 ls --profile {{AWS_PROFILE}}",
"timeout": 60,
"capture": [
{
"path": "$.Credentials.SecretAccessKey",
"name": "AWS_SESSION_SECRET",
"description": "Temporary AWS secret key from STS. Use with AWS_SESSION_KEY_ID and AWS_SESSION_TOKEN.",
"expires_at": "2024-01-24T12:00:00Z"
}
]
}
参数:
command-命令与{{SECRET_NAME}}占位符timeout-超时时间(秒)(默认值:60)capture-从JSON输出中提取秘密:path-JSONPath表达式(例如。,$.Credentials.SecretAccessKey)name-已捕获秘密的名称description-LLM友好描述expires_at-ISO 8601过期时间戳
redact_patterns-要编辑的其他正则表达式模式skip_builtin_patterns-跳过内置的编校模式
list_secrets
列出可用的秘密及其描述。
{
"tag": "aws"
}
退货:
{
"secrets": [
{
"name": "AWS_ACCESS_KEY",
"description": "AWS access key for production account",
"expires_at": null
}
]
}
request_secret
通过菜单栏应用程序请求用户添加缺少的秘密。
{
"name": "GITHUB_TOKEN",
"description": "Personal access token for GitHub API. Needs repo and workflow scopes."
}
菜单栏应用程序将显示一个本地macOS对话框,提示用户输入密码值。
get_permissions
获取机密的当前会话权限状态。
运作原理
- 客户端LLM调用
list_secrets发现可用的秘密 - LLM构造命令 和
{{SECRET_NAME}}占位符 - 用户批准 提示时进行秘密访问(缓存用于会话)
- 服务器注入机密 并执行命令
- 输出已编辑 回到LLM之前
- 捕获的秘密 与LLM提供的描述一起存储,以备将来使用
菜单栏应用程序(macOS)
菜单栏应用程序提供:
- 服务器状态指示器
- 带有过期时间的存储机密列表
- 用于秘密请求的本地对话框
- 机密被捕获或过期时的通知
从以下内容开始:
claude-secrets-menubar
安全模型
- 加密存储 -使用Fernet加密的保险库(AES-128-CBC)
- 权限提示 -用户必须批准每个秘密的使用
- 会话到期 -权限自动过期(默认值:1小时)
- 输出编辑 -从命令输出中自动删除机密
- 审核日志记录 -所有秘密访问记录到
~/.claude-secrets/audit.log
卸载
单行卸载
curl -sSL https://raw.githubusercontent.com/henghonglee/claude-secrets/main/uninstall.sh | bash
手动卸载
ccs uninstall # Stops menubar, removes plugin, keeps secrets
pipx uninstall claude-secrets
删除所有内容(包括机密)
ccs uninstall --delete-vault
pipx uninstall claude-secrets
默认情况下,您的机密将保留在 ~/.claude-secrets/ 因此,您可以稍后重新安装而不会丢失它们。
插件结构
claude-secrets/
├── .claude-plugin/
│ ├── plugin.json # Plugin manifest
│ └── marketplace.json # Marketplace manifest (for plugin distribution)
├── .mcp.json # MCP server configuration
├── skills/
│ └── secrets/
│ └── SKILL.md # Teaches Claude when/how to use secrets
├── commands/
│ ├── list.md # /claude-secrets:list command
│ ├── add.md # /claude-secrets:add command
│ └── run.md # /claude-secrets:run command
└── src/
└── claude_secrets/ # Python package
配置
配置存储在 ~/.claude-secrets/config.json:
{
"session_timeout": 3600
}
使用以下参数设置值:
ccs config set session_timeout 7200
发展
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=claude_secrets
# Test plugin locally
claude --plugin-dir ./
许可证
麻省理工学院
