[アップデート] Amazon Inspector でアプリケーションと IaC コードの静的解析がサポートされました #AWSreInforce

[アップデート] Amazon Inspector でアプリケーションと IaC コードの静的解析がサポートされました #AWSreInforce

Clock Icon2025.06.18

こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。

Amazon Inspector でコードの静的解析がサポートされました。かなり大きなアップデートのように思えます。

https://aws.amazon.com/jp/about-aws/whats-new/2025/06/amazon-inspector-code-security-shift-security-development/

アップデート内容

今まで Amazon Inspector では SCA(Software Composition Analysis)と呼ばれる、ソフトウェアのライブラリに含まれる脆弱性検査をサポートされていました。

ソフトウェア開発におけるセキュリティチェック手法には、他にも SAST (Static Application Security Testing) と呼ばれる、コードの静的解析があるのですが、こちらについては Amazon CodeGuru Security でサポートされており使い分けが必要な状況でした。

https://aws.amazon.com/jp/codeguru/

今回のアップデートで Inspector でも SAST および IaC コードの静的解析をサポートし、一元管理できるようになりました。

https://docs.aws.amazon.com/inspector/latest/user/code-security-assessments.html

SCM との統合

アップデートのタイトルに「Amazon Inspector launches code security to shift security left in development」とある通り、shift security left が今回のアップデートの推しポイントです。

GitHub SaaS, GitHub Enterprise Cloud, GitLab Self Managed といった、SCM と統合しコードのプッシュが発生したタイミングで、チェックが行われる仕組みになっています。デプロイ前にチェックできるのは非常に嬉しいですね。

Integrations with GitHub SaaS, GitHub Enterprise Cloud, and GitHub Enterprise Server require public internet access.

https://docs.aws.amazon.com/inspector/latest/user/code-security-assessments-connect-github.html

対象言語

サポートされている言語は以下のとおりです。

Supported languages for SAST

  • C# (all versions but .Net 6.0 and later is recommended)
  • C (C11 or earlier)
  • C++ (C++ 17 or earlier)
  • Go (Go 1.18 only)
  • Java (Java 17 or earlier)
  • JavaScript (EMCMAScript 2021 or earlier)
  • JSX (React 17 or earlier)
  • Kotlin (Kotlin 2.0 or earlier)
  • PHP (PHP 8.2 or earlier)
  • Python (Python 3.11 or earlier within the Python 3 series)
  • Ruby (Ruby 2.7 and 3.2 only)
  • Rust
  • Scala (Scala 3.2.2 or earlier)
  • Shell
  • TSX
  • TypeScript (all versions)

Languages for Infrastructure as Code

  • AWS CDK (Python and TypeScript)
  • AWS CloudFormation (2010–09–09)
  • Terraform (1.6.2 or earlier)

https://docs.aws.amazon.com/inspector/latest/user/code-security-assessments-supported-languages.html

Amazon CodeGuru Security と同じのようです。(Amazon CodeGuru Security はどうなるのでしょうか。)

https://docs.aws.amazon.com/codeguru/latest/security-ug/what-is-codeguru-security.html

そのため、デプロイ前のチェックは Amazon Inspector, デプロイ中(パイプライン)でのチェックは CodeGuru Security (SAST), Inspector Scan (SCA) の使い分けが想定されますね。

やってみた

それでは実際に Amazon Inspector の Code Security 機能を利用して、シフトレフトな解析を行ってみます。

Account management

Code Security をアカウントで利用できるよう有効化します。Account management から Activate を選択し、 Code repository scanning を選択し、 Submit をクリックします。

2025-06-18 at 00.00.50-Settings  Account management  Amazon Inspector  ap-northeast-1@2x.png

数秒まつと、Code repository scanning が Activated になりました。

2025-06-18 at 00.00.58-Settings  Account management  Amazon Inspector  ap-northeast-1@2x.png

GitHub への接続

Code security をクリックし Connect to から GitHub をクリックします。

2025-06-18 at 00.01.45-Code security  Amazon Inspector  ap-northeast-1@2x.png

すると、Configuration の画面に遷移します。今回はデフォルトの設定でいきます。

2025-06-18 at 00.01.51-Code security  Connect to GitHub  Amazon Inspector  ap-northeast-1@2x.png

続いて、統合名を聞かれます。任意の名前で OK です。

2025-06-18 at 00.06.06-Code security  Connect to GitHub  Amazon Inspector  ap-northeast-1@2x.png

GitHub へ認証リンクが発行されますのでリンクを踏んで、統合します。

2025-06-18 at 00.06.11-Code security  Connect to GitHub  Amazon Inspector  ap-northeast-1@2x.png

うまくいけば統合が作成され、GitHub Apps の作成画面に移ります。Install a new app を選択します。

2025-06-18 at 00.25.09-Code security  Connect to GitHub  Amazon Inspector  ap-northeast-1@2x.png

リージョン別に GitHub Apps が作成されるため、Authorize します。

2025-06-18 at 00.06.19-Authorize Amazon Inspector (Tokyo)@2x.png

認証および、リポジトリへのインストールが完了すると、次のように Active および Configured に変化します。

2025-06-18 at 20.46.06-Code security  Amazon Inspector  ap-northeast-1.png

スキャンさせてみる

スキャンはオンデマンドスキャン、定期スキャン、コミット、PR 作成時のスキャンと、いろんなケースでスキャンができます。

定期スキャン、コミット、PR 作成時のスキャンに関しては先ほどの Configurations で指定します。

※ なぜか、初回スキャンはオンデマンドスキャンができず、コミットすると動くようになりました。

2025-06-18 at 20.48.01-Code security  Amazon Inspector  ap-northeast-1.png

脆弱性があるコードを、いくつかアップロードしてみました。

https://github.com/takakuni-classmethod/reinforce25-waiwai

すると、短い時間(おそらくコード量に比例)でスキャン結果が現れました。

2025-06-18 at 20.50.54-Code security  Amazon Inspector  ap-northeast-1.png

赤枠のように重要度は Critical, High, Medium の 3 段階のようです。

2025-06-18 at 20.51.00-Code security  Amazon Inspector  ap-northeast-1 2.png

Findings をみてみましょう。私が書いたコードの、どのファイルのどの部分が脆弱なのか記載があります。

2025-06-18 at 20.54.10-Code security  Amazon Inspector  ap-northeast-1.png

次のようにリコメンドがありました。

Why are we recommending the following fix?
It appears your code may contain a hardcoded secret. We recommend replacing it with AWS Secrets Manager references to enhance security and follow best practices. For more information, please refer OWASP password storage cheat sheet .

この機能の良いところはリポジトリ内の SAST, SCA, IaC の項目が丸っと見られる部分です。次のように Package VulnerabilityCode Vulnerability も表示されていました。

Package Vulnerability

2025-06-18 at 20.56.30-Code security  Amazon Inspector  ap-northeast-1.png

Code Vulnerability

2025-06-18 at 20.56.47-Code security  Amazon Inspector  ap-northeast-1.png

もちろん、フィルターもできます。

2025-06-18 at 21.01.25-Code security  Amazon Inspector  ap-northeast-1.png

注意事項

最後に注意事項です。

Code Scan は各リポジトリのデフォルトブランチのみをチェックします。そのためデフォルトブランチのライフサイクルにあわせて、Scan configuration を設定いただくのが良いかと思います。

Code Security only imports up to 100,000 projects, and only the default branch for each repository is monitored. A project can be associated with a maximum of three default scan configurations.

https://docs.aws.amazon.com/inspector/latest/user/code-security-assessments-create-integration.html

コスト

執筆時点で Inspector v2 の料金表に Code repository scans の記載はあるものの、具体的な価格は明記されていなさそうでした。

https://aws.amazon.com/inspector/pricing/

以下の URL を踏んで料金表を取得すると、"APN1-Code-Repository-Scan-SCA", "APN1-Code-Repository-Scan-IaC", "APN1-Code-Repository-Scan-SAST" の項目を見つけることができました。

https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonInspectorV2/current/ap-northeast-1/index.json

以下のように Resource-assessment と呼ばれる単位で 0.18 USD 発生するようです。(リージョンによって異なるようで USW2 は 0.15 USD でした。)

      "MP3EQZK3Y795BAES" : {
        "MP3EQZK3Y795BAES.JRTCKXETXF" : {
          "offerTermCode" : "JRTCKXETXF",
          "sku" : "MP3EQZK3Y795BAES",
          "effectiveDate" : "2025-06-01T00:00:00Z",
          "priceDimensions" : {
            "MP3EQZK3Y795BAES.JRTCKXETXF.6YS6EN2CT7" : {
              "rateCode" : "MP3EQZK3Y795BAES.JRTCKXETXF.6YS6EN2CT7",
              "description" : "$0.18 per Resource-assessment for APN1-Code-Repository-Scan-SCA in Asia Pacific (Tokyo)",
              "beginRange" : "0",
              "endRange" : "Inf",
              "unit" : "Resource-assessment",
              "pricePerUnit" : {
                "USD" : "0.1800000000"
              },
              "appliesTo" : [ ]
            }
          },
          "termAttributes" : { }
        }
      },
      "FX5FYSCBXXQ9GVHD" : {
        "FX5FYSCBXXQ9GVHD.JRTCKXETXF" : {
          "offerTermCode" : "JRTCKXETXF",
          "sku" : "FX5FYSCBXXQ9GVHD",
          "effectiveDate" : "2025-06-01T00:00:00Z",
          "priceDimensions" : {
            "FX5FYSCBXXQ9GVHD.JRTCKXETXF.6YS6EN2CT7" : {
              "rateCode" : "FX5FYSCBXXQ9GVHD.JRTCKXETXF.6YS6EN2CT7",
              "description" : "$0.18 per Resource-assessment for APN1-Code-Repository-Scan-IaC in Asia Pacific (Tokyo)",
              "beginRange" : "0",
              "endRange" : "Inf",
              "unit" : "Resource-assessment",
              "pricePerUnit" : {
                "USD" : "0.1800000000"
              },
              "appliesTo" : [ ]
            }
          },
          "termAttributes" : { }
        }
      },
      "DN84Q9K2KSPPTB5H" : {
        "DN84Q9K2KSPPTB5H.JRTCKXETXF" : {
          "offerTermCode" : "JRTCKXETXF",
          "sku" : "DN84Q9K2KSPPTB5H",
          "effectiveDate" : "2025-06-01T00:00:00Z",
          "priceDimensions" : {
            "DN84Q9K2KSPPTB5H.JRTCKXETXF.6YS6EN2CT7" : {
              "rateCode" : "DN84Q9K2KSPPTB5H.JRTCKXETXF.6YS6EN2CT7",
              "description" : "$0.18 per Resource-assessment for APN1-Code-Repository-Scan-SAST in Asia Pacific (Tokyo)",
              "beginRange" : "0",
              "endRange" : "Inf",
              "unit" : "Resource-assessment",
              "pricePerUnit" : {
                "USD" : "0.1800000000"
              },
              "appliesTo" : [ ]
            }
          },
          "termAttributes" : { }
        }
      },

続報あり次第更新します。

まとめ

以上、「Amazon Inspector でアプリケーションと IaC コードの静的解析がサポートされました」でした。

シフトレフトスキャンにおいて、選択肢の候補になってきたのではないでしょうか。DAST もサポートされ始めたらイヨイヨですね。

クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.