Amazon Q Developer でのコードレビュー
Amazon Q Developer では、開発サイクル全体を通じて、コードベースのセキュリティ上の脆弱性やコード品質の問題をレビューし、アプリケーションのセキュリティを改善できます。ローカルプロジェクトやワークスペース内のすべてのファイルを分析することでコードベース全体のレビューを開始したり、記述中にコードを評価する自動レビューを有効にしたりできます。
コードレビュー中、Amazon Q はカスタムコードとコード内のサードパーティーライブラリの両方を評価します。コードレビューを開始する前に、Amazon Q はフィルタリングを適用して、関連するコードのみがレビューされるようにします。フィルタリングプロセスの一環として、Amazon Q はサポートされていない言語、テストコード、オープンソースコードを除外します。
Amazon Q は、コードに潜在的なセキュリティ上の脆弱性や品質問題を発見すると、問題の説明と推奨される修正を含むコードの問題を表示します。一部の問題では、コード修正を生成して適用し、コードファイルをインプレースで更新できます。
レビューは、生成 AI とルールベースの自動推論の両方を利用しています。Amazon Q ディテクターは、長年の AWS と Amazon.com のセキュリティのベストプラクティスに基づいており、ルールベースのセキュリティと品質のレビューを強化します。セキュリティポリシーが更新され、ディテクターが追加されると、コードが最新のポリシーに準拠するよう、レビューは自動的に新しいディテクターを組み込みます。
この機能でサポートされている IDE については、「サポートされている IDE」を参照してください。サポートされている言語については、「/review によるコードレビューをサポートする言語」を参照してください。
トピック
コードの問題のタイプ
Amazon Q は、次のタイプのコードの問題についてコードをレビューします。
-
SAST スキャン — ソースコードのセキュリティ上の脆弱性を検出します。Amazon Q は、リソースリーク、SQL インジェクション、クロスサイトスクリプティングなど、さまざまなセキュリティ問題を特定します。
-
シークレットの検知 — コードでの機密情報や秘密情報の漏洩を防ぎます。Amazon Q は、コードファイルとテキストファイルをレビューして、ハードコードされたパスワード、データベース接続文字列、ユーザー名などのシークレットを検出します。シークレットの検出結果には、保護されていないシークレットとその保護方法に関する情報が含まれます。
-
IaC の問題スキャン — インフラストラクチャファイルのセキュリティ体制を評価します。Amazon Q は、Infrastructure as Code (IaC) コードファイルをレビューして、設定ミス、コンプライアンス、セキュリティの問題を検出できます。
-
コード品質の問題 — コードが品質、保守性、効率性の基準を満たしているかどうかを確認します。Amazon Q は、パフォーマンス、機械学習ルール、AWS のベストプラクティスなど、さまざまな品質問題に関連するコードの問題を表示します。
-
コードデプロイリスク — コードのデプロイに関連するリスクを評価します。Amazon Q は、アプリケーションのパフォーマンスやオペレーションの中断など、コードをデプロイまたはリリースするリスクがあるかどうかを判断します。
-
ソフトウェアコンポジション分析 (SCA) — サードパーティーのコードを評価します。Amazon Q は、コードに統合されているサードパーティーのコンポーネント、ライブラリ、フレームワーク、依存関係を調べ、サードパーティーのコードが安全かつ最新であることを確認します。
Amazon Q がコードをレビューするために使用するディテクターの一覧については、「Amazon Q Detector Library」を参照してください。
クォータ
Amazon Q セキュリティスキャンは、次のクォータを維持します。
-
入力アーティファクトサイズ – サードパーティーライブラリ、ビルド JAR ファイル、一時ファイルなど、IDE プロジェクトワークスペース内のすべてのファイルの最大サイズ。
-
ソースコードサイズ – すべてのサードパーティーライブラリとサポートされていないファイルをフィルタリングした後に Amazon Q がスキャンするソースコードの最大サイズ。
次の表は、自動スキャンとフルプロジェクトスキャンで維持されるクォータを示しています。
| リソース | 自動レビュー | ファイルまたはプロジェクトのレビュー |
|---|---|---|
| 入力アーティファクトのサイズ | 200 KB | 500 MB |
| ソースコードのサイズ | 200 KB | 50 MB |