はじめに
IBM Bob Premium Package for DevSecOps で検出結果の表示、問題修正、SafeWrite の使用、セキュリティダッシュボードの活用方法を学びます。
始める前に、環境がすべての要件を満たしていることを確認してください。詳細については、前提条件 を参照してください。
DevSecOps premium パッケージは作業中に継続的にスキャンを実行します。検出結果は検出されると Bob Findings パネルに表示されます。コマンドパレットから IBM Premium Package for DevSecOps: Scan for issues または IBM Premium Package for DevSecOps: Run Supply Chain Scan を実行してオンデマンドでスキャンをトリガーすることもできます。Scan for issues コマンドは、コードと構成のスキャン (SAST、IaC、シークレット) とサプライチェーンスキャンを一緒に実行します。
大規模なリポジトリを小さな単位に分割するには、任意のディレクトリを右クリックして IBM Bob Premium Package for DevSecOps > Scan を選択します。
検出結果を確認する
Bob Findings パネルには、ワークスペース内のすべてのアクティブなスキャン結果が一か所に集約されます。
プロジェクトを読み込んだ状態で IDE を開きます。
Bob Findings パネルを Bob サイドパネルで開きます。
検出結果リストを確認します。各検出結果には以下が表示されます:
- 重大度:Critical、High、Medium、Low、または Info。
- ファイルと行:コード内の正確な場所。
- ルール ID:検出結果をトリガーしたスキャナールール。
- 説明:問題についての平易な説明。
- CVSS スコア(利用可能な場合):CVE データベースの重大度スコア。
- 推奨される安全バージョン(サプライチェーンの検出結果):脆弱性のない最も近いバージョン。
- 修正ガイダンス(利用可能な場合):問題を解決するための推奨手順。
検出結果を修正する
Fix with Bob ボタンを押すと、コンテキストの中で検出結果を分析してフィックスを適用するエージェントタスクが開始されます。
Bob Findings パネルで、解決したい検出結果を選択します。
Fix with Bob をクリックします。
Bob がチャットパネルで新しいタスクを開き、問題の分析を開始します。Bob の提案した変更を受け入れる前に確認してください。
変更を受け入れた後、Bob Findings パネルで検出結果がなくなっていることを確認します。
SafeWrite
SafeWrite はコードベースを AI 生成のセキュリティ脆弱性から保護します。Bob がファイルを書き込みまたは編集するエージェントタスクを実行する際、SafeWrite はディスクへの書き込み前にメモリ内で変更案をインターセプトします。
エージェントが既知の脆弱な依存関係を宣言しようとすると、SafeWrite は書き込み完了前に自動的に最も近い安全なバージョンに置き換えます。エージェントが npm install や pip install などの CLI コマンドを通じて脆弱なパッケージをインストールしようとすると、SafeWrite はそのコマンドをブロックまたはパッチします。
SafeWrite はロックファイル(package-lock.json、poetry.lock など)への直接改ざんも防ぎ、オプションで書き込み前に提案されたコード変更に対して SAST チェックを実行できます。
SafeWrite(試験的)はデフォルトでオフになっています。使用するには、拡張機能の設定で SafeWrite を有効にしてください。
セキュリティダッシュボード
セキュリティダッシュボードはプロジェクト全体のスキャン結果をリアルタイムおよび過去の履歴で確認できます。Bob サイドパネルから開くと、プロジェクトとブランチごとに整理されたスキャン実行結果を確認し、時間の経過によるトレンドを追跡し、過去の実行結果の検出結果を確認・却下できます。複数の検出結果を選択して一括修正を行ったり、結果をスタンドアロン HTML レポートとしてエクスポートしたりすることもできます。
ダッシュボードは最大 90 日間結果を保存します。
サプライチェーンスキャン
DevSecOps パッケージは、ファイルを開いたり保存したりするときに既知の脆弱性がないか依存関係マニフェストをスキャンします。サプライチェーンの検出結果は他の検出結果と並んで Bob Findings パネルに表示されます。プロジェクト全体の依存関係の脆弱性を一度に修復するには、サプライチェーン脆弱性修正ワークフローを使用してください。詳細については、サプライチェーン脆弱性修正ワークフロー を参照してください。
エージェントインストールポリシー
Bob がエージェントタスクであなたの代わりにパッケージをインストールする際、DevSecOps パッケージはインストール完了前に依存関係を確認します。パッケージがリスクありとしてフラグされた場合:
- Bob はパッケージを黙ってインストールしません。
- Bob はリスク情報をチャットに表示し、代わりに推奨バージョンをインストールします。