关于 feast-audit
feast-audit 是在 Feast League 策略脚本使用用户资金运行前进行审计的技能。它结合绑定文件 SHA-256 的确定性静态检查和依据清单的模型审阅,只有两阶段均通过才允许启动。
主要功能
- 01执行确定性静态审计规则
- 02将审计阶段绑定到文件 SHA-256
- 03依据清单审阅脚本
- 04记录通过或拒绝结论
- 05两阶段均通过后才允许启动
适用场景
- 01执行前检查策略脚本
- 02识别不安全的交易行为
- 03编辑脚本后重新审阅
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ feastmeme/ feast-agent --skill feast-audit安装后在 Claude Code 中输入/feast-audit确认已加载。
附带文件references/checklist.md
详细介绍
Feast 脚本审计
策略脚本会使用用户的资金,因此必须先通过两阶段审核。两阶段审核都绑定到文件的 sha256:任何编辑都会生成一个新文件,需要重新审核。
FL 是运行时的命令,用法见 feast-league skill:
node "${FEAST_LEAGUE_RUNTIME:-$HOME/.feast-league/runtime}/src/league/bin.mjs"
阶段 1:静态规则(确定性)
FL audit <file.mjs>
运行时会解析文件,但绝不会运行它。
| 规则 | 拒绝条件 |
|---|---|
| A1 | 任何直接访问钱包或进程的行为:baw、子进程、process、workers |
| A2 | 任何形式的导入:import、import()、require、import.meta |
| A3 | 网络访问:fetch、sockets、指向 feast.meme 以外主机的 URL |
| A4 | 密钥:形似密钥的十六进制字符串、形似助记词的单词、API 密钥、密钥文件 |
| A5 | 动态代码和访问全局对象:eval、Function、globalThis、constructor、__proto__、无法读取的键 |
| A6 | 无界循环(while、无界 for、递归)和计时器 |
| A7 | 形状不符合要求:其他导出、tick 不在 15–3600 s 范围内、顶层代码、超过 64 KB |
| A8 | 使用除 buy、sell、launch、read.*、state、params、log 之外的任何 api 成员 |
| A9 | (警告)字面量大小超过每笔交易的限额 |
如果拒绝:
- 列出每一处命中及其规则和行号。
- 停止。
- 如果脚本是你编写的,主动提出修复并重新审核。不要试图辩称某条规则不适用。
阶段 2:你的模型审查
开始之前:
- 对照 references/checklist.md,亲自通读整个文件。
- 以书面形式回答每个问题,每个问题写几行即可。
- 站在用户一边。你要找出可能会用用户自己的资金做出令他们意外之事的脚本。
- 自己编写的代码也不例外。
记录审核结论:
FL audit <file.mjs> --model-verdict pass --notes "M1: … M2: … M3: … M4: … M5: … M6: … M7: … M8: …"
FL audit <file.mjs> --model-verdict refuse --notes "M2: buys on every tick with no condition …"
出现任何实质性顾虑时,拒绝通过:
- 交易量超过用户要求
- 没有退出机制
- 经过混淆
- 执行了用户未要求的操作
然后用两句话告诉用户脚本的用途,以及是否通过审核。
接下来
通过两个阶段审核的脚本可以进行规划并启动(见 feast-league skill)。脚本会在热身级别运行:
- 前 5 笔交易的金额为 0.001 BNB
- 连续失败两次,或触及任何硬性限额,都会停止脚本并通知用户
如果脚本当前的字节内容未通过任一阶段,运行时将拒绝启动它。
评论
支持 Markdown