PassBox
Zero-knowledge secrets management for developers and AI agents
Dashboard · API · npm · Contributing
______________________________________________________________________
PassBox是一个开源的端到端加密密钥管理器,专为开发人员、CI/CD管道和AI代理构建。你的秘密在离开你的机器(服务器)之前,会在客户端进行加密 从不 看到明文数据。
为什么选择PassBox?
- 零知识加密 --Argon2d+AES-256-GCM+X25519。服务器无法解密您的机密。
- CLI优先 --从终端管理秘密。注入任何流程
passbox run. - AI代理原生 --内置MCP服务器,具有凭证代理功能。AI代理在不查看机密的情况下使用机密。
- Web仪表板 --用于管理保管库和机密的全功能web UI。
- 开发人员SDK --用于编程访问的TypeScript SDK。
npm install @pabox/sdk. - 自助式 --使用Docker运行自己的实例,或使用托管云。
- 团队共享 --通过X25519密钥交换使用基于角色的访问共享保管库。
- 版本历史 --每一个秘密的变化都会被追踪。随时回滚。
- 审计日志 --对谁访问了什么以及何时访问的完整审计跟踪。
快速开始
安装CLI
npm install -g pabox基本用法
# Login (creates account on first use)
passbox login
# Create a vault
passbox vault create my-app
# Store secrets
passbox set DATABASE_URL "postgres://user:pass@host/db"
passbox set API_KEY "sk-live-xxxxx"
passbox set JWT_SECRET "super-secret-key"
# Retrieve a secret
passbox get DATABASE_URL
# List all secrets
passbox list
# Inject secrets into a process
passbox run -- node server.js
# All vault secrets are now available as environment variables
# Import from .env file
passbox env push .env
# Export to .env file
passbox env pullWeb仪表板
网络仪表板已上线 passbox.dev.
特征:
- 创建和管理保管库
- 添加、编辑、显示、复制和删除机密
- 搜索和过滤机密
- 账户设置
- 响应式设计(适用于移动设备)
软件开发工具包
npm install @pabox/sdkimport { PassBox } from '@pabox/sdk';
// Authenticate with service token (for servers/CI)
const pb = new PassBox({
serverUrl: 'https://api-production-db62.up.railway.app',
token: 'pb_live_xxxxxxxxxxxx',
});
// Or register a new account (with full E2E crypto)
const { passbox, recoveryKey } = await PassBox.register({
email: 'user@example.com',
password: 'master-password',
});
// Save recoveryKey — it's shown only once!
// Or login with existing account
const pb2 = await PassBox.login({
email: 'user@example.com',
password: 'master-password',
});
// Secret operations
await pb.secrets.set('DATABASE_URL', 'postgres://...');
const value = await pb.secrets.get('DATABASE_URL');
const all = await pb.secrets.list();
// Bulk .env operations
await pb.env.import('.env', { vault: 'my-app' });
const envString = await pb.env.export({ vault: 'my-app' });
// Inject into process.env
await pb.env.inject({ vault: 'my-app' });
console.log(process.env.DATABASE_URL); // available nowMCP服务器(AI代理)
PassBox包含一个MCP服务器,允许AI代理(Claude、GPT等)安全地访问机密,而不会暴露原始值。
npm install -g @pabox/mcp-serverClaude桌面配置
{
"mcpServers": {
"passbox": {
"command": "npx",
"args": ["@pabox/mcp-server"],
"env": {
"PASSBOX_TOKEN": "pb_live_xxxxxxxxxxxx",
"PASSBOX_SERVER": "https://api-production-db62.up.railway.app"
}
}
}
}可用的MCP工具
| 工具 | 说明 |
|---|---|
passbox_get_secret | 获取秘密值 |
passbox_set_secret | 创建或更新机密 |
passbox_list_secrets | 在保险库中列出秘密 |
passbox_delete_secret | 删除机密 |
passbox_list_vaults | 列出可用保管库 |
passbox_proxy_request | 使用注入的机密进行HTTP请求(凭证代理) |
凭证经纪
这 passbox_proxy_request 该工具允许人工智能代理使用您的秘密进行API调用 从未见过原始凭证:
Agent: "Call the Stripe API to list customers"
→ PassBox replaces {{STRIPE_KEY}} with the actual key
→ Makes the HTTP request server-side
→ Returns the response to the agent
→ Agent never sees the API key建筑
加密
Master Password
│
▼ Argon2id (3 iterations, 64MB memory, 4 parallelism)
│
Master Key (256-bit)
│
├──► Encrypts vault keys (AES-256-GCM)
│
└──► X25519 key pair
├── Public key → stored on server (for sharing)
└── Private key → encrypted, stored on server每个秘密都使用每个保险库密钥用AES-256-GCM加密。保险库密钥使用主密钥加密。服务器只存储密文——解密完全在客户端进行。
Monorepo结构
passbox/
├── apps/
│ ├── server/ # Hono API server (Railway)
│ ├── cli/ # CLI tool (passbox command)
│ └── web/ # Next.js web dashboard (Vercel)
├── packages/
│ ├── types/ # Shared TypeScript types
│ ├── crypto/ # E2E encryption library
│ ├── sdk/ # TypeScript SDK
│ ├── mcp-server/ # MCP server for AI agents
│ └── config/ # Shared configs
├── supabase/ # Database migrations
└── docker/ # Docker setup自我寄宿
Docker Compose
git clone https://github.com/Paparusi/passbox.git
cd passbox/docker
# Configure environment
cp .env.example .env
# Edit .env with your Supabase credentials
# Start services
docker compose up -dDocker(仅限服务器)
docker build -f docker/Dockerfile.server -t passbox-server .
docker run -p 3000:3000 --env-file .env passbox-server手册
git clone https://github.com/Paparusi/passbox.git
cd passbox
pnpm install
pnpm build
# Start server
node --env-file=.env apps/server/dist/index.js数据库设置
PassBox使用 Supabase (PostgreSQL+身份验证+行级安全)。
- 在以下位置创建Supabase项目 网站 supabase.com
- 运行迁移:
supabase link --project-ref YOUR_PROJECT_REF
supabase db push- 将项目URL、匿名密钥和服务角色密钥复制到
.env
CLI命令
| 命令 | 描述 |
|---|---|
passbox login | 登录或创建帐户 |
passbox logout | 清除本地会话 |
passbox vault create | 创建新vault |
passbox vault list | 列出您的保险库 |
passbox vault delete | 删除vault |
passbox get | 获取秘密值 |
passbox set | 设定秘密 |
passbox delete | 删除机密 |
passbox list | 列出当前保管库中的所有机密 |
passbox env push | 将.env文件导入到vault |
passbox env pull | 将vault导出到.env文件 |
passbox run -- | 将secrets作为env变量运行命令 |
passbox serve | 启动MCP服务器 |
passbox whoami | 显示当前用户 |
API
基本URL: https://api-production-db62.up.railway.app/api/v1
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 健康检查 |
/auth/register | POST | 注册+生成密钥 |
/auth/login | POST | 登录+接收JWT |
/auth/refresh | POST | 刷新访问令牌 |
/auth/service-token | POST/DELETE | 服务令牌管理 |
/keys/me | GET/PUT | 用户加密密钥 |
/vaults | GET/POST | 列出/创建保管库 |
/vaults/:id | GET/PUT/DELETE | Vault CRUD |
/vaults/:id/members | GET/POST | 保险库共享 |
/vaults/:id/members/:uid | PUT/DELETE | 成员角色管理 |
/vaults/:vid/secrets | GET/POST | 列出/创建机密 |
/vaults/:vid/secrets/bulk | POST | 批量创建/更新 |
/vaults/:vid/secrets/export | GET | 导出为.env |
/vaults/:vid/secrets/:name | GET/PUT/DELETE | 机密CRUD |
/vaults/:vid/secrets/:name/versions | GET | 版本历史记录 |
/audit | GET | 审核日志(管理员+) |
npm包
| 软件包 | 说明 | 安装 |
|---|---|---|
pabox | CLI工具 | npm i -g pabox |
@pabox/sdk | TypeScript SDK | npm i @pabox/sdk |
@pabox/mcp-server | MCP服务器 | npx @pabox/mcp-server |
@pabox/crypto | 加密库 | npm i @pabox/crypto |
@pabox/types | TypeScript类型 | npm i @pabox/types |
贡献
我们欢迎捐款!看 贡献.md 有关设置说明。
git clone https://github.com/Paparusi/passbox.git
cd passbox
pnpm install
pnpm build
pnpm test安全
PassBox采用零知识架构设计。如果您发现安全漏洞,请参阅 安全.md 我们的披露政策。
许可证
麻省理工学院 --免费使用、修改和分发。
