スキャン
Contrast Scanは、静的アプリケーションセキュリティテスト(SAST)ツールで、コードをすぐにスキャンして、開発の初期段階で脆弱性を特定できます。
スキャンの方法には、以下があります。
SaaS版: Contrastプラットフォームにコードをアップロードできる場合は、このスキャン方法を使用します。スキャンを開始するには、Contrast Webインターフェイスを使用します。スキャン結果は、Contrast Webインターフェイスに表示されます。
CLI: CLIコマンドを使用してContrastプラットフォームにコードをアップロードする場合は、このスキャン方法を使用します。スキャン結果は、Contrast Webインターフェイス、またはGitHubやJenkinsなどのインテグレーションで参照できます。
Contrast Scanローカルエンジン: このスキャン方法は、ローカルシステム上のコードに使用できます。Contrastプラットフォームに結果は報告されますが、ローカルシステムのコードがアップロードされることはありません。スキャン結果は、Contrast Webインターフェイス、またはGitHubやJenkinsなどのインテグレーションで参照できます。
スキャンするコードの種類に応じて、Contrast Scanで次のいずれかのスキャンエンジンが使用されます。
Javaバイナリ: JavaのJARファイルやWARファイルがスキャンされます。
Javaバイナリスキャンでは、Webアプリケーション(HTTPトラフィックを処理するアプリケーション)のみをサポートします。
Javaバイナリスキャンでは、ソースコードスキャンよりも対象が絞られます。このスキャンでは、信頼できないソースから取得されたデータが検索されます。ユーザ入力のような信頼できないソースから派生して、サニタイズされずにSQL文のような危険なシンクに到達したデータなどです。セキュリティに関係のないコードについては報告されません。このスキャンでは、スキャンポリシー(例えば、コードに危険な潜在的なシンク呼び出しが含まれているか、呼び出しやエントリポイントから信頼できないデータがアプリケーションに侵入している、など) を使用して、セキュリティに関連するコードが検出されます。
ソースコード: ほとんどの言語のアーティファクトがスキャンされます。
ソースコードスキャンでは、Javaバイナリスキャンよりも広い範囲に焦点が当てられます。ルールセットに基づいて、潜在的な脆弱性がないかコードが検索されます。結果は通常、Javaバイナリスキャンよりも精度が低くなります。
スキャン機能の比較
以下の表は、各スキャン方法でサポートされる機能の一覧です。
機能 | Contrast Scanローカルエンジン | Contrast SaaS版プラットフォーム | CLI |
---|---|---|---|
スキャンの種類 | |||
多言語ソースコードのスキャン | |||
Javaバイナリ | |||
Contrastプラットフォームへのソースコードのアップロード | |||
ファイルサイズ | |||
最大ファイルサイズ =1GB | |||
インテグレーション | |||
SCMとGitHub Actionの統合 | |||
パイプラインの統合(Jenkinsなど) | |||
ブランチのサポート | |||
ビルドの失敗 | |||
カスタマイズ | |||
タイムアウト設定 | |||
メモリ設定 | |||
リソースグループの割り当て | |||
ファイルの除外 |
スキャンの操作
Contrast Scanでは、次のことができます。