如果一次检测试验跑完后,报告、告警或文件状态与试验前完全一致,先不要把它当成“网站干净”的结论。更可能的解释是扫描根本没真正执行,或执行了但覆盖范围、权限、规则集与预期不符。要确认试验是否落实,可以按两种条件分路:一种是你还能拿到工具自身日志和退出状态;另一种是只剩站点侧可观测结果。前者直接验证执行链,后者用独立信号交叉印证。
有日志的情况下,判断重点不是“有没有发现木马”,而是“扫描进程有没有走到目标目录、有没有读到文件、有没有完成比对”。按下面顺序看,任何一步缺失都足以解释零变化。
exit code 为 0 不一定代表扫完,需要同时看到正常结束标记,而不是超时、内存不足或权限中断。动作上,先做一次只针对单个已知文件的定点扫描,把该文件路径写进参数,观察日志里是否出现该文件的读取与比对记录。如果定点扫描有记录而全站扫描没有,问题在遍历范围或排除配置;如果定点扫描同样没有记录,问题在调度、权限或工具本身未真正运行。这个结果直接决定下一步:前者改配置后重跑全站,后者先修复执行环境,再谈检测结论。
只剩站点侧可观测结果时,不能把“页面没变化”当作扫描已执行的证据,因为木马检测通常不修改页面。应寻找与扫描动作绑定的旁证:
这里要区分“没有发现”和“没有执行”。请求量、抓取量或某项统计归零,不能单独证明扫描正确执行,也不能单独证明网站安全;它还可能由缓存、日志轮转、采样口径或访问路径变化造成。只有多条证据指向同一结论时才可下判断。
在把零变化归因于工具失效前,先排除这些合理解释:扫描对象是静态副本而非线上目录;容器重建后扫描的是镜像层而非运行层;文件权限使进程只能列出目录名、读不到内容;排除规则把上传目录、缓存目录整体跳过,而木马恰好藏在那里。相反,也有例外:如果工具采用增量比对,且基线在上次扫描后未变,报告内容相同属于正常,此时应检查基线文件的时间戳,而不是重复怀疑执行。
确认扫描确实执行且覆盖完整,但结果仍无变化时,才进入“旧工具是否退出”的决策。若它仍能覆盖主要目录、规则可更新、日志可追溯,可以保留作为基线比对,另加一个针对上传目录的补充检查;若它无法读取目标目录、规则长期不更新、日志无法证明执行,就应退出,而不是继续用它出具“未发现”的结论。动作与结果的对应关系是:定点扫描验证覆盖,覆盖验证决定是修配置还是换工具,换工具后再用同样的定点测试确认新方案真的读到了目标文件。