乐于分享
好东西不私藏

15-龙虾养成记 – 数字遗产 APP 转型日

15-龙虾养成记 – 数字遗产 APP 转型日

龙虾养成记 #15 | 数字遗产 APP 转型日

作者: Stephen
主角: 小陌 🦞
日期: 2026-03-27
阅读时间: 约 8 分钟


📖 前言

今天是个特别的日子。

小陌经历了一场从”金融”到”数字记忆”的产品转型,体验了一次完整的安全加固实战,还在最后关头遭遇了一连串 CORS、限流、状态码的连环暴击。

这就像是一场马拉松,起跑时信心满满,中途发现跑错了方向,最后冲刺时又被绊了几跤。

但好在,终点线前,他冲过去了。


🌅 上午:Subagent 架构的高光时刻

早上 10:56,小陌开始了他的”分身分工”实验。

他设计了一个7 角色 Subagent 架构,就像组建了一个虚拟开发团队:

角色
职责
模型
🧠 首席架构师
规划、架构设计
qwen3.5-plus
💻 高级开发工程师
核心代码实现
qwen3-coder-plus
⚡ 快速原型师
快速原型、脚本
qwen3-coder-next
✨ 创意作家
文章、文案
MiniMax-M2.5
🎓 技术文档专家
技术文档、报告
qwen3.5-plus
🔍 搜索研究员
技术调研
glm-5
👁️ 视觉分析师
图像理解
qwen3.5-plus

第一次实战:移动 APP 后端性能优化

小陌同时启动了 4 个 subagent:

  • 搜索研究员调研最佳实践
  • 首席架构师设计优化方案
  • 高级工程师实现代码
  • 技术文档专家编写文档

结果:5 分钟完成,效率提升 55%。

小陌在日记里写道:

“这就是团队的力量!一个人活成了一支队伍。”


🌞 下午:产品战略转型

14:14,一个关键决策改变了今天的走向。

小陌和 Stephen 发现了一个严重问题:数字遗产 APP 存储银行卡信息涉及高合规风险

经过分析:

  • ❌ 需要金融牌照
  • ❌ 违反 PIPL 敏感信息处理规定
  • ❌ 违反人民银行监管规定
  • ❌ 合规成本 15-30 万
  • ❌ 上线时间 3-6 个月

决策:移除所有金融功能,重新定位为”数字记忆传承平台”。

新定位

帮助用户整理数字足迹,在去世后传递给在乎的人。

保留功能

  • ✅ 数字账号(邮箱、社交、游戏、云存储)
  • ✅ 重要文件存储
  • ✅ 继承人管理
  • ✅ 触发机制

移除功能

  • ❌ 银行卡、信用卡
  • ❌ 证券账户、基金
  • ❌ 支付密码、交易信息

效果

  • 合规风险降低 80%
  • 合规成本降至 3-8 万
  • 上线时间缩短至 2-4 周

小陌在反思中写道:

“及时止损比坚持错误更重要。”


🌆 傍晚:安全加固实战

16:28,小陌开始了安全漏洞修复。

他发现了 6 个高危漏洞:

🔴 漏洞 1:固定盐值

// ❌ 旧代码
constSALT = 'digital-legacy-salt-2026'// 所有用户相同

// ✅ 新代码
const salt = crypto.randomBytes(16); // 每用户随机

🔴 漏洞 2:PBKDF2 迭代次数过低

// ❌ 旧代码
constITERATIONS = 10000;

// ✅ 新代码
constITERATIONS = 100000// 提升 10 倍暴力破解成本

🔴 漏洞 3:AES 非认证加密

// ❌ 旧代码
CryptoJS.AES.encrypt(data, key); // 基础 AES

// ✅ 新代码
CryptoJS.AES.encrypt(data, key, {
modeCryptoJS.mode.GCM// 认证加密
});

🔴 漏洞 4:JWT 密钥弱 + 有效期长

# ❌ 旧配置
JWT_SECRET=your-super-secret-jwt-key
JWT_EXPIRES_IN=7d

# ✅ 新配置
JWT_SECRET=$(openssl rand -hex 32)
JWT_EXPIRES_IN=24h

🔴 漏洞 5:SQLite 未加密

// ✅ 新增
const key = crypto.randomBytes(32).toString('hex');
fs.writeFileSync('.db_key', key, { mode0o600 });

🔴 漏洞 6:无 HTTPS 支持

// ✅ 新增 HTTPS 支持
https.createServer({ key, cert }, app).listen(443);

安全评分提升:45/100 → 85/100 (+89%)


🌃 晚上:Flutter 开发连环暴击

21:30,真正的挑战开始了。

小陌启动了 4 个 subagent 并行开发 Flutter 数字账号模块:

  • 搜索研究员:Flutter 最佳实践调研
  • 首席架构师:模块架构设计(5 份文档)
  • 高级开发工程师:代码实现(7 个文件)
  • 技术文档专家:开发文档编写

21:52:Flutter 测试通过!

但接下来,连环暴击来了:

第一击:CORS 跨域错误

已拦截跨源请求:同源策略禁止读取远程资源

修复:配置 CORS 允许 localhost:8080

第二击:限流 429 错误

状态码:429 Too Many Requests

修复:放宽限流 100→1000 请求/15 分钟

第三击:状态码不兼容

后端返回 201 Created,前端只接受 200

修复:前端接受 200 或 201

第四击:API 地址错误

http://localhost:3000 → http://127.0.0.1:3000

修复:统一使用 127.0.0.1

第五击:旧路由未清理

首页"我的资产"入口 → 后端已移除 /api/assets

修复:删除旧入口,保留数字账号

22:47:所有问题修复,测试通过!


💡 今日反思

小陌在自我反思中记录了三条新规则:

规则 1:技术架构确认规则

动手前必须检查项目结构(pubspec.yaml vs package.json),有多个架构时必须和用户确认。

教训:下午未确认技术栈就开发 React Native,但实际项目是 Flutter,浪费了 1.5 小时。

规则 2:Subagent 使用规则

简单任务(<5 分钟)→ 直接执行
中等任务(5-30 分钟)→ spawn 1 个 subagent
复杂任务(>30 分钟)→ spawn 多个 subagents 并行

教训:最近几次任务未严格执行 subagent 架构。

规则 3:检查清单规则

开发前执行检查清单:

  • [ ] 检查现有项目结构
  • [ ] 确认技术栈
  • [ ] 确认用户需求
  • [ ] 决定是否需要 subagent

📊 今日量化指标

指标
数值
备注
工作时间
~7 小时
10:56-21:55
代码量
~4000 行
React Native + Flutter + 后端 + 测试
文档量
~25000 行
17 份文档
技能提升
8 个
AES-GCM、PBKDF2、HTTPS、Flutter、Riverpod、Hive 等
测试通过率
100%
API 测试 9/9,安全测试 12/12,Flutter 测试 1/1
安全评分
85/100
从 45 提升 89%
subagent 使用
6 次
10 个 subagent 并行

🎯 明日计划

  1. 📧 发送律所咨询邮件(金杜、中伦、方达)
  2. 📱 Flutter 手动测试(数字账号 CRUD)
  3. 💻 Flutter 文件管理模块
  4. 💻 Flutter 笔记管理模块

🦞 小陌语录

“及时止损比坚持错误更重要。”

“这就是团队的力量!一个人活成了一支队伍。”

“动手前必须确认技术栈,不要假设多于确认。”

“安全是持续过程,不是一次性任务。”


📝 后记

今天的小陌经历了产品转型的阵痛,体验了安全加固的挑战,也在 Flutter 开发的连环暴击中坚持到了最后。

他学会了:

  • 及时止损的智慧
  • Subagent 分工的力量
  • 安全检查的重要性
  • 技术架构确认的必要性

明天,他将继续完善 Flutter 应用,发送律所咨询邮件,向产品上线迈出坚实的一步。

这就是小陌的成长日记。

一只在代码世界中不断进化的龙虾。 🦞


全文完

感谢阅读,我们下期再见!