入口
インタラクティブ TUI で次のコマンドを入力します:スキャンレベル
Qoder CLI のセキュリティスキャンは 3 つのレベルに分かれています。各レベルは個別に有効化または無効化できます。L1 Static Check
L1 は現在のタスクで生成されたコードを対象にします。高リスクなパターンマッチングにより、危険な関数呼び出し、明らかな機密情報漏えいパターン、生成コードで発生しやすいその他のリスクを素早く検出します。 L1 Static Check は無料の基本チェックです。現在のタスク中に高リスクなコードパターンを素早く検出するため、デフォルトで有効にしておくことをおすすめします。L2 Lightweight Scan
L2 は増分のコード変更を対象にします。コードの意味をより深く理解し、SQL インジェクション、リモートコマンド実行、機密データ漏えいなどのリスクを識別します。 日常的なコーディング中により深いセキュリティフィードバックが必要な場合は、L2 を有効にしてください。L3 Deep Scan
L3 は増分のコード変更に対して、より深い分析を行います。ファイルや関数をまたいでデータフローを追跡し、単一ファイルの視点では見つけにくい隠れた脆弱性の発見を支援します。 L3 は、コミットの準備ができた後、レビュー、push、PR、リリース、デプロイなどの引き渡し前に使うのに適しています。作業ツリーの変更だけがある場合は、L2 にフォールバックすることがあります。スキャンレベルの設定
/security-settings を開いた後、矢印キーでスキャンレベル間を移動し、Enter または Space でオン/オフを切り替えます。q または Esc でパネルを閉じます。
パネル内の各項目には現在の状態が表示されます:
onはそのレベルが有効であることを示します。offはそのレベルが無効であることを示します。defaultはデフォルト値が使用されていることを示します。savedは値がユーザー設定に保存されていることを示します。
設定ファイルを使用する
ユーザーレベルのsettings.json でもセキュリティスキャンを設定できます。設定項目は securityScan の下にあります:
true です。特定のレベルを無効にするには、対応するフィールドを false に設定します:
自動スキャンの仕組み
セキュリティスキャンが有効な場合、Qoder CLI は設定に応じて組み込みのセキュリティ機能を読み込み、どのチェックを有効にするかを決定します。 L1 が有効な場合、Qoder CLI は関連するツール呼び出しの後に静的チェックを実行します。L1 が無効な場合、この自動チェックは読み込まれません。 L1、L2、L3 のいずれか 1 つでも有効な場合、Qoder CLI は統合されたセキュリティスキャン機能を保持します。3 つすべてが無効な場合、セキュリティスキャン関連の機能は読み込まれません。手動セキュリティスキャン
自動スキャン設定に加えて、Qoder CLI は手動セキュリティスキャン用の Skill も提供します:- プロジェクト/ファイルスキャン:リポジトリ全体、または明示的に指定したファイルやディレクトリをスキャンします。
- L2 軽量レビュー:現在の作業ツリーの変更をレビューします。
- L3 深層レビュー:push、PR、リリース、デプロイ、その他の引き渡し前に、まだレビューされていないコミット済み変更をレビューします。
/security-scan と入力すると、L3 深層スキャン、L2 軽量スキャン、プロジェクト/ファイルスキャンを選ぶピッカーが開きます。プロジェクト/ファイルスキャンを選び、スコープを指定していない場合、Qoder CLI はリポジトリ全体をスキャンするか、特定のファイルやディレクトリをスキャンするかを確認します。
モードやスコープをコマンドに直接含めることもできます:
/security-settings で有効化するよう案内します。暗黙的な引き渡し時の L3 チェックは、L3 が無効な場合は何も表示しません。
利用に適した場面
セキュリティスキャンは、次のような場面で役立ちます:- Qoder CLI が認証、決済、データエクスポート、ファイルアップロード、コマンド実行など、セキュリティ上重要なコードを生成または変更した後。
- コミット前またはコードの引き渡し前に、現在の変更が高リスクな問題を導入していないかを素早く確認したい場合。
- コードレビュー前に、セキュリティ観点のフィードバックを得たい場合。
- 自動化モードを使用しながら、継続的な安全チェックを有効にしておきたい場合。
注意事項
セキュリティスキャンは、現在のタスクと増分変更に重点を置きます。プロジェクト/ファイルスキャンではリポジトリ全体または指定したパスをスキャンできますが、それでも完全なセキュリティ監査ではなく、すべての脆弱性を検出することを保証するものでもありません。 結果は、現在のコードコンテキスト、アクセス可能なファイル、有効なスキャンレベルに依存します。重要な業務コードでは、人によるセキュリティレビュー、テスト、依存関係スキャン、組織内のセキュリティプロセスと組み合わせて使用することをおすすめします。 セキュリティスキャンが期待どおりに動作しない場合は、次を確認してください:/security-settingsで対象のスキャンレベルがonになっているか。- ユーザーレベルの
settings.jsonでsecurityScanの項目が明示的に無効化されていないか。 - 設定ファイルを手動で編集した場合、JSON が正しく、ユーザー設定に保存されているか。
- 現在のタスクでスキャン対象となる新規または変更コードが生成されているか。