mcpField
F
feast-audit

feast-audit

github.com/feastmemeセキュリティ07 回インストール1 日前に更新
リポジトリ

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スクリプトの監査

戦略スクリプトはユーザーのお金を使って実行されるため、まず2段階の審査を通過する必要があります。どちらの審査もファイルのsha256に紐づいており、編集すると新しいファイルとして扱われ、新たな監査が必要です。

FLは、feast-leagueスキルと同様に、ランタイムのコマンドです。

node "${FEAST_LEAGUE_RUNTIME:-$HOME/.feast-league/runtime}/src/league/bin.mjs"

ステージ1:静的ルール(決定的)

FL audit <file.mjs>

ランタイムはファイルを解析します。実行することはありません。

ルール拒否の対象
A1ウォレットまたはプロセスへの直接アクセス:baw、子プロセス、process、ワーカー
A2あらゆる種類のインポート:import、import()、require、import.meta
A3ネットワーク:fetch、ソケット、feast.meme以外のホストへのURL
A4シークレット:キー形式の16進数、シードフレーズ形式の単語、APIキー、キーファイル
A5動的コードとグローバルへのアクセス:eval、Function、globalThis、constructor、__proto__、読み取れないキー
A6上限のないループ(while、上限のないfor、再帰)とタイマー
A7不正な形式:その他のエクスポート、15~3600秒の範囲外のティック、トップレベルのコード、64 KB超
A8buy、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 …"

次のいずれかの回答が実際に懸念される場合は拒否します:

  • ユーザーが求めた以上の取引を行う
  • 決済手段がない
  • 難読化されている
  • ユーザーが求めていない処理を行う

その後、ユーザーにスクリプトの動作と合格の可否を2文で伝えます。

その後

両方のステージに合格したスクリプトは、計画して開始できます(feast-leagueスキルを参照)。スクリプトはウォームアップ階層で実行されます。

  • 最初の5回の取引は0.001 BNBです
  • 2回連続で失敗した場合、またはハードリミットに達した場合は、スクリプトを停止してユーザーに通知します

現在のバイト列にいずれかの合格記録がないスクリプトは、ランタイムによって起動を拒否されます。

コメント