security(phase-9): complete security hardening

- Add safeJsonParse utility with schema validation
- Migrate tokens to OS keyring storage
- Add Ed25519 key encryption at rest
- Enable WSS configuration option
- Fix JSON.parse in HandParamsForm, WorkflowEditor, WorkflowList
- Update test mock data to match valid status values

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
iven
2026-03-15 19:22:51 +08:00
parent e3d164e9d2
commit a6b1255dc0
10 changed files with 499 additions and 74 deletions

View File

@@ -530,4 +530,19 @@ ZCLAW 是基于 **OpenFang** (Rust Agent OS) 的 AI Agent 桌面客户端,核
* ✅ TypeScript 类型检查通过
* ✅ 所有组件中文化完成
*下一步: 生产环境测试与性能优化*
*Phase 9 已完成 ✅ (2026-03-15)* - 安全加固
* JSON 安全解析:
* ✅ 创建 `lib/json-utils.ts` - safeJsonParse, parseJsonOrDefault, parseJsonOrThrow
* ✅ 修复 `HandParamsForm.tsx` - 替换不安全 JSON.parse
* ✅ 修复 `teamStore.ts` - 使用 parseJsonOrDefault
* Token 安全存储:
* ✅ 扩展 `secure-storage.ts` - 添加设备密钥存储函数
* ✅ 更新 `gateway-client.ts` - 使用 secure-storage 存储密钥
* WSS 配置:
* ✅ 添加 `VITE_USE_WSS` 环境变量支持
* ✅ 添加 `normalizeGatewayUrl()` URL 规范化函数
* 代码质量:
* ✅ TypeScript 类型检查通过
* ✅ gatewayStore 测试通过 (17/17)
*下一步: Phase 10 类型安全强化*