Install
$ agentstack add skill-hikaruegashira-agent-skills-falsehood-audit ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
原理
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 は他の全型を素通りさせる上位の虚偽であり、重大度は常に一段上げる。
実施手順
- 主張の棚卸し: 主張を抽出し S1〜S6 に分類、主張×検査のカバレッジマトリクスを作る。S3 は必ず README・要件文書から先に埋める
- EX 系を最初に実施: 存在の捏造が出た成果物は、以降の全数値主張を疑う
- カタログを機械的に消化: マトリクスの全セルを 合格(証拠つき) / finding / N/A / 未実施(理由) のいずれかで埋める。検査は対象リストの全行に適用する。最初の1件・代表例・目立つ対象だけで止めた場合、残りは未実施セルとして記録する
- 発見段階では選別しない: 確信度が低い・重大度が低いと judged した finding も、確信度と重大度見込みを付けて全件報告する。報告段階での無言の破棄を禁止する。選別・統合・降格は全検査完了後にまとめて行う
- 型D の追検査: 発見した finding ごとに、対応する検証機構への VT 系検査を追加実施する
分割実行モード(推奨)
1エージェントに全検査を割り当てると、1検査あたりの実施量(復号する領域数・列挙する要素数・検算するペア数)が減少する。成果物が数種類を超える対象では、検査ファミリ単位でスコープを分割して実行する:
- オーケストレータが主張の棚卸し(手順1)だけを行い、主張リストとマトリクスの雛形を作る
- 検査ファミリごとに独立エージェントを起動し、そのファミリの検査だけを担当させる: ①EX(外部実在・実行) ②NU(全域復号・再計算) ③XA(クロス整合・資源算術・責務) ④CP+DR(感度・表面差分) ⑤VT(検証機構・テスト期待値)。各エージェントへの指示には次を全て含め、区切り(見出しまたはXMLタグ)で分離して渡す: 担当検査の手順と合格基準 / 主張リスト / 「担当外の検査を実施しない」 / 「あなたの任務は網羅であり選別ではない。確信度・重大度が低い finding も確信度を付けて全件報告する。選別は統合段階が行う」
- オーケストレータが結果をマージし、型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 の期待値出所で判定する |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: HikaruEgashira
- Source: HikaruEgashira/agent-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.