46 lines
2.0 KiB
Markdown
46 lines
2.0 KiB
Markdown
# 运维事件记录:大文件逆向解析命令超时
|
||
|
||
> 文档属性:历史事件记录。本文保留原始事件证据,不作为当前系统状态契约。
|
||
|
||
- 日期:2026-09-30
|
||
- 项目:VPS-Commander
|
||
- 关联任务:N3450 / FNOS 飞牛音乐 `trim-music` API 逆向审计
|
||
- 严重级别:低(诊断任务超时,未造成系统变更)
|
||
- 状态:已恢复工作,继续执行
|
||
|
||
## 事件概述
|
||
|
||
在对 FNOS 飞牛音乐前端超大 JavaScript bundle 进行递归正则匹配时,VPS-Commander 执行器出现 `context deadline exceeded`。该命令属于只读分析操作,未执行写入、重启、删除、防火墙修改或服务停止。
|
||
|
||
## 触发原因
|
||
|
||
原命令同时对大量 JS bundle 做递归扫描,并尝试输出较大的上下文窗口。目标 bundle 中存在约数百 KB 至 1 MB 级别文件,导致远程执行持续时间超过工具上下文期限。
|
||
|
||
## 影响
|
||
|
||
1. 当前命令未得到完整输出。
|
||
2. N3450 飞牛音乐服务未被修改或重启。
|
||
3. 已完成的二进制/API 初步审计结果未受影响。
|
||
4. 无数据丢失、配置损坏或节点失联。
|
||
|
||
## 已采取措施
|
||
|
||
将后续逆向分析策略改为:
|
||
|
||
- 先建立候选 JS 文件集合;
|
||
- 单文件、单关键词定位;
|
||
- 只读取命中位置附近的小窗口;
|
||
- 避免递归 grep 输出大段 bundle;
|
||
- 对超过约 500 KB 的 bundle 优先使用 Python 字符串定位,而不是大范围正则输出;
|
||
- 每一步保持只读。
|
||
|
||
## 后续工程规则
|
||
|
||
对于 VPS-Commander 执行大型文本/二进制分析任务:
|
||
|
||
1. 优先“定位 → 小范围读取 → 再分析”,禁止一次性输出完整大文件。
|
||
2. 大文件分析命令默认拆分为多个短任务。
|
||
3. 若单次任务可能超过执行器上下文期限,应主动分片,而不是简单提高超时。
|
||
4. 工具返回 `context deadline exceeded` 时,默认判断为“执行结果不完整”,不得据此推断目标服务异常。
|
||
5. 所有超时事件均记录到项目 docs,便于后续优化执行器与任务编排策略。
|