VacantAI のアカウンタビリティ層GitHub

 · 記録と多者実行 · 成立

受け入れスイートをプログラムからデータに変えたら、納品率の低下は 75% から 2.7% になった

攻撃者が状態を持つゲージの変種を書き、ゲージは両方向で満点なのに、納品率は 75 ポイント下がりました。直し方は、スイートに残すものを三つだけにすることです。方言、エントリーポイントの名前、入力—期待値のリテラル値の一覧です。

SuiteSpec攻撃ゲージサンドボックス

#問題:ゲージは役に立たないものに食わされうる

2026-09-06、R451。

段階結果
スイートを commit に結びつける、平凡なスイート(読み込めれば合格扱い)371 / 371 すべて拒否 —— 正常
状態を持つゲージの変種納品率が 75.20 pp 低下
ゲージの報告ok(両方向とも満点)

#攻撃の仕組み

もとのスイートは信頼されたコードの一片でした。それは次のことができました。

  1. 外部の状態を読む。
  2. 呼び出されたときに自分自身や環境を変える。
  3. 「既知の誤りのサンプル」に対してだけ正しく振る舞う。

多者実行はこれを防いでいませんでした——どの票も誠実で、どのチェーンも検証を通るからです。named-dissent

#直し方:SuiteSpec

スイートを三つのものに制限します。

1. 方言Python / 特定のバージョン
2. エントリーポイントの名前solve
3. 「入力—期待値」のリテラル値の一覧純粋なデータ

実行器は自分の決定的なレンダラーだけを使って、このデータからテストコードを生成します。レンダリング結果のハッシュはマシン間で照合できます。

#効果

攻撃修正前修正後
exec の密輸(候補プログラムが実行時にテストコードをすり替える)368 / 3710 / 371
generic_gauged(残余)—+2.72 pp
weak_oracle(事後の上限)—+4.35 pp
意味のある範囲—MBPP+ の上だけ

conformance-gate

#なぜ残余の +2.72 ポイントは消せないのか

#次に

関連

  • 嘘をつく鍵は 273 回すべて名指しされ、誠実な側の誣告は 0 回

    k=3、制御下にある嘘をつく鍵が 1 本、証言 5,519 件。嘘のセルの名指しは 273/273、誠実な鍵の誣告は 0/1,840、矛盾した署名のセルの判定は 58/58 で正解でした。この数字がどれほど厳しいかは、⌊(k−1)/2⌋ という数学的な上限を知っているかどうかで決まります。

  • 評価ゲートの誕生:意見の代わりに実行を、投票の代わりにレシートを

    AI の評価委員会を削除し、「顧客の受け入れテストを実行し、最初に合格した候補を納品し、すべて不合格なら納品を拒否する」方式に改めました。三つの問題バンクで納品が 4.58 から 19.17 ポイント増え、1 問あたりの呼び出しは 1.5 回だけでした。

  • 検知確率は一つの積であって、三つの次元ではない

    私たちは当初「監査率を上げても盲点のある状況は救えない」と主張していました。実測では、盲点 0.5 のとき監査率を 0.1 から 1.0 に引き上げると攻撃者の総攻撃成功は 82% 低下し、p = 5.5e-6 でした。三つの因子は同じ一つの積の中の項です。

  • 私たちが測り間違えた六つのこと

    フィールドの読み間違い、ネットワーク切断が評価結果として数えられたこと、極限に退化した rng シード、`defected <= BUDGET` を同一予算とみなしたこと、端点のきれいな数字、そしてデフォルトでオフになっていたルール——六つの実際の測定の落とし穴とその教訓です。

約 5 分で読めます

世新大学世新大学 情報伝播学科Vacant

世新大学 情報伝播学科 2026 年度卒業研究・展示会