# Wake 没报 tx.origin：检查 detector 来源、过滤和屏蔽

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/wake-tx-origin-detector-coverage
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

定位 Solidity 静态检测的扫描覆盖，并区分授权钓鱼风险与账户抽象兼容问题。

## 使用工具
- [Wake](https://lianxiaozhi.com/tools/wake) · [官方入口](https://getwake.io/)

## 前置条件
- 准备可以编译的 Solidity 工程副本、Wake 实际版本与既有扫描结果；编译器/依赖已在本地准备。
- 只使用静态 detector 路径；不要执行工程中的部署或钱包脚本。源码仍须人工检查，扫描零报告不是安全证明。

## 1. 确认命令与 detector 来源

在项目目录查看 wake detect --help 与 wake detect list，确认存在 tx-origin，并记录加载来源。本地 ./detectors 或全局同名插件会优先覆盖包内 detector；名字相同不保证执行的是官方实现。先解决编译错误，再判断扫描是否真的完成。

核对结果：tx-origin 可用、来源明确；无未解决的编译错误。
依据：[Wake：detector 执行、过滤与屏蔽规则](https://ack3.ai/wake/docs/latest/static-analysis/using-detectors/)

## 2. 对目标文件运行指定检测器

使用 wake detect tx-origin 检查该项目，或按帮助给出目标合约路径。对比全项目 wake detect all 的结果时，把扫描路径、min-impact 和 min-confidence 一起记录；只扫 utils 或设高阈值可能将相关合约/发现排除。

核对结果：扫描范围覆盖实际授权函数，阈值没有隐式改变比较口径。
依据：[Wake：detector 执行、过滤与屏蔽规则](https://ack3.ai/wake/docs/latest/static-analysis/using-detectors/)
依据：[Wake：tx-origin 检测器](https://ack3.ai/wake/docs/latest/static-analysis/detectors/tx-origin/)

## 3. 沿着发现位置读授权条件

找到报告对应函数、源码行和条件。如果用 tx.origin == owner 作为授权，按调用链推演：owner 调用中间合约，再由中间合约调用目标，tx.origin 仍为 owner。报告提示应进一步检查权限设计；不能仅把 tx.origin 字符串替换后便宣布修复。

核对结果：每个发现有实际可定位的源码条件和调用链解释。
依据：[Wake：tx-origin 检测器](https://ack3.ai/wake/docs/latest/static-analysis/detectors/tx-origin/)

## 4. 区分影响与置信度、兼容分支

Wake 消息第一标签为 impact、第二为 confidence，不能把二者互换。tx-origin 也会提示 tx.origin == msg.sender 等 EOA 限制对 ERC-4337 用户的影响；account-abstraction 检查默认开启。若该分支被关闭，应在结果里说明未覆盖这一类问题。

核对结果：记录两类标签，并明确钓鱼授权与账户抽象兼容发现各自的条件。
依据：[Wake：detector 执行、过滤与屏蔽规则](https://ack3.ai/wake/docs/latest/static-analysis/using-detectors/)
依据：[Wake：tx-origin 检测器](https://ack3.ai/wake/docs/latest/static-analysis/detectors/tx-origin/)

## 5. 核对隐藏报告的配置再复验

搜索目标文件附近 wake-disable-line、wake-disable-next-line、wake-disable 及匹配 detector 名称，同时检查 wake.toml 的 detector 设置。无名称屏蔽会覆盖所有检测；编译错误却不能被这种注释忽略。调整有依据的配置或代码后比较扫描结果，保留人工判断和剩余覆盖限制。

核对结果：对零报告能说明路径、阈值、屏蔽、detector 来源与编译状态，不以零报告代替审计。
依据：[Wake：detector 执行、过滤与屏蔽规则](https://ack3.ai/wake/docs/latest/static-analysis/using-detectors/)

## 常见错误
- 同名自定义 detector 的行为可能不同，不能只看命令名字。
- 关闭 account-abstraction 分支不等于修复兼容问题。
- 静态 detector 提示需结合授权语义与调用路径，扫描通过不能证明资金安全。

## 完成检查
- 完整保留 detector 来源、扫描范围、编译状态、标签和屏蔽配置。
- 官方文档核对未包含实际编译、执行或合约漏洞利用测试。

## 相关知识

## 官方依据
- [Wake：detector 执行、过滤与屏蔽规则](https://ack3.ai/wake/docs/latest/static-analysis/using-detectors/)
- [Wake：tx-origin 检测器](https://ack3.ai/wake/docs/latest/static-analysis/detectors/tx-origin/)
