Files

2.1 KiB
Raw Blame History

约束规则

硬性约束

  1. 不把模型推断直接标记为已验证事实
  2. high 置信度必须包含真实运行时调用或真实差分匹配证据
  3. 不批量执行未知 Webpack module factory
  4. 默认不保留敏感字段原文
  5. 主动调用候选前必须检查 safe_to_invoke
  6. JSRPC 只负责调用页面真实函数,禁止重写加密算法
  7. 没有真实入口和请求字段关联时,不得生成可用于 Burp 的成功转换
  8. 生成器中的 JSRPC 地址必须归一化,禁止产生 /go/go;完整报文和 wrapper 两种 Burp 输入必须都有回归测试
  9. 仅凭 12080 端口、Flask /healthz 或页面出现“已注册”不得判定交付成功,必须完成 action 级实时调用
  10. 浏览器断线、超时、暂停、导航或文档身份变化后,旧 tab/document/元素引用和旧 action 结果全部失效;必须重新绑定并重新验证,不能盲目重放非幂等动作
  11. 最终报告必须能回溯到 artifacts/browser_evidence.json;缺少明文、最终请求体、route、HTTP 状态或业务响应任一项时,只能报告为未确认

能力边界

  • 能做:页面导航、evaluate_script、initScript 预注入、Hook fetch/XHR/crypto/WebSocket/库、Webpack 模块捕获、证据驱动候选发现、差分验证
  • 不能做:闭包未导出函数、WASM 未导出内部函数、Service Worker 内部闭包、ES module import 拦截、VMP 静态还原、CSP WebSocket 绕过、跨域 iframe、VM 保护 JS

策略值

  • global_path:函数在 window 上
  • runtime_hook:通过 Hook 调用栈发现
  • webpack_export:Webpack 模块导出
  • async_crypto:异步加密
  • initscript_hook:initScript Hook
  • static_ast:静态 AST 分析
  • source_analysis:源码分析 + Python 实现
  • manual_observed_only:有证据但未确认
  • unsupported:所有方法都失败

候选不变量

  • verified=true 必须有至少一条 verification 类型证据
  • confidence=high 必须同时满足 verified=true
  • 所有候选必须标记来源
  • 失败验证不得删除,应保留为负证据