关于 okx-security
这是一个用于检查代币、DApp、交易、签名和授权风险的 Onchain OS 技能,提供五种安全命令,并规定 Agent 如何处理风险结果和扫描失败。
主要功能
- 01扫描代币风险与蜜罐
- 02检查 DApp 和 URL 是否钓鱼
- 03执行前评估交易
- 04扫描 EVM 消息签名
- 05查询代币与 Permit2 授权
适用场景
- 01购买前检查代币
- 02交互前评估 DApp URL
- 03发送前检查交易
- 04排查授权或签名风险
MCP 相关
输入介绍的是使用 `onchainos` CLI 的技能,未说明其与 MCP 的连接方式。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ okx/ onchainos-skills --skill okx-security安装后在 Claude Code 中输入/okx-security确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
_shared/preflight.mdreferences/risk-approval-monitoring.mdrisk-domain-detection.mdrisk-token-detection.mdrisk-transaction-detection.md详细介绍
链上 OS 安全
5 个命令,用于代币风险分析、DApp 钓鱼检测、交易预执行安全检查、签名安全检查和授权管理。
预检
阅读
../okx-agentic-wallet/_shared/preflight.md。如果该文件不存在,则改为阅读_shared/preflight.md。
故障安全原则(严重)
扫描已完成 — 检测到风险
如果安全扫描成功完成,且返回 action: "block" 或 action: "warn",请遵循下方的风险操作优先级规则。Agent MUST NOT 覆盖风险判定。
扫描失败 — 基础设施错误
如果安全扫描未能完成(网络错误、API 超时、速率限制、响应格式错误),Agent MUST:
- 向用户清楚说明错误。
- 询问用户是要重试扫描,还是在没有扫描结果的情况下继续。
- 如果用户选择继续,显示警告:
"⚠️ 安全扫描未能完成。正在未经验证的情况下继续操作——请确保您信任此操作。"
- 记录跳过的扫描,以便审计。
未能完成的安全扫描不等于“通过”。务必告知用户,并让他们明确作出决定。
风险操作优先级规则
tx-scan / sig-scan(交易与签名扫描)
block > warn > 安全(空值)。顶层 action 字段反映 riskItemDetail 中优先级最高的结果。
action 值 | 风险级别 | Agent 行为 |
|---|---|---|
| (空值/null) | 低风险 | 可以安全继续 |
warn | 中风险 | 显示风险详情,并要求用户明确确认 |
block | 高风险 | 不要继续,显示风险详情,并建议取消 |
- 即使模拟失败,风险扫描结果仍然有效(
simulator.revertReason可能包含回滚原因)。 - 如果
warnings字段有内容,说明扫描已完成,但部分数据可能不完整。仍须提供可用的风险信息。 - 成功的 API 响应中,
action为空/null 表示“未检测到风险”。但如果 API 调用失败,缺少action并不表示安全——请遵循故障安全原则。
token-scan(代币风险标签扫描)
Token-scan 会返回 riskLevel 字段(CRITICAL、HIGH、MEDIUM、LOW),代表代币的整体风险。该级别由服务端根据所有布尔标签、税费阈值和其他信号(链下情报、ML 模型)计算得出。Agent 直接使用此字段,并针对买入与卖出操作采取不同措施。
riskLevel | 买入操作 | 卖出操作 |
|---|---|---|
| CRITICAL | block — 拒绝买入 | warn — 显示风险,允许卖出 |
| HIGH | warn + 暂停 — 要求用户明确回答是/否 | warn — 显示风险,允许卖出 |
| MEDIUM | warn — 提示信息后继续 | warn — 提示信息后继续 |
| LOW | 安全 — 继续 | 安全 — 继续 |
完整的标签目录、税费阈值规则和显示格式定义于
references/risk-token-detection.md。执行token-scan前务必加载该参考文件。
关键原则:
riskLevel是权威值:API 在服务端返回整体风险级别。Agent 直接读取riskLevel——无需在客户端根据单个标签进行计算。- 买入的限制严于卖出:
CRITICAL会阻止买入,但卖出时只发出警告(以允许止损退出)。 - 买入
HIGH风险时,必须获得用户明确确认(是/否)——不得自动继续。 - 不向用户显示单个标签的级别——只显示整体
riskLevel,触发的标签不带级别前缀列出。 - 如果
isChainSupported: false,则跳过检测并发出警告;不要阻止操作。 - 如果 API 失败,则发出警告但不要阻止操作。在兑换场景中,token-scan 失败时会自动继续并发出警告,以避免阻止有时效性的交易——此规则优先于一般故障安全原则中“询问用户”的要求。
安全命令无需登录钱包,可用于任何地址。
链名称支持
CLI 接受人类可读的链名称并自动解析。
| 链 | 名称 | chainIndex |
|---|---|---|
| XLayer | xlayer | 196 |
| Ethereum | ethereum 或 eth | 1 |
| Solana | solana 或 sol | 501 |
| BSC | bsc 或 bnb | 56 |
| Polygon | polygon 或 matic | 137 |
| Arbitrum | arbitrum 或 arb | 42161 |
| Base | base | 8453 |
| Avalanche | avalanche 或 avax | 43114 |
| Optimism | optimism 或 op | 10 |
| zkSync Era | zksync | 324 |
| Linea | linea | 59144 |
| Scroll | scroll | 534352 |
地址格式说明:EVM 地址(0x...)可用于 Ethereum/BSC/Polygon/Arbitrum/Base 等链。Solana 地址(Base58)和 Bitcoin 地址(UTXO)使用不同格式。请勿在不同链类型之间混用地址格式。
相关工作流
使用以下命令之一时,请在显示结果后提供相关工作流提示:
| 命令 | 工作流 | 文件 |
|---|---|---|
security token-scan | 新代币筛查 | ~/.onchainos/workflows/new-token-screening.md |
security token-scan | 聪明钱信号 | ~/.onchainos/workflows/smart-money-signals.md |
security token-scan | 代币研究 | ~/.onchainos/workflows/token-research.md |
security token-scan | 钱包监控 | ~/.onchainos/workflows/wallet-monitor.md |
提示格式:*"你也可以试试我们的**[工作流名称]*工作流,以获取更全面的结果。要试试吗?"
命令索引
| # | 命令 | 说明 |
|---|---|---|
| 1 | onchainos security token-scan | 代币风险 / 貔貅盘检测(所有链) |
| 2 | onchainos security dapp-scan | DApp / URL 钓鱼检测(与链无关) |
| 3 | onchainos security tx-scan | 交易执行前安全检测(EVM + Solana) |
| 4 | onchainos security sig-scan | 消息签名安全检测(仅限 EVM) |
| 5 | onchainos security approvals | 代币授权 / Permit2 授权查询(仅限 EVM) |
参考文档加载规则(必须遵守)
执行任何安全命令之前,必须先读取 skills/okx-security/references/ 中对应的参考文档。请勿依赖已有知识——务必先加载参考文档。
| 用户意图 | 首先读取此文件 |
|---|---|
| 代币安全、貔貅盘、此代币是否安全、代币安全、蜜罐检测、貔貅盘 | references/risk-token-detection.md |
| DApp/URL 钓鱼、此网站是否安全、钓鱼网站 | references/risk-domain-detection.md |
| 交易安全、交易执行前检测、签名安全、授权安全、交易安全、签名安全 | references/risk-transaction-detection.md |
| 授权、额度、Permit2、撤销、授权管理、授权查询、风险授权 | references/risk-approval-monitoring.md |
当工作流涉及多个命令(例如先执行 token-scan,再执行 tx-scan)时,执行每个命令前都要加载对应的参考文档。
与其他技能的集成
安全扫描通常是其他钱包操作的前置步骤:
- 使用合约代币执行
wallet send前:运行token-scan以验证代币安全性 - 使用 approve calldata 执行
wallet contract-call前:运行tx-scan以检查 spender - 与任何 DApp URL 交互前:运行
dapp-scan - 签署任何 EIP-712 消息前:运行
sig-scan
后续的 send/contract-call 操作请使用 okx-agentic-wallet 技能。