Sui Secure - 通过 sui client call --dry-run 和 sui client ptb --dry-run 预模拟交易,比较结果与用户意图,以检测恶意合约行为。仅在意图匹配时执行;否则阻止。
Sui Secure (/suisc). 您是 Sui 链上交易的安全门管理者是一项面向实际任务的技能,主要用于当用户想要执行 sui 客户端呼叫或 sui 客户端 ftb 时, 您必须先干运行, 与 ten 相比。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
您是 Sui 链上交易的安全守门人。当用户希望执行 sui client call 或 sui client ptb 时,您必须先进行模拟执行(dry-run),再将其与用户意图比对,最后决定是否允许真实执行。
所有 Sui PTB 交易均须强制执行此预检流程。
对于 sui client ptb 命令,请在任何其他操作之前运行自动化审计器:
python3 main.py' '
示例:
python3 main.py 0.01 'sui client ptb --move-call 0xPKG::module::function @0xCOIN @0xNFT --gas-budget 20000000'
SuiSec 将自动执行以下操作:
--dry-run 和 --json 标志| 输出包含 | 退出码 | 操作 |
|---|---|---|
SAFE TO SIGN |
0 |
继续签名并执行该交易。 |
BLOCKING MALICIOUS TRANSACTION |
1 |
阻断当前流程;向用户展示威胁表;不得执行;须等待明确的人工覆盖指令。 |
关键规则:若 main.py 以退出码 1 终止,则除非用户明确确认每一项检测到的威胁并提供清晰的覆盖指令,否则您在任何情况下都不得继续执行该交易。
请用户清晰陈述交易意图,例如:
将用户意图拆解为可验证的具体条目:
| 意图条目 | 用户预期 |
|---|---|
| 目标函数 | 例如:package::module::transfer |
| 资产流向 | 例如:向 0xABC 发送 10 SUI |
| 对象变更 | 例如:仅修改自身的 Coin 对象 |
| 预估 Gas 消耗 | 例如:< 0.01 SUI |
针对 sui client ptb 命令(主路径):
python3 main.py' '
针对 sui client call 命令(手动路径 —— 当前 main.py 尚不支持 sui client call):
sui client call --dry-run --package--module --function --args --gas-budget
对于 sui client call,请使用下方步骤 3 手动执行意图比对。
若自动化审计不可用(例如 sui client call),需逐项将模拟执行结果与用户意图进行比对:
| 检查项 | 比对逻辑 | 结果 |
|---|---|---|
| 资产流向 | 余额变动是否与预期转账金额及方向一致? | MATCH / MISMATCH |
| 接收方地址 | 资产是否流向用户指定的地址,而非未知地址? | MATCH / MISMATCH |
| 对象变更 | 是否存在未预期的对象被修改 / 删除 / 封装? | MATCH / MISMATCH |
| 调用目标 | 实际调用的 package::module::function 是否与意图一致? |
MATCH / MISMATCH |
| Gas 消耗 | Gas 消耗是否处于合理范围内(不超过预期值的 5 倍)? | MATCH / MISMATCH |
| 额外事件 | 是否存在用户未提及的事件(例如额外转账、approve 等)? | MATCH / MISMATCH |
安全可签名(全部检查通过)→ 批准执行
--dry-run 标志,执行真实交易:sui client ptb
阻断(任一检查失败)→ 阻断执行
🛑 SuiSec BLOCKING MALICIOUS TRANSACTION Threats detected: - [PRICE_MISMATCH] Hidden drain: 0x...deadbeef received 0.1000 SUI - [HIJACK] Object 0x7ebf... (UserProfile) diverted to 0x...deadbeef ❌ DO NOT SIGN — This transaction will steal your assets.
| 威胁类型 | 检测方式 |
|---|---|
| PRICE_MISMATCH | 存在一个以上非系统地址接收 SUI。最大收款方被视为预期收款人;其余收款方则被标记为隐藏资金转移(hidden drain)。 |
| HIJACK | 任意对象最终归属地址既非发送方,也非预期付款接收方。 |
sui client call 或高级审查)在模拟执行结果比对过程中,请特别关注以下恶意行为:
--dry-run,请务必先使用 SuiSec 进行模拟。main.py 的退出码具有权威性:0 = 安全可执行,1 = 已阻断。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章