Skip to content

[a-2] gasper spec の 01e チェックリストを作成・仕上げる #143

Description

@grandchildrice

📖 前提知識(共通)

SPECA は「仕様書 → 形式的なセキュリティプロパティ → 実装コードの監査」を自動化するパイプライン。フェーズは 01a(仕様収集) → 01b(サブグラフ抽出) → 01e(プロパティ生成) → 02c(コード位置解決) → 03(証明ベース監査) → 04(誤検知フィルタ)。エントリポイントは scripts/run_phase.py

M2 の全体像(#86)= 3トラック × 4フェーズ。トラックは「どの Lean を起点に 01e を作るか」で分ける:

  • a = gasper(コンセンサス層仕様。Lean 形式化は完了済み)
  • b = EL spec(Execution Layer 仕様起点)
  • c = vuln-dataset(NyxFoundation/ethereum-vuln-dataset の critical/high 実バグ起点)

各トラック共通のフェーズ: ①Lean形式化 → ②01e作成 → ③全クライアント監査 → ④Kurtosis再現 → 統合レポート(2-C)。

関係リポジトリ:

repo 役割 言語/実行
NyxFoundation/speca パイプライン本体 Python 3.11 / uv。worker は Claude Code CLI
NyxFoundation/speca-lean4-plugin Lean 形式化 + 01e emit(Lean の実行場所) Lean 4 / lake + Python driver
NyxFoundation/ethereum-vuln-dataset 11クライアントの過去実バグ集(STRIDE/CWEラベル付き) CSV
NyxFoundation/kurtosis-harness findings の devnet 再現 Kurtosis

セットアップ(NyxFoundation/speca): uv sync / npm i -g @anthropic-ai/claude-code / bash scripts/setup_mcp.sh。詳細は CLAUDE.md


🎯 Goal

gasper(コンセンサス層)の proved Lean 定理を背骨に、実装即応で汎用な gasper 01e チェックリストを作り、品質評価をパスさせて凍結する。これがトラック a の監査(a-3 #148)への入力になる。

📍 このタスクの位置づけ

トラック a / フェーズ②。①(gasper-lean4 の Lean 形式化)は完了済み。ここでその定理群を「監査者がコードにそのまま当てられるチェックリスト」に落とす。eval は recall(既知バグの再現率)ではなく、LLM-as-judge による品質評価であることに注意(内容一致ではなく "同等品質" を測る)。

🛠 作業場所

📋 手順

  1. 現状の第1ドラフト CHK-15 を起点にする(既に judge バー到達: CHK-15=4.04 / solodit=2.50)。
  2. 別系統モデル(例: GPT 系)で judge を再実行し、CHK-15 と solodit の相対順位が保たれるか確認する(自己選好バイアスの検証。現状は Claude が Claude 生成物を採点しているため)。
  3. improve ループを実 LLM で1回完走させる。現状 sonnet/opus とも improve プロンプトが cyber safeguard に refuse される → self-hosted dispatch 経由、または refuse されないプロンプト設計に組み直す。
  4. バー到達が別系統でも確認できたら、gasper 01e を確定版として凍結する。

📦 成果物

  • 何を: 品質バーを(別系統込みで)超えた gasper 01e チェックリスト
  • どこに: emit-01e --property-provider leanNyxFoundation/specaoutputs/01e_PARTIAL_*.json として再現可能に emit。CHK-* は theorem_map.json が正本
  • 形式: 01e スキーマ準拠の properties(lean_status, assertion, text 等)

✅ 完了条件

⚙️ 制約

🔗 参考

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

M2Milestone 2 grant workleanLean 4 formal verificationtrack:2-DDeliverable 2-D: SPECA x Lean integration

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions