从仓库到一份可以核对的证据。
Scorpio 把每一次分析都当作一条技术保管链。先判断仓库是否在范围内,然后编译、建模,并为结果加上封印。
受理
核对公开 URL、commit 以及自有代码的真实规模。
免费 · 无任何约束编译
解析 Foundry 项目,并把自有代码与依赖分开。
隔离环境经济地图
追踪状态、权限,以及价值可能流动的路径。
跨合约上下文扫描
运行适用的类别,并优先排列具有经济影响的信号。
确定性引擎交付
撰写按优先级排列的发现报告,并连同所分析的确切 commit 一起返回。
结果可复现先看你的仓库是否在范围内。
预检会在开启任何付款之前,分别统计自有的与第三方的 Solidity 代码,而且是由真实的服务来做:克隆仓库并读取它的目录树,不编译,也不运行其中任何代码。预检免费、带配额;不在范围内的仓库会在这一步被拒绝,而不是先收钱再失败。
- ✓ URL 与 commit 已确认
- ✓ 自有代码与第三方代码已分开
- ✓ 授权付款之前价格已确定
目前开放一项。其余的列出来,是为了让人看到走向。
本站把今天就能购买的产品,和仍在准备中的产品分开标示。
包含什么
- 10 个经济分析类别
- 49 项已编目的静态扫描
- 自有文件最多 1.200 个
- SHA-256 报告封印与所审计的 commit
当前开放的产品分析的是仓库里的代码,不读取链上的当前状态。
准备中的目录
已在内部设计并定义完成,但尚未开放付费。
Quick Scan
面向代理与自动化流程的第一道信号,在交互之前使用。
- 最多 25 个文件
- 同样的 10 个类别
- 以 JSON 交付
Deep Economic
面向更高价值自动决策的扩展经济分析。
- 最多 150 个文件
- 10 个类别 + 链上真实状态
- 交付带封印
Large Repository
针对大型仓库与 monorepo,按规模调整价格。
- 最多 1.200 个文件
- 含链上真实状态
- 按范围报价
Scorpio Developer
面向开发者的网页体验,支持 Web3 或银行卡付款。
- 最多 150 个文件
- 可视化报告
- Web3 或银行卡
Protocol Release
大型仓库,含管理层报告,并可对新的 commit 重复执行。
- 最多 1.200 个文件
- 含链上真实状态
- 在重复执行稳定之后
这五项都已经写进服务的目录里,只是用一个开关关着。它们的价格都不是按“跑多少个检测器”来分的:真正不同的是所允许的规模上限、交付的内容,以及是否读取链上状态——只有最后这一点才真正拉高成本。
在第一份公开的基准测试里,每条告警带来的有效信号更多。
在 CodeHawks 的五个官方案例中,Scorpio 对上了官方清单里的 12 项发现,Slither 为 5 项;总告警数 Scorpio 为 26 条,Slither 为 63 条。
9 月引擎 890777…
这是五场比赛的小样本,不能用来证明整体上更强。Scorpio 这一列测于 2026 年 9 月 9 日,使用引擎 890777033a8fc952…,重复执行三次且结果一致。已部署引擎的指纹显示在本页顶部:若与之不符,说明该测量出自更早的引擎,并未用今天的引擎重跑。Slither 这一列用的是 0.11.5 版本,跑在同样冻结的案例上,测于 9 月 6 日;两个日期之间 Slither 没有变化。
那 14 条没对上的是什么——把它们叫作“错误”并不准确:四条属于提示性严重度,其中三条是合约缺少事件的提醒,一条是关于代币假设的说明,都是引擎有意提供的背景信息,本来就不参与漏洞清单的比拼;三条说的是代码里确实存在的事实,即 ERC-20 转账的返回值没有检查,只是比赛没有把它认定为发现;还有一条是单向开关,引擎把它标为可疑,因为那到底是不是有意为之,只能由人来判断。
剩下的六条里,有五条和官方清单中的某一项其实是同一个漏洞,只是名字不同。比对程序要求检测器的名称与标签所属的类别一致才算配对,所以当引擎确实找到了漏洞、却按成因而不是按后果去命名时,计数会罚它两次:标签算作没找到,发现算作不正确。这五对已经逐一核对过,合约相同,其中四对连函数都相同:refund 里那把永远不上锁的锁,就是 CH-05 的重入;可以被改写的期限是 CH-07;claimants 上没有上限的遍历是 MC-08;没有绑定实现的签名是 SP-01;缺少 typehash 的摘要是 SP-02。第六条说的是一件真实存在、但清单没有收录的事。
这样的认定是人工的,而且不是中立的:做认定的正是开发引擎的人。所以本页以机器统计的数字为准。如果把这五对算进去,就是 17 条对上、9 条没对上,也就是 65,4 % 的精确率和 35,4 % 的召回率。写出来是为了让人看清差距从哪里来,不是为了把它算进成绩。
Scorpio52,6%一个会检验自己的引擎。
每个检测器面前都放着两份合约:一份是写来让它报警的,另一份几乎一模一样,是写来让它不报警的。任何改动只要破坏其中之一,测试库就变红;而测试库不是绿的,就不会构建对外接单的镜像。
变异评分会故意改掉引擎里的一行,然后确认测试库能察觉。察觉不到的,都会逐条写下理由:为什么那一行不可能改变结果,或者需要什么样的用例才能触发。今天没有任何一条还没读过。
十个类别,用来追踪经济风险。
每个类别都汇集了一组扫描,针对某一种具体的手法:打破不变量、窃取权限,或者把价值引走。
账目
余额、舍入、手续费与价值守恒。
6 项扫描预言机
价格、新鲜度、量纲,以及可被操纵的依赖。
4 项扫描签名
重放、域分隔、nonce 与密码学授权。
8 项扫描权限
角色、setter、初始化与控制权提升。
7 项扫描重入
外部交互与不安全的状态变更。
4 项扫描存储
槽位冲突、布局,以及升级之后的数据损坏。
4 项扫描状态机
不可能的状态转移、卡死与阶段跳跃。
6 项扫描资金被困
缺少出金路径,或者出金条件永远无法满足。
4 项扫描编码
选择器冲突、calldata 与序列化上的假设。
5 项扫描随机性
可预测的随机源,且会影响经济结果。
1 项扫描一份留得下痕迹的交付。
报告把每一条信号连回代码中的具体位置,并连同产生它的那个确切 commit 一起交付。
价值不变量存在缺口
按优先级排列的发现
严重度、置信度、位置,以及预期的经济后果。
技术证据
代码路径,以及足以复现该信号的上下文。
来源
所分析克隆的确切 commit 与目录树,随报告一并返回。
没有测到的部分
只要有任何一项扫描没有跑完,订单就会标为 INCOMPLETE,报告里也会写明。沉默不会被当成“什么都没有”来呈现。
Scorpio 断言什么。
以及不断言什么。
✓ 确实交付
- 自动化且可重复的分析
- 按经济影响排定优先级
- 与所分析代码绑定的证据
- 确切的 commit 与报告的封印
- 明确写出执行状态
× 不承诺
- 零误报
- 覆盖全部漏洞
- 每次都能找到漏洞
- 等同于人工审计
- 自动符合赏金资格
Scorpio 能取代人工审计吗?
不能。它缩小搜索范围并提供可重复的证据,但既不证明合约安全,也覆盖不了人工审查中的全部推理。
今天可以分析什么?
与 Foundry 兼容的公开仓库,需通过预检,自有 Solidity 文件最多 1.200 个。当前开放的产品不读取链上状态。
什么时候收费?
先跑免费的预检。如果仓库在范围内,Scorpio 会返回确切的报价。x402 付款通过验证之后,分析才开始。
如果引擎失败会怎样?
订单会停在 FAILED 状态,并按条款退还服务价款。不属于 Scorpio 的网络手续费不在退款范围内。
需要多长时间?
目录中对当前产品的运行时间估计约为五分钟。这是技术估算,不是服务等级承诺:规模、编译和排队都可能改变总时长。
DONE 和 INCOMPLETE 是什么意思?
DONE 表示预定的交付已经完成。INCOMPLETE 表示存在部分交付,且其局限已写入文档。PENDING 与 FAILED 分别表示执行尚未完成或已失败。EXPIRED 出现在 30 天保存期结束、交付已被删除之后。
可以提交私有仓库吗?
当前产品不支持。请不要发送凭据、令牌或私有 URL。这项公开服务是为无需认证即可访问的仓库设计的。
结果要怎么验证?
每一笔订单都会返回所分析克隆的确切 commit 与目录树,因此任何发现都可以指向一个具体的修订版本,随时回头查看。当前运行的引擎版本连同其内容指纹,公开在 /health。