Mayhem コード テスト チュートリアル¶
ビギナー ビギナー
Mayhem を初めてお使いですか? ようこそ。このチュートリアルでは、Mayhem コード テストの基本およびターゲットのセキュリティ テストをすばやく開始する方法を紹介します。
⚡ 概要¶
Mayhem およびコード テストの概要を説明します。
⚡ Executing Mayhem Runs¶
- Web UI テスト: Mayhem の Web ユーザー インターフェイスを使用してコード テストを実行します。
- CLI テスト: Mayhem のコマンド ライン ユーザー インターフェイスを使用してコード テストを実行します。
- Docker ターゲットのテスト: Mayhem で Docker パッケージ化されたターゲットのコード テストを実行します。
- 非 Docker ターゲットのテスト Mayhem で Docker パッケージ化されていないターゲットのコード テストを実行します。
上級 上級
Mayhem ランを実行できましたか? すばらしい! 以下の手順に従って Mayhem ランの構成方法を学びましょう。
⚡ Configuring Mayhem Runs¶
- ターゲット入力メソッド: さまざまな入力メソッドを使用してターゲットのコード テストを実行します。
- OSS ファザー エンジン: さまざまなオープンソースのファザー エンジンを使用してターゲットのコード テストを実行します。
エキスパート エキスパート
基本的な事項はこれで終わりです。アプリケーションがより複雑で、カスタム ファザーが必要であったり、テスト ドライバーや libprotobuf などのサードパーティ製コンパイラを使用して、テストをいっそう効率化する必要があったりする場合もあるでしょう。より複雑なコード テスト シナリオで Mayhem を使用する方法を学びましょう。
⚡ Mayhem for Power Users¶
- Mayhem とテスト ドライバー : テスト ドライバーを使用してコード テストを実行します。
- tinyxml 向けテスト ドライバー:
tinyxml
ライブラリに対応したソースベースのテスト ドライバー サンプルをひととおり学習します。 - ハードウェア テスト: ハードウェア依存関係に対応するためのテスト ドライバーを作成します。
- 共有ライブラリがある場合のテスト: 共有ライブラリに対応するためのテスト ドライバーを作成します。
- LibFuzzer を使用したテスト: libFuzzer スタイルのテスト ドライバーを作成します。
- Mayhem を使用した OSS-Fuzz ターゲットのテスト : Mayhem を使用して Google の oss-fuzz ターゲットをテストします。
- バイナリのパッチ: ソース コードが存在しない場合にテストを実行しやくすするためにバイナリ アプリケーションを変更します。
- ファームウェア テスト: ファームウェア バイナリを抽出し、テスト ドライバーを作成し、パッケージ化し、テストします。