本文へ移動
cccskills
無料GitHub で公開日本語紹介

reproduce-bug

ローカルのコードをビルドし、報告された実行時やコンパイラの不具合を独立して再現します。実行ログと判定根拠を保存し、再現できたか、環境の問題で検証できないかを区別します。

原文原文の説明を見る

Use when a named runtime or compiler bug in a local repository needs independent reproduction.

インストール方法を見る

こんなときに便利

  • 報告された実行時不具合を再現したいとき
  • コンパイラの失敗を診断で確かめたいとき
  • 再現ログと記録を引き継ぎたいとき
  • 現象の不在と環境の不備を区別したいとき

日本語での紹介

できること

ローカルのリポジトリで、報告済みの実行時やコンパイラの不具合を独立して再現します。変更前にプロジェクト所定の方法でビルドし、対象となる入力と正常な比較用入力を試します。標準出力、標準エラー、終了状態、実行時間を保存し、再現結果を reproduce.json にまとめます。

こんなときに便利

修正に入る前に、報告された現象が実物で起きるか確認したいときに向いています。現象が確認できない場合と、ビルドや環境の問題で有効な検証ができない場合を区別するため、次の担当へ判断材料を渡せます。

使い方の例

  • 「この finding.json の実行時不具合を、ローカルの基準コードで再現して」
  • 「コンパイラが想定した診断を出すか確認し、ログを保存して」

注意点

patching-bugs の再現工程として、1件の finding.json とローカルの基準コードを用意します。記録の一覧作成には uv と付属の records.py を使います。実行時の検証では実際のビルド成果物と所定の到達マーカー、コンパイラの検証では対象の診断が必要です。終了コードだけで再現とは判定しません。不具合の発見や修正、ローカルで試せない主張の検証は対象外です。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md2.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Reproduce Bug

When to Use

Use for the reproduction step of patching-bugs with one finding.json and a local baseline checkout. Read the record contract. Before target commands, follow its project guidance.

When NOT to Use

Do not use for bug discovery, patching, or a claim that cannot be exercised locally. Report a blocker when the build or environment cannot exercise the claim.

Procedure

  1. Select failure_type from the record contract. Build the current baseline with the project's own command. Exercise the planned scoped inputs before any edit and retain their observations, including valid controls. Save raw stdout, stderr, exit status, and timing. If the behavior is absent with trustworthy evidence, report not_reproduced; if setup or observations are unreliable, report blocked.

  2. Runtime: exercise the built target_artifact with a PoC that records PATCH_LOADED as defined in the contract, then prints PATCH_REACHED immediately before the assertion. Exit nonzero for the bug, zero otherwise; a setup crash is inconclusive. Compile: record the target expected_diagnostic from the failed compiler invocation; use empty poc_argv and null target_artifact.

  3. Save any unchanged PoC source under reproduce/poc/ and raw receipts under reproduce/receipts/. Write reproduce.json with the baseline commit, command argument arrays, artifact path, observed result, outcome, and your agent identity. Set finding.status to reproduced or not_reproduced from the result. If reproduction is blocked, leave finding.status as hypothesis.

    Reproduce record schema:

{
  "schema_version": 1,
  "failure_type": "runtime",
  "outcome": "reproduced",
  "baseline_commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "build_argv": ["python", "build.py"],
  "poc_argv": ["python", "poc.py"],
  "target_artifact": "dist/app.py",
  "observed": "The PoC wrote outside uploads after PATCH_REACHED.",
  "blocker": null,
  "agent": "reproducer-1"
}
  1. Manifest the complete reproduce/ directory, including the PoC and record, using the record helper: run uv run --no-project <script> manifest <reproduce-step-dir>. Then check the record before handoff. State blocked with the actual failure when build or setup prevents a valid run.

Rationalizations to Reject

ShortcutRequired action
A unit test imitates the bug.Exercise the target compiler or built runtime artifact.
A nonzero exit proves reproduction.Require the target diagnostic, or runtime marker and assertion.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

address-sanitizer

無料概要あり

C/C++やunsafeを含むRustのテストで、領域外アクセスや解放済みメモリの使用を検出します。ビルド設定からクラッシュ報告の読み解きまで支援します。

  • C/C++のファジング中のメモリエラー検出
  • Rustのunsafeや外部呼び出しの検証
  • ASanのクラッシュ報告を読みたいとき
trailofbits/skills7,7042026年10月22日 更新

adjudicate-regression

無料概要あり

変更前後のソースと実環境での再現・独立検証の証拠を照合し、新たな不具合か、既存の問題や判定保留かを根拠付きで整理して判定記録に残すスキル。

  • 変更が新しい不具合を生んだか判定したいとき
  • 既存の不具合と新規の問題を区別したいとき
  • 証拠不足と未解決事項の整理
trailofbits/skills7,7042026年10月22日 更新

aflpp

無料概要あり

C/C++のプログラムに多様な入力を与えて不具合を探すテストを、AFL++で複数コアに並列化し、実行状況の確認からクラッシュの再現・調査まで支援するスキル。

  • C/C++の検査を複数コアで回したいとき
  • libFuzzerでの探索が停滞したとき
  • ファジングの進捗や安定性を確認したいとき
trailofbits/skills7,7042026年10月22日 更新

agentic-actions-auditor

無料概要あり

GitHub Actionsで動くAIエージェントへの不正な指示の混入や危険な権限設定を点検します。外部入力が届く経路を追い、根拠と重大度、修正案を報告します。

  • AIエージェントを使うCIの点検
  • IssueやPRからの指示混入経路の調査
  • サンドボックスやユーザー許可設定の確認
trailofbits/skills7,7042026年10月22日 更新

Algorandのスマートコントラクトを11種類の脆弱性パターンで点検し、権限や手数料、入力検証の問題を根拠・修正案付きで報告するスキル。

  • Algorandの監査前点検
  • TEAL・PyTealの取引検証レビュー
  • 報告された脆弱性の修正確認
trailofbits/skills7,7042026年10月22日 更新

atheris

無料概要あり

PythonコードやC拡張へ多様な入力を与えるファジングを導入し、予期しない例外やメモリ破損を探します。実行環境の準備からテスト用コードの作成、結果の読み取りまで支援します。

  • Pythonパッケージやパーサーのファジング
  • PythonのC拡張のメモリ破損調査
  • バイト列から型付きテスト引数を作りたいとき
trailofbits/skills7,7042026年10月22日 更新

trailofbits のスキルをすべて見る

このスキルの問題を報告する