製品紹介
Mayhem for Codeとは
自律的にソフトウェアのバグや脆弱性を検出するコードファジングツール

Mayhem for Code(以下、Mayhem)は、開発者の労力やスキルに依存せず、バグや脆弱性の検出と高いカバレッジを効率的に実現します。「テストデータの自動生成」や「偽陽性ゼロでのバグの検出」、生成したテストデータを用いた「回帰テストの自動化」の運用など、製品の機能をご紹介します。
Mayhem for Codeの主な機能
テストデータの自動生成
シンボリック実行エンジンとフィードバックループを組み合わせた独自のファジング技術を使用し、高精度なテストケースの生成とテストの実行を自動的に繰り返すことで、カバレッジを継続的に拡大しながら、プログラムの奥深くに潜むバグや脆弱性を発見します。テスト作業の負荷を低減しつつ、バグの検出や高いカバレッジを実現することができます。

継続的に分析し、 予期しない欠陥を発見
Mayhemは、自律的なテスト実行を繰り返し行い、プログラムの奥深くのバグを検出します。 クラッシュ、メモリ リーク、および潜在的な脆弱性を示す異常のパターンを識別します。
- 毎秒数百のテストを自動的に作成して実行し、未実行のパスを減らしていきます。
- シンボリック実行とガイド付きファジングを用いた機械学習にて、コードカバレッジを継続的に拡大します。
- 継続的なテストをバックグラウンドで実行し、ツール任せで新たな欠陥の検出、カバレッジの拡大を実現します。

検出されたセキュリティ脆弱性に偽陽性が含まれない
膨大なテストケースを自動生成し、網羅的なテストによりバグ・脆弱性を検証します。実際にアプリケーションを実行してバグ・脆弱性の検証を実施するため、報告されるバグ・脆弱性について、開発者は疑陽性を考慮する必要がありません。
<検出できるバグを抜粋>
- バッファオーバーフロー
- 境界外アクセス
- ゼロ除算
- NULLポインター逆参照
- 未初期化変数の使用 など

検出された欠陥に対する回帰テストを自動化
Mayhem は、欠陥が確実に修正された状態を保つために回帰テストを実施します。更新されたコードに対して作成済みのテストケースを実行することで、バグの再発やデグレードの発生を防ぎます。
また、CI/CDパイプラインに統合することが可能なため、回帰テストの自動化も可能です。

ソフトウェア開発ライフサイクル(SDLC)のシフトレフト
Mayhemの優れた点のひとつは、ソフトウェア開発ライフサイクル(SDLC)の初期段階で活用できることです。通常、ファジングは開発の終盤で行われるテストの一部として使用されますが、Mayhemは単体・結合テストフェーズで利用できるため、ファジングのシフトレフトを実現します。 さらに、CIパイプラインに統合することで、DevSecOpsワークフローの一部として運用することも可能です。

Parasoft C/C++testとの連携
C言語/C++言語対応テストツール「Parasoft C/C++test」の単体テスト機能と連携することで高いシナジーを生み出すことができます。 「Parasoft C/C++test」の単体テスト機能に、「Mayhem」のファジングの要素を取り入れることで、通常人手では考慮しきれない範囲を含む膨大なテストパターンを効率的にカバーできるようになります。 また、「Parasoft C/C++test」のカバレッジ計測機能を活用できるため、C0、C1、MC/DCなどの9種類のカバレッジを計測し、実行されたファジング・テストの網羅性を可視化することも可能になります。

Mayhem for Codeの製品カタログ
Mayhem for Codeの製品カタログや静的解析(SAST)、動的解析(DAST)を比較したファジングのメリットをご紹介するホワイトペーパーをご用意していますので、ぜひダウンロードください。PICK UP
イベント・セミナー
ニュース・キャンペーン
ファジングツール Mayhem for Codeに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- se-info@techmatrix.co.jp




