Skip to content

ファジング(Fuzz Testing/Fuzzing)

読み方:ふぁじんぐ英語表記:Fuzz Testing / Fuzzing

カテゴリ
セキュリティ・運用
用途
安全管理
一覧へ戻る
アイペンちゃんが用語の本から知識を整理し、確認しているイラスト

この用語の意味

ファジング(Fuzz Testing/Fuzzing)は、ソフトウェアへ想定外・不正・大量など多様な入力を自動で与え、クラッシュや異常動作を見つけるテスト手法です。人が思いつきにくい入力も繰り返し試し、問題が起きる条件を探すことが特徴です。

何ができるか

ファイルの読み込み、通信データの解析、APIの入力処理などに対して、境界値や壊れた形式を含む入力を試せます。クラッシュ、応答停止、メモリ破損などを記録し、通常のテストでは見つけにくい不具合や脆弱性の候補を発見できます。ただし、異常が見つからないことは安全性の証明ではなく、クラッシュがすべて悪用可能な脆弱性という意味でもありません。

実際に使うために必要なもの

  • 対象プログラムと、試したい入力の入口
  • 正常な入力例や、入力形式を表すテストデータ
  • クラッシュ、時間超過、メモリ異常を検知する仕組み
  • 本番データや外部サービスへ影響を出さない隔離環境
  • 見つかった異常を再現し、修正の優先度を判断する担当者

小さく試す運用例

まず、画像や文書を読み込む一つの機能をテスト用環境へ切り出します。正常なサンプルを起点に入力を変化させ、短時間のファジングを実行します。異常が出たら同じ入力で再現できるかを確認し、原因、影響範囲、修正後の再テストを記録します。外部APIの呼び出しやメール送信などの副作用は停止した状態で試します。

人が確認すること・注意点

  • 本番環境や許可のないシステムへ大量の入力を送らない
  • クラッシュログやテストデータへ秘密情報が残らないようにする
  • 発見件数だけで品質を判断せず、到達した処理や試した入力の範囲も確認する
  • AIが入力生成や原因整理を補助しても、脆弱性かどうかと修正優先度は人が判断する

関連する事例・テンプレート

AIで検査工程を支援する考え方はAIエージェント型脆弱性検査、安全に試すための隔離環境はサンドボックスと関係します。ファジングはこれらと組み合わせられますが、同じ意味ではありません。

開発・規格と使用条件

NISTはFuzz Testingを、無効・予期しない・ランダムなデータを入力して例外やクラッシュなどを監視する自動テスト手法として整理しています。GoogleのOSS-Fuzzはオープンソースソフトウェア向けの継続的ファジング基盤です。GitHub Security Labは2026年9月24日、AIエージェントでテスト対象の理解やファジング作業を支援する事例を公開しました。個別サービスの機能や利用条件は各公式資料で確認します。