傍晚六点四十分,打印机还在吐纸。沈知夏将最后一份合作申请归入文件夹,指尖在封面压了片刻,确认边缘对齐。她刚要合上笔记本,余光瞥见陈默猛地坐直身体,屏幕的光映在他微皱的眉心。
“怎么了?”她问,声音不大,像只是顺口一接。
陈默没立刻回答,手指在键盘上敲了几下,调出后台日志。他把显示器转向两人,一条红色警报框高亮闪烁:过去两小时内,系统记录到三次非常规登录尝试,IP地址经跳转代理,终点位于境外。“不是真实攻击。”他说,“是试探性的扫描,有人在摸我们的底。”
欧阳砚放下手里的笔,起身走过来。他站定在陈默身后,目光扫过数据流,眉头一点点收拢。防火墙当前无入侵记录,但注册端口的验证机制确实薄弱——手机号加简单问答,防不住批量注册或身份冒用。
“邮件也来了。”陈默说着点开收件箱。一封匿名信静静躺在顶部,标题是:“你们的数据真的安全吗?”附件是一张技术图解,清晰标注了从志愿者上传入口切入、绕过权限校验、直达学生档案数据库的模拟路径。
帐篷里安静下来。十分钟前还持续响起的提示音,此刻听来不再代表支持涌入,倒像是某种倒计时。
沈知夏看着那封邮件,没有点开附件。她转头看向电脑右下角的时间:六点四十三分。十七分钟前,他们还在为“芝麻星火课”命名而短暂放松;现在,系统第一次暴露出它脆弱的一面。
“这不是偶然。”欧阳砚开口,语气平得像读一份财务报表,“能画出这条路径的人,至少研究我们三天以上。问题不在技术多强,而在信息有没有外泄。”
陈默点头。“注册流程太轻量,一旦被盯上,容易变成数据中转站。如果课程内容被篡改、孩子信息被扒走……后果没法控。”
沈知夏低头翻开笔记本,在“成长通道”那页空白处写下三个词:技术安全、内容安全、执行安全。她用笔尖分别划出子项,动作很稳,但笔迹比平时重了些。
“先拆开看。”她说,“别笼统说‘有风险’,咱们一项一项列出来。”
三人围到主桌前。沈知夏执笔,陈默提供技术视角,欧阳砚补充运营经验。很快,三大类风险落纸:
技术安全——网络延迟导致直播卡顿、服务器因流量激增崩溃、黑客通过漏洞植入恶意代码、离线包被盗版复制传播;
内容安全——课程视频被截取用于非法宣传、导师在远程授课中发表不当言论、儿童绘画作品中的家庭信息遭人肉搜索、家长留言被断章取义炒作;
执行安全——志愿者中途退出导致任务断档、运输队延误影响离线包送达、地方联络人变动造成对接失效、突发天气阻断通信链路。
每写一条,空气就沉一分。
“这些不是假设。”欧阳砚指着“内容安全”第一条,“上周就有博主剪辑我们的云课堂片段,配上煽情音乐发短视频,标题写着‘城里明星施舍山区孤儿’。虽然没点名,但评论区已经开始带节奏。”
陈默补充:“我们举报了,平台下架了。可只要源文件在外,就防不住二次加工。”
沈知夏听着,手指无意识摩挲着笔杆。她想起昨天看到的那个高中生留言:“放学后可以帮忙翻译通知,不要补贴。”那么干净的一句话。她不想让这样的善意,最后变成别人手里的情绪燃料。
“那就建防御机制。”欧阳砚说,“不能等火烧起来再找水。”
他打开文档,新建一页,命名为《星火计划·应急响应模型》。他提出按严重程度分三级预警:
蓝色预警对应低风险事件:单次上传失败、个别用户投诉、轻微卡顿。这类情况由系统自动记录,每日汇总提醒管理员处理;
黄色预警针对中风险:连续三次登录异常、多地同时出现信号不稳定、导师账号异地频繁切换。触发后需人工介入核查,并启动备用线路或本地缓存模式;
红色预警则是高风险状态:大规模数据泄露迹象、核心课程文件被篡改、儿童隐私信息出现在外部平台。一旦确认,立即冻结全系统访问权限,保留日志交由法律团队追溯,同步向合作方与志愿者发布说明。
“分级不是为了吓人。”他说,“是为了让每个人都知道,遇到什么事该停、该报、该撤。”
陈默盯着流程图看了一会儿,点头。“我可以今晚就把规则嵌进后台逻辑里。蓝色自动留痕,黄色弹窗提醒我,红色直接切断外联。”
“还得加一条。”沈知夏忽然说,“所有涉及孩子的影像资料,上传时必须勾选‘授权使用范围’。默认只允许内部教学复盘,公开传播需二次确认。”
“包括绘画作品。”她补充,“李响画的‘未来的教室’可以展示,但他家屋顶漏雨的细节不能放大讲。”
欧阳砚看了她一眼,没说话,但在文档里新增了一栏:“内容发布双审制”——初审由驻点老师确认不涉隐私,终审由总部核实用途合规。
陈默开始落地技术方案。他拨通高校技术社团负责人的语音通话,简述需求:第一,给离线包增加数字签名,确保只有认证设备才能解码播放;第二,所有导师级账号启用双因素认证,绑定实名证件与人脸核验;第三,开发异常行为追踪脚本,标记短时间内高频下载、跨区域访问、非工作时段登录等可疑操作。
“我们不设黑名单。”他对电话那头说,“但我们得知道谁在看什么、什么时候看、看了多久。”
通话结束,他转头对两人说:“第一批升级包明早能测。但在此之前,建议暂停新用户注册。”
“多久?”沈知夏问。
“四十八小时。”陈默说,“完成首轮加固,再开放通道。”
帐篷里静了片刻。打印机换页的声音格外清晰。
沈知夏低头看着笔记本。原定计划里写着“快速扩招五百人”,旁边还画了个小箭头,指向“联合行动日”。她握着笔,迟迟没动。
“我们本来就是靠速度赢得信任的。”她终于开口,声音比刚才低了一度,“如果每一步都设防,会不会失去温度?”
没人接话。风从帆布缝隙钻进来,吹动桌上散落的风险清单一角。
欧阳砚关掉文档页面,掏出手机,解锁相册。他翻到一张旧照,递过去。照片模糊,像是用老式功能机拍的,画面是一扇被砸裂的玻璃窗,窗台上落着半块碎砖。
“高中时的事。”他说,“我想让你记住我,就每天故意弄坏你擦的窗台。第三次就被抓了,记过处分。我以为冲动是勇气,后来才知道,真正的坚持是克制。”
沈知夏接过手机,指尖轻轻滑过那道裂痕。她记得那天早上值日,发现玻璃碎了,蹲在地上一块块捡。班主任说肇事者写了检讨,但她没看过名字。
她把手机还回去,没说话。拿起笔,在“快速扩招五百人”上划了一道横线。然后在下方写:“试点三省,百人内控。”
页脚补了一句:“宁可慢一点,也不能伤一个孩子。”
陈默默默将会议纪要整理成文,命名为《星火计划·风险防控白皮书V1.0》,上传至加密共享目录。他在后台设置系统重启倒计时:47小时59分。屏幕左下角跳出提示框,确认操作无误。
芝麻不知何时醒了,伸了个懒腰,跳上电脑桌。它的尾巴扫过键盘,意外激活了屏保程序。
动态壁纸浮现:无数小光点从各地升起,在空中汇聚,慢慢拼出一句话:“别怕慢,我们在走。”
没有人说话。灯依旧全亮,风穿过缝隙,吹动刚打印出的风险清单一角。纸上的字迹未干,墨色沉实。
沈知夏坐在主桌前,手中握笔,正在修订《联合行动日》执行细则。她把“同一时间录祝福视频”改成“按地区错峰录制”,并在备注栏注明:“避免集中上传造成拥堵”。
欧阳砚站立于电脑前,盯着防火墙日志,等待第一轮测试反馈。他的西装第二颗纽扣仍系得好好的,领带安静地叠在抽屉里,没有被叼走。
陈默戴着耳机,低声与技术团队沟通脚本调试进度。屏幕上正运行着新编写的异常行为监测程序,绿色进度条平稳推进。