C/C++やunsafeを含むRustのテストで、領域外アクセスや解放済みメモリの使用を検出します。ビルド設定からクラッシュ報告の読み解きまで支援します。
- C/C++のファジング中のメモリエラー検出
- Rustのunsafeや外部呼び出しの検証
- ASanのクラッシュ報告を読みたいとき
セキュリティ修正を修正前・修正後・差し戻し後の状態で独立に検証し、対象範囲の再現テストと実行記録から、修正の有効性や証拠の不足を整理します。
Use when a local security patch commit needs independent scoped and three-arm proof.
コミット済みのセキュリティ修正が、宣言した修正範囲で有効かを独立に検証します。修正前と修正後に同じ再現用コードとコマンドを使い、問題を起こす入力では失敗から成功に変わること、正常な入力では両方とも成功することを確認します。さらに修正を完全に差し戻し、元の失敗が戻ることも調べます。
修正担当者の結論とは別に、パッチの有効性を確かめたい場面に向いています。標準出力、エラー出力、終了コード、実行時間、再現用コードを保存し、確認できた不具合と証拠不足を区別します。対象外の入力など、検証で証明していない範囲も明記します。
元のコミット、最終修正コミット、repair_scope、変更していない再現用パッケージが必要です。未コミットの作業ツリーは検証せず、パッチ自体も編集しません。付属の検証スクリプトとuvを使います。タイムアウトや準備失敗は合格にせず、証拠の不足として扱います。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use the original baseline, final patch commit, declared repair_scope, and unchanged
reproduction package. Read the record contract. Do not
edit the patch or validate an uncommitted tree. Return failures for a new attempt.
Before target commands, follow its project guidance.
PATCH_CASE {"input": ..., "actual": ...} from the exercised input and observed
result, then print PATCH_REACHED as its final stdout line immediately before
the assertion. Representatives must fail on the
baseline and pass on the patch. Valid controls must pass on both. Keep the
baseline and patched stdout, stderr, exit status, elapsed time, command, and
harness source under receipts/. A timeout, setup failure, missing marker,
mismatched input, or ambiguous observation is an evidence gap. A trustworthy
patched failure is a finding. Never relabel a gap as a pass.reproduce.baseline_commit, and final patch_commit.
Require the baseline to fail, patch to pass, and complete baseline revert to
fail again. Require receipts/source.json to identify the pinned commits and
the reverted tree to equal the original baseline tree. Require the type's build
identity result. Retain all source-tree,
build, and execution receipts.prove.json and a final manifest covering it and every receipt. Run
uv run --no-project <script> manifest <prove-attempt-dir> and then
uv run --no-project <script> check <run-dir> with the validator.
Independently inspect the native proof assessment
and raw receipts before reporting a result. A complete proof has no findings or
gaps. Return exact failures and receipt paths to the orchestrator.{
"schema_version": 2,
"attempt": 1,
"failure_type": "runtime",
"baseline_commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"patch_commit": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"reverted": "pass",
"build_identity": "pass",
"hashes": {
"baseline": "1111111111111111111111111111111111111111111111111111111111111111",
"patched": "2222222222222222222222222222222222222222222222222222222222222222",
"reverted": "1111111111111111111111111111111111111111111111111111111111111111"
},
"reverted_hash_note": null,
"cases": [{
"check_id": "reported-input",
"argv": ["python", "receipts/case.py", "reported-input"],
"source": "receipts/case.py",
"runs": {
"baseline": {"exit_code": 1, "elapsed_ms": 15, "stdout": "receipts/case-base.stdout", "stderr": "receipts/case-base.stderr"},
"patched": {"exit_code": 0, "elapsed_ms": 14, "stdout": "receipts/case-patched.stdout", "stderr": "receipts/case-patched.stderr"}
}
}],
"project_checks": [{
"check_id": "focused-suite",
"kind": "suite",
"argv": ["pytest", "tests/test_upload.py"],
"baseline": null,
"patched": {"exit_code": 0, "elapsed_ms": 860, "stdout": "receipts/suite.stdout", "stderr": "receipts/suite.stderr"}
}],
"unproven": ["Inputs outside the declared boundary were not assessed."],
"agent": "prover-1"
}
For a bounded class, include at least two distinct failing representatives and a
valid control. The record must cover every planned case by unique check_id.
Use the same harness and command on both commits; do not reveal the side to the
harness or change expectations by side. Review the selected cases for relevance;
retained receipts establish only what those cases exercised.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
C/C++やunsafeを含むRustのテストで、領域外アクセスや解放済みメモリの使用を検出します。ビルド設定からクラッシュ報告の読み解きまで支援します。
変更前後のソースと実環境での再現・独立検証の証拠を照合し、新たな不具合か、既存の問題や判定保留かを根拠付きで整理して判定記録に残すスキル。
C/C++のプログラムに多様な入力を与えて不具合を探すテストを、AFL++で複数コアに並列化し、実行状況の確認からクラッシュの再現・調査まで支援するスキル。
GitHub Actionsで動くAIエージェントへの不正な指示の混入や危険な権限設定を点検します。外部入力が届く経路を追い、根拠と重大度、修正案を報告します。
Algorandのスマートコントラクトを11種類の脆弱性パターンで点検し、権限や手数料、入力検証の問題を根拠・修正案付きで報告するスキル。
PythonコードやC拡張へ多様な入力を与えるファジングを導入し、予期しない例外やメモリ破損を探します。実行環境の準備からテスト用コードの作成、結果の読み取りまで支援します。