Amazon CodeWhisperer (Amazon Q Developer) にTerraform のコードレビューをしてもらってみた

AWS

2024.5.2

Topics

※ 2024年4月30日にAmazon CodeWhispererは、Amazon Q Developerへ名称が変更しました。基本的な手順は変わりありません。

はじめに

こんにちは、Shunです。

今回は、Amazon CodeWhispererを使って、コードレビューを行う方法をご紹介します。
CodeWhispererは、AWSアカウントを持っていなくても無料で利用できるため、セキュリティスキャンやコードレビューを手軽に始めたい方におすすめです。

Amazon CodeWhispererとは

Amazon CodeWhisperer は、コメントと既存のコードに基づいて、スニペットから完全な関数まで、さまざまなコードの提案を IDE 上でリアルタイムで生成します。また、CodeWhisperer を使用すると、静的アプリケーション セキュリティ テスト (SAST)、シークレット検出、コードとしてのインフラストラクチャ (IaC) スキャンにより、コード内のセキュリティ ポリシー違反と脆弱性を検出できます。
出典: Amazon CodeWhisperer

本記事では、コード生成ではなく、セキュリティスキャンに焦点を当てます。

料金

CodeWhispererには、Individual TierとProfessional Tierの2つのプランがあります。

Individual Tier Professional Tier
料金 無料 19.00USD/ユーザー/月
インラインコード提案
セキュリティスキャン 50回/ユーザー/月 500回/ユーザー/月

※他にもプランの違いがあります。

対応IDE

CodeWhispererのセキュリティスキャンは、以下のIDEで利用できます。

公式: Choosing your IDE

対応言語

CodeWhispererのセキュリティスキャンは、以下の言語に対応しています。

※チェック項目は、各ドキュメント内へ記述があります。

公式: Amazon CodeWhisperer Security scans

セキュリティスキャンをやってみた

前提

  • Visual Studio Code(以下、VSCode)を使用します。
  • Individual Tierプランで実施します。

1. AWS Toolkitをインストール

VSCode上でCodeWhispererを使用するには、VSCodeの拡張機能であるAWS Toolkitをインストールする必要があります。
AWS Toolkit – Amazon Q, CodeWhisperer, and more

2. AWS Builder IDの登録/連携

AWS Builder IDをお持ちでない場合、以下を参考に登録を行ってください。
AWS ビルダー ID を作成する

VSCodeからAWS Toolkitを開き、[Sign in to get started] > [Use for free, no AWS Account required] を選択します。

ブラウザでAWS Builder IDを開きます。

表示されるコードが一致していることを確認し、[Confirm and continue]を押下します。

AWS Builder IDでログインし、CodeWhispererとの連携を許可します。

これで連携は完了です。

3. セキュリティスキャンをやってみる

CodeWhispererでは、開いているファイルに対し、セキュリティスキャンを行います。
デベロッパーツールから、[Run Security Scan]を選択します。

画面下部に検出結果が表示されます。
ここでは、暗号化されていないEBSの作成が検出されています。

他の検出結果を確認してみると、IAMポリシーが*で定義されていることが検出されています。

他にも、Terraformで次のような内容を検出することが可能です。

まとめ

今回は、Amazon CodeWhispererを使って、Terraformのコードレビューを行いました!
JavaやPythonなどでも同様の手順でコードレビューが可能ですので、ぜひ試してみてください!

AWSアカウントを保有していなくても利用できることや無料なことなどやらない手はないですね!

最後まで読んでいただきありがとうございます!

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Shun

Google Cloud11冠、2024 AWS All Cert、ビール検定1冠

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら