boardx / boardx/boardx-dev-template
开源前必须闭环:确认 devapp 生产 MinIO 口令不是 boardx123(F01 密钥审计遗留)
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
拆自 p29/F01(#698,开源就绪)。gitleaks 全历史审计的命中3:`packages/storage/src/index.ts:33` 的 `secretAccessKey: env.S3_SECRET_KEY ?? "boardx123"`(本地开发 MinIO 弱默认口令)。
审计报告正确判定它**非误提交的生产密钥**(已公开在 `.env.example` / `infra/docker-compose.yml`),不构成新增泄漏,故不阻断 F01 合并。
**但开源前必须闭环一件事**:`boardx123` 一旦仓库 public,就是全网已知口令。**必须确认 devapp.boardx.us(生产)的 MinIO 实际口令不是 `boardx123`**——若是,开源即等于公开生产对象存储口令,需立即轮换。
## 待办(开源 public 之前,或 F01 关闭前)
1. 核对 devapp 的 MinIO/S3 实际 `S3_SECRET_KEY`(Cloudflare secrets / 服务器 env)是否为 `boardx123`;
2. 若是 → 轮换成强随机值(按「env 原子变更」纪律,与部署原子);
3. 生产侧建议 fail-fast:`S3_SECRET_KEY` 缺失时启动即拒,不回退 `boardx123` 默认(消除"忘了设就用弱默认"的隐患)。
## 相关
#698(F01,审计报告在 `phases/phase-p29-coord-platform/evidence/gitleaks-report.md`)、ADR-017(public 仓密钥纪律)。这是 ADR-017「以开源子项目形态产品化」的前置安全项。
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with packages/storage/src/index.ts:33, then compare the fallback with .env.example, infra/docker-compose.yml, the gitleaks report, and ADR-017. Verify the production S3_SECRET_KEY through the stated production secret sources; done means the production value is not boardx123, any required rotation is complete, and missing production configuration cannot silently use the weak fallback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, cloud, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100