BlackDuckとGitLabの比較 | GitLab.JP

このページでは、BlackDuckとGitLabを比較しています。それぞれの強みや不足部分を確認して、判断材料にしてください。

BlackDuckはオープンソースコンポーネントのセキュリティスキャン、コンテナスキャン、ライセンス管理を提供します。BlackDuck は Synopsys 社に買収されました。Synopsys は IAST や SAST それぞれの製品も提供していますが、それらは個別に購入され、個別に比較されます。

BlackDuck は全てのオープンソースコードのインベントリとその脆弱性を保持し、CI/CD パイプラインをAPI 経由で利用できるようにします。BlackDuck は GitLab とは異なり、ライブラリの使用を超えたより詳細なコンポーネントを検出できます。BlackDuck も GitLabと同様に National Vulnerability Database (NVD) を使用しますが、独自の情報を追加します。

新しい脆弱性が発表されると、BlackDuck は影響のあるコードをすぐに検知します。BlackDuck は、修復アドバイス、スコアリング、CWE 脆弱性タイプを提供します。ダッシュボードには、リスクビューを含め、脆弱性、プロジェクトアプリ、コンテナによって影響を受けるプロジェクトが表示されます。また、プロジェクトごとに脆弱性を表示したり、脆弱性の影響を受けるプロジェクトを表示したりすることもできます。BlackDuck は 81 の言語に対応しています。

GitLab Ultimate には自動的に、静的 / 動的アプリケーションセキュリティテストを含むすべてのコードコミット、依存関係スキャン、コンテナスキャン、ライセンス管理を含む広範なセキュリティスキャンが含まれます。BlackDuck は GitHub や他のツールと統合できますが、そのためには複数のソフトウェアライセンスや統合/保守作業が必要になります。

FEATURES

静的アプリケーションセキュリティテスト

GitLabのCI/CDパイプラインでは、静的アプリケーションセキュリティテスト(SAST)を簡単に実行できます。 静的アプリケーションテストでは、ソースコードの脆弱性やアプリケーションが使用するライブラリに存在する既知のセキュリティバグをチェックできます。テスト結果はマージリクエストおよびパイプラインの画面に表示されます。 この機能は[Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#auto-sast)の一部として利用できます。

静的アプリケーションセキュリティテストの詳細

依存関係のスキャン

GitLabはアプリケーションが使用するライブラリに存在する既知のセキュリティバグを自動的に検出し、アプリケーションを脆弱性から保護します。 依存性スキャンの結果はマージリクエストおよびパイプラインの画面に表示されます。 この機能は[Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#auto-sast)の一部として利用できます。

依存性スキャンの詳細

コンテナスキャン

アプリケーションのDockerイメージをビルドする際に、コードをデプロイする環境に既知の脆弱性が存在しないかGitLabで確認できます。 コンテナスキャンの結果はマージリクエストとパイプラインに表示されます。 この機能は[Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#auto-sast)の一部として利用できます。

コンテナスキャンの詳細

動的アプリケーションセキュリティテスト

オンラインのアプリケーションに対して、GitLabのCI/CDパイプラインで動的アプリケーションセキュリティテスト(DAST)を実行できます。 これにより、アプリケーションにXSSや認証フローの不備のような脆弱性が存在しないかをテストできます。 テスト結果はマージリクエストとパイプラインに表示されます。 この機能は[Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#auto-sast)の一部として利用できます。

コンテナのアプリケーションセキュリティの詳細

双方向なアプリケーションセキュリティテスト

[IAST](https://blogs.gartner.com/neil_macdonald/2012/01/30/interactive-application-security-testing/) は静的 / 動的アプリケーションセキュリティテスト方法の要素を組み合わせて、結果の全体的な品質を改善します。通常 IAST はライブラリの呼び出しなどを監視するために、エージェントを使用してアプリケーションを計測します。GitLab はまだこの機能を提供していません。

クラウドネイティブのネットワークファイアウォール

クラウドネイティブのネットワークファイアウォールは、コンテナレベルでのネットワークのマイクロセグメンテーションを提供します。これにより、コンテナネットワーク通信を分離し、特定のコンテナまたはマイクロサービスへの "blast radius" (障害の深刻さ) を制限します。機械学習を利用して、クラスタ内のアプリコンポーネント間の有効なトラフィックフローを自動的に識別するコンテナ対応仮想ファイアウォール。攻撃者が環境の一部をすでに侵害している場合、攻撃者が環境内を移動できないようにすることで、被害を抑えます。GitLab ではこの機能をまだ提供していません。

License Compliance

依存関係のライセンスがアプリケーションと互換性があることを確認し、それらを承認またはブラックリストに登録します。結果はマージリクエストおよびパイプラインの画面に表示されます。

Learn more about License Compliance