Chainabuse API 漏了举报?核对 checked、trusted、分页和时间方向
链小知 · 进阶 · 核验 · 依官方文档整理
从已有 Get Reports 请求/响应查漏项,避免把筛选后的空列表、50条首屏或USD损失条件当成完整风险结论。
开始前准备
- 适用于有合法API权限的集成方;准备已有去敏GET请求、响应、日期、状态及目标对象,不提供Basic头或API key,不为排查发出认证调用。
- 按当前官方reference参数核对;帮助文档网络表为12项,reference显示15项enum未展开,未知网络不自行增加。
1. 固定接口、输入和网络标识
检查已有请求是否为GET https://api.chainabuse.com/v0/reports。确认输入是address还是domain:地址查询记录完整地址及chain,网站查询记录domain;它不是按交易hash查执行状态的接口。
网络标识按官方表使用,例如ETH、BTC、SOL、Arbitrum,别用钱包显示名随意替换。API用Basic鉴权,页面查询与API权限不同;只保留去敏参数和HTTP状态,不公开key/base64认证值。
检查结果:接口、对象、网络与鉴权权限范围明确,未误把交易hash作报告ID。
2. 展开所有筛选,解释空列表的条件
列出checked、trusted、category、since、before及其它已有条件。checked=true筛团队已核验报告,trusted=true筛预筛选贡献者;false或未核验并不等于诈骗指控无依据。日期范围可能排除更早的关联报告。
按原请求分析哪些记录可能被过滤;不要为了扩大结果直接消耗key额度重跑。若只有带严格过滤的空列表,结论必须带这些条件,不能写目标地址无任何举报。
检查结果:空结果属于明确筛选条件,筛掉的范围与真正未查询的范围分开。
3. 核对页码与特殊排序方向
reference定义page从1开始、默认1,perPage为1–50、默认50。首批恰好50条时,不能推断所有报告仅50条;以已有后续页/记录核对覆盖,未取后页标为分页未完成,不编造总数。
官方reference将orderByDirection=ASC写作最新优先、DESC写作最旧优先,不能套数据库常见升序直觉。用实际记录日期交叉检查所用orderByField和顺序;如果响应顺序与文档不一致,保存差异再确认版本。
检查结果:页范围、每页上限、排序字段及可见日期一致;尚未取得页面不宣称读取完成。
4. 区分损失过滤、置信度与资产余额
minLossAmount只支持USD损失、其它资产损失会被忽略;它筛的是举报中的损失条件,不是收款地址余额,更不是任意代币最小金额。去掉或保留这个条件的结果含义不同,需要在覆盖记录中标明。
读取已有报告ID、描述、confidence、关联IoC和报告日期,将reported loss与链上资产核对分开。置信度不是风险为零的证明,也不把报告中受害者损失直接算作目标地址所得金额。
检查结果:USD举报损失、报告线索与未查询的链上余额分栏。
5. 用报告 ID 核对单条记录及权限
需要定位单条已有记录时,按文档检查路径/v0/reports/{reportId}与报告ID字符串,不用交易hash或地址替代。已有单条请求返回404时只能记录该请求未取得报告,不推断目标无风险;先核对ID和已有访问环境。
includePrivate默认false,reference说明仅TRM_INTERNAL可切换;普通用户不能以设true取得私有证据。现有403先核对权限,不把它当诈骗评分或无举报。
检查结果:对象ID与响应状态可追溯;私有证据不可见范围明确。
6. 列出缺口与额度,再决定后续复核
记录读取的页、时间范围、筛选和未取记录;标准key文档现列10calls/month,每次最多50reports,Partner条件另查,别用5000calls/hour当普通用户额度。当前收费和剩余配额以账号方案为准,已有记录检查本身不需要新调用。
总结为输入不符、筛选排除、分页未完成、权限/读取失败或未见匹配。全流程没有真实API响应时仅完成文档/参数核对;后续合法调用需独立保存回执,不能先写风险查询已验收。
检查结果:有明确遗漏原因或未知范围,页覆盖、费用权限与结论边界均可复核。
怎样确认完成
- 输入、筛选、分页方向、报告ID和权限范围均核对;无记录或未取页面不补数。
- 文档核验:未注册、取得凭据、调用认证API或触发付费请求;未验证实时报告结果与额度。
常见错误与边界
- 把ASC当最旧优先,按错误方向只看一页。
- 把trusted=false当不可信、minLossAmount当余额过滤,或认为普通key可看私有证据。