TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 780 subscribers
Post #1604 5
给 AI 证据而非症状:一次险些失败的安全调查

一位开发者分享了自己用 AI 排查网站被恶意重定向的经历。第一次调查时,他描述症状、与 AI 逐文件排查,最终锁定并移除了可疑的外部统计脚本 51.la,问题看似解决。三周后同样的攻击出现在另一站点,这次他改用受影响页面的真实渲染 HTML(用触发攻击的浏览器 UA 和 IP 类型抓取),AI 立刻发现每页被注入了 83KB 恶意 JavaScript:内含微信浏览器检测、链接点击劫持和基于 cookie 的每日冷却逻辑。载荷藏在 WordPress 数据库的插件配置数据里,纯文件搜索永远找不到。

作者指出,向 AI 描述问题给的是「症状」,提供故障系统的原始输出才是「证据」。AI 只能基于可观察到的信息推理,症状经过你的过滤压缩,可能失真;证据才是实际发生的事。AI 默认倾向猜测有三个原因:你无意中限定了搜索范围,AI 会接受你划定的框架而不质疑答案是否在别处;流畅自信的输出掩盖了推理的不确定性,基于薄弱证据的诊断听起来和扎实诊断一样可信;症状往往指向错误的层级,浏览器里出现的重定向,根源可能在数据库表里。

作者现在把 AI 辅助调查拆成两步:先收集证据再找 AI,抓取真实输出、捕获日志、从问题源头层取原始数据;然后给 AI 证据而非故事,贴真实渲染的 HTML 而不是说「网站被重定向」,贴 profiler 输出而不是说「函数很慢」。同样的原则适用于调试、数据分析、写作反馈:错误信息是症状,完整堆栈加触发输入是证据;描述趋势是症状,原始数据集是证据。


一个自信的错误答案代价不止误判本身——它让你停止继续寻找真正的原因。AI 的推理能力不是瓶颈,证据管道才是。你带症状进去,AI 放大你的猜测;你带证据进去,AI 放大你的诊断。

#开发者 #工具 #AI #WordPress #安全 #Web开发 #调试
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 26, 2026PostgreSQL 复制槽上限参数 max_replication_slots 解析 max_replication_slots 决定共享内存中复制槽数组的长度,仅此而已。它不决…
  2. Sep 26, 2026五仓库架构踩坑:Gitlink 与双 CI Flude 团队复盘了多仓库架构的实践代价。项目从第一分钟起就选择拆分成独立仓库,Pipeline、engine、design-docs…
  3. Sep 26, 2026Xeno Core:TypeScript 后端架构框架 Node.js 复杂系统的架构选型往往决定代码的长期命运。开发者常在两条路之间纠结:要么依赖重度使用实验性装饰器和反射(如…
  4. Sep 25, 2026用 SLO 给 AI Agent 的行为定个预算 Grafana Labs 提出把可靠性工程里的错误预算(error budget)思路用到 AI Agent 上。延迟、token…
  5. Sep 25, 2026Xcode 27.2 改用 JSON 项目格式 Xcode 27.2 用基于 JSON 的 project.xcproj 取代了沿用多年的 project.pbxproj。新建项目…
  6. Sep 25, 2026PostgreSQL 的 max_prepared_transactions 该不该开 prepared transaction 是脱离会话独立存在的两阶段提交事务。执行 PREP…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →