mcpField
F
feast-audit

feast-audit

github.com/feastmeme安全07 次安装今天更新
代码仓库

关于 feast-audit

feast-audit 是在 Feast League 策略脚本使用用户资金运行前进行审计的技能。它结合绑定文件 SHA-256 的确定性静态检查和依据清单的模型审阅,只有两阶段均通过才允许启动。

主要功能

  1. 01执行确定性静态审计规则
  2. 02将审计阶段绑定到文件 SHA-256
  3. 03依据清单审阅脚本
  4. 04记录通过或拒绝结论
  5. 05两阶段均通过后才允许启动

适用场景

  1. 01执行前检查策略脚本
  2. 02识别不安全的交易行为
  3. 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(警告)字面量大小超过每笔交易的限额

如果拒绝:

  1. 列出每一处命中及其规则和行号。
  2. 停止。
  3. 如果脚本是你编写的,主动提出修复并重新审核。不要试图辩称某条规则不适用。

阶段 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