phoodul/secretbank

GitHub: phoodul/secretbank

一款基于依赖图的密钥管理工具,通过可视化凭据与项目、部署之间的关系链,帮助团队在轮换或撤销密钥时准确评估影响范围,并内置供应链风险检测能力。

Stars: 0 | Forks: 0

# Secretbank 了解你的依赖图的密钥管理器。 ![许可证](https://img.shields.io/badge/license-AGPL--3.0-blue.svg) ![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/86543411a2193006.svg) ## 关于 Secretbank 是一个开放核心的桌面和移动应用程序,超越了简单的密钥存储。 它描绘了 API 密钥如何与你的项目、部署和 URL 相关联——这样你在轮换或撤销密钥之前,总能了解其 影响范围。当提供商报告数据泄露时,Secretbank 会自动将其与你的密码库匹配,并准确显示哪些服务面临风险。 ## 功能 ### 现已提供 - **零知识密码库** — 密钥在设备上加密;中继服务器绝不会看到明文 - **密码库章程恢复** — Diceware 6 词 + 4 位数字验证器,支持可选的 Shamir 2-of-3 拆分。丢失你的密码,而不是你的密码库。 - **依赖图** — 可视化映射:颁发者 → 凭据 → 用途 → 项目 → 部署 → URL - **影响范围预览** — 在撤销密钥之前模拟哪些会中断 - **供应链风险图** — 将 `package.json` / `Cargo.toml` 依赖项与 OSV.dev 咨询源进行匹配 - **事件源** — 自动将 NVD / GitHub Advisory 警报与密码库中的凭据匹配 - **紧急开关** — 带有两步确认的一键撤销 - **RAILGUARD** — 为 AI 编辑器自动生成 `.cursorrules` / `CLAUDE.md` / Copilot 指令 - **CLI + MCP** — `Secretbank run -- cmd`(Doppler 风格的依赖图环境变量注入)以及用于 Claude / Cursor / Copilot 的 stdio MCP server - **VS Code + JetBrains 插件** — 包悬停提示、供应链诊断、影响范围图 - **多设备 E2EE 同步** — Yjs CRDT + XChaCha20-Poly1305,通过 Cloudflare Workers 中继 - **开放核心** — 本地密码库和图引擎为 AGPL-3.0;中继服务和高级连接器为企业版 (EE) ### 路线图(无确定的日期) - **通用密码库**(1Password 风格的 URL/用户名/密码)— M24,正在积极设计中 - 针对 Stripe / GitHub / AWS 密钥的**自动撤销** - 结合提供商钩子的**自动轮换** - **浏览器扩展** (Chrome / Firefox / Safari) - **团队/组织/共享密码库** (RBAC + SSO) - **移动应用** (iOS / Android,通过 Tauri Mobile) ## 技术栈 | 层级 | 技术 | | :------------------- | :-------------------------------------------- | | 桌面/移动端外壳 | Tauri v2 (Rust 后端 + Web 前端) | | 后端 | Rust (tokio, sqlx, age, reqwest) | | 前端 | React 19 + TypeScript | | 样式 | Tailwind CSS v4 + shadcn/ui + Radix UI | | 数据库 | SQLite (本地,通过 tauri-plugin-sql) | | 加密 | age crate (X25519 + ChaCha20-Poly1305) | | 同步 | Yjs / SecSync CRDT + Cloudflare Workers 中继 | ## 平台 | 平台 | 状态 | | :---------------------- | :---------- | | Windows / macOS / Linux | MVP (M0–M8) | | iOS / Android | MVP (M11) | | 只读 Web 查看器 | MVP (M12) | ## 入门指南 ### 前置条件 - [Node.js 20+](https://nodejs.org/) - [Rust stable](https://rustup.rs/) — `rustup install stable` - [pnpm](https://pnpm.io/) — `npm install -g pnpm` - [Tauri v2 系统依赖](https://v2.tauri.app/start/prerequisites/) ### 开发 ``` pnpm install pnpm tauri dev # desktop (hot reload) ``` 移动端(从 M11 开始提供): ``` pnpm tauri android dev pnpm tauri ios dev ``` ### 生产构建 ``` pnpm tauri build ``` ## 开发命令 | 命令 | 描述 | | :----------------------------------------------------------------------------- | :-------------------- | | `cargo test --workspace --manifest-path src-tauri/Cargo.toml` | Rust 单元测试 | | `cargo clippy --workspace --manifest-path src-tauri/Cargo.toml -- -D warnings` | Rust lint | | `pnpm typecheck` | TypeScript 类型检查 | | `pnpm lint` | ESLint | | `pnpm format` | Prettier 格式化 | 架构和任务详情:[`docs/architecture.md`](./docs/architecture.md) · [`docs/task.md`](./docs/task.md) 用户指南:**[secretbank.app/guide.html](https://secretbank.app/guide.html)** (English / 한국어 / 简体中文 — 在浏览器中打印为 PDF) · 原始 Markdown:[`USER_GUIDE.en.md`](./docs/USER_GUIDE.en.md) · [`USER_GUIDE.ko.md`](./docs/USER_GUIDE.ko.md) · [`USER_GUIDE.zh.md`](./docs/USER_GUIDE.zh.md) 发布 / 政策:[`docs/RELEASE_GUIDE.md`](./docs/RELEASE_GUIDE.md) · [`docs/PRIVACY.md`](./docs/PRIVACY.md) · [`docs/TERMS.md`](./docs/TERMS.md) · [`SECURITY.md`](./SECURITY.md) 登录页源码:[`site/`](./site/) ## 许可证 本仓库遵循按目录区分双许可证的**开放核心**模式: | 路径 | 许可证 | 范围 | | :--------- | :------------------------------------------------------------------ | :------------------------------------------------------------------------------- | | `/` (根目录) | **AGPL-3.0-or-later** ([LICENSE](./LICENSE)) | OSS 核心:桌面应用、本地密码库、依赖图、审计日志、RAILGUARD 等。 | | `/ee/` | **Secretbank 企业许可证 v1.0** ([ee/LICENSE](./ee/LICENSE)) | Cloudflare Workers 中继、高级连接器、自动轮换、同步后端。 | 有关开源核心和企业版之间的边界,请参阅 [LICENSE_FAQ.md](./LICENSE_FAQ.md) 和 [`ee/README.md`](./ee/README.md)。 在生产环境中使用 `/ee/` 代码需要订阅官方的 Secretbank 托管服务或签订书面企业许可协议。 ## 韩语摘要 Secretbank는 API 키를 단순 보관하는 것을 넘어 **의존성 그래프**를 통해 "어떤 키가 어느 프로젝트·배포 환경에 쓰이고, 폐기 시 무엇이 깨지는지"를 추적합니다. 로컬 볼트는 `age` 암호화로 보호되며, 서버는 암호문만 릴레이하는 **Zero-Knowledge 아키텍처**를 사용합니다. 데스크톱(Windows/macOS/Linux)을 우선 지원하고, 모바일(iOS/Android)은 Tauri Mobile 로드맵으로 진행 예정. **현재 v0.1.0-pre8 무료 베타** — 멀티 디바이스 E2EE 동기화 / auto-revoke / 자동 rotation 까지 모든 기능이 무료입니다. 유료 Pro 도입은 (1) 직접 dogfooding 1주 이상, (2) 약관/개인정보/결제 법적 자문, (3) **일반 비밀번호 vault 기능 추가 (M24)**, (4) 첫 100~500 사용자 피드백 수집 후 결정합니다. 핵심 데스크톱 앱과 그래프 엔진은 영구 **AGPL-3.0 오픈소스**이며, 릴레이 서버 등 일부는 EE 라이선스로 별도 제공됩니다 (Open Core). 자세한 결정 근거: [docs/project-decisions.md](./docs/project-decisions.md) (2026-05-03 항목).
标签:AI辅助编程, API密钥管理, Cargo安全, CRDT, DevSecOps, JetBrains插件, MCP服务器, npm安全, OSV.dev, Rust, StruQ, VSCode插件, XChaCha20-Poly1305, 上游代理, 依赖关系图, 分布式同步, 包管理器安全, 可视化界面, 安全助手, 安全合规, 密钥轮换, 开源, 数据加密, 桌面应用, 爆炸半径分析, 环境变量注入, 离线可用, 移动应用, 程序员工具, 端到端加密, 端点检测与响应, 网络代理, 网络流量审计, 脱壳工具, 自动化攻击, 跨平台同步, 身份与访问管理, 零知识证明