agentsclimarketplace

Falsehood audit

Skill HikaruEgashira/agent-skills/meta/skills/falsehood-audit

AI 生成(vibecoding)成果物に潜む「それっぽい虚偽」を、固定された検査カタログ(検査ID・手順・ 合格基準つき)で系統的に検出する監査規格。主張面を列挙し、各主張面に対応する検査を 機械的に適用し、カバレッジマトリクスに全セルの実施状態を記録する。 内部整合(テスト全パス・schema valid・CI green)は証拠として認めない。 Trigger: 虚偽検出, ハリボテ検出, vibecoding 監査, 本物か確認, それっぽい嘘, fabrication audit, AI生成コード 検証, 捏造チェック.From its SKILL.md

Install
npx -y skills add HikaruEgashira/agent-skills --skill falsehood-audit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

13.4 KB, ~5.4k tokens by cl100k_base, as published. Nobody here has run it

原理

vibecoding では実装・テスト・ドキュメント・設定を同一プロセスが同じ誤解のもとで生成するため、成果物同士の一致は正しさの証拠にならない(トートロジー)。したがって全検査は、リポジトリのにある基準 — 実ツールの挙動、一次ソース、独立な再計算、入力摂動に対する観測 — とだけ突き合わせる。

サブエージェントや過去セッションの「実行して確認した」という報告も内部整合の一種。追実行するまで 未検証

合格の証拠水準は finding と同一。 合格と記録するセルにも、実施した具体的な入力・コマンド・観測を残す。証拠なしの合格は未実施として扱う。

全 finding に認識論ラベルを付ける: 事実(自分が実行・観察した) / 推測(知識ベース。根拠を1行添える) / 未検証(検証不能。合格に数えない)。

主張面の列挙(スコープ定義)

監査対象は「コード」ではなく「主張」。次の6クラスに分類し、検査のスコープ表を作る。

クラス主張の形棚卸しの源
S1 存在この識別子・参照・依存は実在するコード・設定・文書中の全外部参照
S2 数値この量・単位・合計・余裕は正しい設定・schema・生成物中の全数値
S3 能力このシステムは X ができるREADME・要件文書・製品説明から抽出する。実装や設定から逆算しない(実装から拾うと「実装できていない能力」が主張リストから消え、監査対象外になる)
S4 結合A は B に接続され、影響を与える名前・値を共有する成果物の全ペア
S5 検証X は検証済み・テスト済みであるテスト・CI・validator・文書の検証言明
S6 記述文書は実体を正しく記述している全文書

検査カタログ

各検査は 手順 と 合格基準 が固定されており、対象があれば必ず実施する。実施できない場合はカバレッジマトリクスに理由つきで 未実施 と記録する(黙って省略しない)。

ID検査対象手順合格基準
EX-1参照実在S1識別子・型番・API・引用を一次ソースと突合全参照が一次ソースで確認できる
EX-2実行受理S1,S3生成されたコマンド・設定・出力物を実ツールに与える実ツールが受理する。失敗する場合、失敗箇所が参照解決より後(構文は本物)
NU-1全域独立復号S2生成物(バイナリ・エンコード済み出力・シリアライズ結果)の全域を別実装で復号し、全フィールドを解釈する。主張されたフィールドの照合だけでは不合格。理由: 生成物のうちどの主張にも対応しない領域は、主張の棚卸しから検査対象に入らない。したがって検査対象は主張の有無に関係なく生成物の全バイト・全フィールドとする全領域の独立解釈が仕様および他の全フィールドと整合
NU-2集計再計算S2合計・マージン・比率を生データから検算。ファイル内の集計済みフィールドを信用しない。宣言値が規格・仕様のフィールドに符号化される予定のものは、そのフィールドの単位刻み・上限で符号化可能か(値÷単位が整数か、上限内か)を検算する検算と一致し、宣言された制約を満たし、符号化先フィールドで表現可能
XA-1宣言-消費整合S4ある値を宣言する成果物と、それを前提に消費する成果物のペアを全列挙し、ペアごとに整合を検算全ペアで宣言が消費要求を満たす
XA-2資源算術S3広告された能力・モード・フォーマットごとに、その実現に必要な資源(帯域・クロック・電力・容量・レート・精度)を第一原理から計算し、経路上の宣言値・物理限界・仕様上限と比較する全能力について必要資源 ≤ 経路上の最小宣言値
XA-3責務担当S3主張された能力ごとに、入力から出力までの処理経路を構成要素の列として列挙し、各要素を特定する。経路には実行可能なコードだけでなく、計画段階の構成要素(部品・ファームウェア・フォーマット変換・エンコード/デコード段)を含む全サブシステムを通しで含める。担当が特定できない処理段が1つでもあれば finding全能力の全処理段(全サブシステム)に担当構成要素が存在する
CP-1感度S4全ての操作可能要素(UI 選択肢・CLI フラグ・設定キー・環境変数)を機械的に列挙して表にし、各要素について値を変えて出力の差分を観測。列挙してから検査する — 目についた要素だけ試すのは不合格全要素で変更が出力に到達する。差分ゼロの結合は dead
VT-1変異S5実装を意図的に壊し、検証機構が失敗するか観測検証が失敗に転じる
VT-2検証範囲差分S5「検証済み」と主張される範囲と、検証機構が実際に実行する範囲の diff主張範囲 ⊆ 実行範囲
VT-3契約遵守S5検証機構自体に不正・境界入力を与える。実施した入力を全件、モジュールごとに記録する(型ごとに: null・スカラ・空・巨大・非有限)契約通りの拒否(クラッシュは契約不履行)。入力記録のない合格は未実施扱い
VT-4期待値出所S5テストの期待値(アサートされる定数・golden 値・スナップショット)ごとに出所を分類する: ①外部仕様・正典データ ②実装と独立な計算 ③実装の出力から採取。VT-1 はこのクラスを検出できない(実装と同じ誤りを検証するテストは変異で正しく失敗する)ため、独立に実施する中核の能力主張(S3)を支えるテストに①または②由来の期待値が存在する。③のみのテストは回帰検出として記録し、正しさの証拠から除外する
DR-1表面-記述差分S6公開表面(CLI/API/設定キー)の機械的列挙と文書の diff文書が表面と一致

虚偽の型(finding の分類)

検出された虚偽は生成メカニズムで分類する。検査 ID と型の対応は多対多。

名称生成メカニズム主な検出元
0存在の捏造実在しない参照の幻覚EX-1, EX-2
A形式準拠・意味違反語彙は正しいが換算・符号化規則の適用を誤るNU-1, NU-2
B成果物間の相互矛盾成果物が互いを制約として読まずに生成されるXA-1, XA-2, XA-3
C名前だけの結合語彙の共有で接続を偽装、データフロー不在CP-1
D検証の演出検証機構が失敗しえない、主張範囲 > 実行範囲、または期待値が実装由来で正しさを検証していないVT-1, VT-2, VT-3, VT-4
E記述ドリフト文書が実体に追随しないDR-1

型A/B/C の finding を得たら、それを素通りさせた検証機構を VT 系で必ず追検査し、型D の併発を対で報告する。型D は他の全型を素通りさせる上位の虚偽であり、重大度は常に一段上げる。

実施手順

  1. 主張の棚卸し: 主張を抽出し S1〜S6 に分類、主張×検査のカバレッジマトリクスを作る。S3 は必ず README・要件文書から先に埋める
  2. EX 系を最初に実施: 存在の捏造が出た成果物は、以降の全数値主張を疑う
  3. カタログを機械的に消化: マトリクスの全セルを 合格(証拠つき) / finding / N/A / 未実施(理由) のいずれかで埋める。検査は対象リストの全行に適用する。最初の1件・代表例・目立つ対象だけで止めた場合、残りは未実施セルとして記録する
  4. 発見段階では選別しない: 確信度が低い・重大度が低いと judged した finding も、確信度と重大度見込みを付けて全件報告する。報告段階での無言の破棄を禁止する。選別・統合・降格は全検査完了後にまとめて行う
  5. 型D の追検査: 発見した finding ごとに、対応する検証機構への VT 系検査を追加実施する

分割実行モード(推奨)

1エージェントに全検査を割り当てると、1検査あたりの実施量(復号する領域数・列挙する要素数・検算するペア数)が減少する。成果物が数種類を超える対象では、検査ファミリ単位でスコープを分割して実行する:

  1. オーケストレータが主張の棚卸し(手順1)だけを行い、主張リストとマトリクスの雛形を作る
  2. 検査ファミリごとに独立エージェントを起動し、そのファミリの検査だけを担当させる: ①EX(外部実在・実行) ②NU(全域復号・再計算) ③XA(クロス整合・資源算術・責務) ④CP+DR(感度・表面差分) ⑤VT(検証機構・テスト期待値)。各エージェントへの指示には次を全て含め、区切り(見出しまたはXMLタグ)で分離して渡す: 担当検査の手順と合格基準 / 主張リスト / 「担当外の検査を実施しない」 / 「あなたの任務は網羅であり選別ではない。確信度・重大度が低い finding も確信度を付けて全件報告する。選別は統合段階が行う」
  3. オーケストレータが結果をマージし、型D追検査と重大度判定・重複統合・低確信度 finding の採否を行う。合格セルの証拠が欠けていれば未実施に降格させる

重大度

重大度基準
Critical型0、または型D(検証機構への信頼全体を毀損)
High中核の能力主張(S3)を無効化する型A/B
Medium周辺主張の型A/B/C
Low型E、および実害が運用で回避可能なもの

出力フォーマット

# Falsehood Audit: <対象>
## カバレッジマトリクス
| 主張(Sクラス) | 適用検査 | 結果(合格/finding/N-A/未実施+理由) |
## Findings
| ID | 検査 | 型 | 重大度 | 確信度 | ラベル | 内容 | 再現手順 |
## 合格項目(根拠つき)
| 主張 | 検査 | 実施した入力・コマンド | 観測結果 |
## 未実施・未検証
<何が・なぜ。合格に数えない>

「虚偽ゼロ」と報告してよいのは、マトリクスの全セルが 合格 / N/A で埋まった場合のみ。未実施セルが残る限り、結論は「実施範囲では検出なし」。

アンチパターン

パターンなぜ失格
テスト全パス・CI green を根拠に合格判定内部整合はトートロジー
実行報告の伝聞を追実行せず採用未検証 のままの断言
encode したコードで decode して「一致」NU-1 違反。同一実装の往復は検査ではない
主張されたフィールドだけ照合して生成物を合格NU-1 違反。未主張領域が監査から漏れる
能力主張を実装・設定から逆算して棚卸し実装されていない能力が主張リストから消える
単項チェックの validator を XA 系の証拠と誤読相互矛盾はフィールド存在チェックを素通りする
列挙表を作らず一部の操作可能要素のみ感度検査CP-1 の手順違反。検査した要素の選択基準が記録されず、未実施セルが消える
証拠のない合格セル合格の捏造。finding と同じ証拠水準を要求する
マトリクスの未実施セルを記載せず省略「実施範囲では検出なし」が「虚偽ゼロ」として読まれる。監査自体の VT-2 違反
構文チェックのみで「動作確認済み」と報告監査レポート自体が型D になる
低確信度・低重大度の finding を報告せず破棄発見段階の任務は網羅。選別は統合段階の責務であり、無言の破棄は検出漏れと区別できない
変異でテストが失敗することを「テストが正しさを検証している」の証拠にするVT-1 が確認するのは失敗可能性のみ。期待値が実装由来なら、誤った振る舞いを忠実に検証するテストも変異で失敗する。正しさの検証は VT-4 の期待値出所で判定する

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.