目次

AWS Inspector 完全ガイド v2.0

初心者から実務者向けの包括的解説

AWS Inspector は、自動化された脆弱性管理 サービスで、EC2・ECR・Lambda・オンプレミスサーバーを継続的にスキャンし、既知の脆弱性・CIS Benchmarks 非準拠・ネットワーク露出を検出します。CVSS スコア・CISA Known Exploited Vulnerabilities(KEV)・NVD データを統合し、リスク度数・修復優先度 を自動計算。DevOps パイプライン(CI/CD)に組み込み、shift-left セキュリティを実現。本ドキュメントは、Inspector v2 の仕組み・検査対象・統合方式・運用設定・修復戦略を体系的に解説する完全ガイドです。

ドキュメントの目的

本ガイドは以下を対象としています:

  • セキュリティ初心者向け:脆弱性とは何か、なぜスキャンが必要か
  • DevOps・DevSecOps:CI/CD パイプライン統合・自動修復
  • インフラストラクチャ管理者:EC2・ECR 脆弱性監視
  • セキュリティアーキテクト:組織規模での脆弱性管理戦略
  • 意思決定者向け:Wiz・Snyk・Trivy との比較

2025-2026 年の Inspector エコシステム

  • Container Image SBOM 生成:ソフトウェア構成表自動生成
  • CISA KEV 統合:既知悪用脆弱性の即座検出
  • AI リスク優先度付け:機械学習ベースの修復優先度算出
  • Kubernetes ワークロード スキャン:EKS クラスター全体監視
  • ネットワークリーチャビリティ分析:実際の攻撃パスシミュレーション
  • Inspector Classic 廃止(2026 年 5 月 20 日)

定義

AWS 公式による定義:

“Amazon Inspector is an automated vulnerability management service that continually scans your AWS resources and container images for software vulnerabilities and unintended network exposure.”


目次

  1. 概要
  2. Inspector が解決する課題
  3. 主な特徴
  4. アーキテクチャ
  5. 検査対象リソース
  6. 脆弱性検出メカニズム
  7. CVSS スコア・優先度
  8. CISA KEV 統合
  9. ネットワークリーチャビリティ
  10. CIS Benchmarks
  11. 主要ユースケース
  12. 設定・操作の具体例
  13. CI/CD パイプライン統合
  14. アクティベーション・管理
  15. ダッシュボード・レポート
  16. 類似サービス比較
  17. ベストプラクティス
  18. トラブルシューティング
  19. 2025-2026 最新動向
  20. 学習リソース
  21. 実装例・ロードマップ
  22. 実装チェックリスト
  23. コスト・プライシング
  24. まとめ

概要

初心者向けメモ: Inspector は「脆弱性スキャン自動化員」です。開発者が EC2 起動・Docker イメージ build → ECR push → Lambda 関数 deploy すると、Inspector が自動的に脆弱性をスキャン。既知パッチがある脆弱性は即座に通知します。

Inspector は、以下を実現する統合脆弱性管理プラットフォームです:

機能 説明
自動継続スキャン 新規 EC2・ECR push 時に自動検査
CVE・脆弱性データベース NVD・CISA・内部研究統合
CVSS スコアリング 脆弱性の深刻度数値化
リスク優先度付け 実際の攻撃可能性・ビジネスインパクト考慮
ネットワーク分析 インターネット公開・脆弱性 の組み合わせ検出
SBOM 生成 ソフトウェアコンポーネント完全リスト化

Inspector が解決する課題 {#課題}

1. 脆弱性検出の遅延

課題:パッチ公開 → システム検査まで 週間・月間 → インシデント発生 Inspector の解決:新規リソース起動時に即座検査、リアルタイム検出

2. 大規模コンテナイメージの脆弱性把握困難

課題:数百~数千イメージ → 手動確認不可能 Inspector の解決:ECR push 時に自動スキャン、SBOM 生成

3. 脆弱性の優先度付け困難

課題:1000+ 脆弱性報告 → どれから修復すべきか不明 Inspector の解決:CVSS・CISA KEV・ネットワーク公開度で自動優先度付け


主な特徴 {#特徴}

1. リアルタイム自動スキャン

EC2 起動
  ↓
Inspector 自動検査開始
  ├─ OS 脆弱性(Amazon Linux・Ubuntu・Windows)
  └─ アプリケーション脆弱性(npm・pip・Java 等)

ECR イメージ push
  ↓
自動スキャン
  └─ ベースイメージ + アプリケーション脆弱性検出

2. 多層検査

【OS・ライブラリレベル】
├─ Amazon Linux・Ubuntu・Windows・RHEL
└─ OpenSSL・glibc・.NET 等

【アプリケーションレベル】
├─ npm(Node.js)
├─ pip(Python)
├─ Maven(Java)
└─ NuGet(.NET)

【Lambda レベル】
└─ 関数コードの依存ライブラリ脆弱性

3. CISA Known Exploited Vulnerabilities(KEV)統合

CISA KEV Catalog:
  ├─ 既に悪用されている脆弱性リスト
  ├─ 重要度:CRITICAL(最高)
  └─ Inspector が即座に Alert

アーキテクチャ {#アーキテクチャ}

【図1】Inspector スキャンパイプライン

graph LR
    subgraph "AWS Environment"
        EC2["EC2 Instance<br/>New Launch"]
        ECR["ECR Repository<br/>Image Push"]
        Lambda["Lambda Function<br/>Deploy"]
    end

    subgraph "Inspector Service"
        Agent["Inspector Agent<br/>EC2 metadata"]
        Scanner["Vulnerability Scanner<br/>CVE Detection"]
        Network["Network Analyzer<br/>Reachability Check"]
        Risk["Risk Prioritizer<br/>CVSS + CISA"]
    end

    subgraph "Data Sources"
        NVD["NVD<br/>National Vulnerability DB"]
        CISA["CISA KEV<br/>Known Exploited"]
        Internal["AWS Research<br/>Internal Findings"]
        RecordedFuture["Recorded Future<br/>Threat Intel"]
    end

    subgraph "Output"
        Finding["Inspector Finding<br/>CRITICAL/HIGH/MEDIUM/LOW"]
        SBOM["SBOM<br/>Software Bill of Materials"]
        Integration["EventBridge<br/>Lambda/SNS Integration"]
    end

    EC2 --> Agent
    ECR --> Scanner
    Lambda --> Scanner

    Agent --> Scanner
    Scanner --> Network
    Network --> Risk

    NVD --> Risk
    CISA --> Risk
    Internal --> Risk
    RecordedFuture --> Risk

    Risk --> Finding
    Scanner --> SBOM
    Finding --> Integration

【図2】脆弱性検出フロー

sequenceDiagram
    participant Dev as Developer
    participant AWS as AWS
    participant Inspector as Inspector
    participant DB as CVE Database

    Dev->>AWS: 1. Push Docker Image to ECR
    AWS->>Inspector: Trigger Scan
    Inspector->>DB: Query CVE Data<br/>(NVD/CISA/Internal)
    DB-->>Inspector: CVE List

    Inspector->>Inspector: 2. Analyze Image Layers<br/>Detect Dependencies

    Inspector->>Inspector: 3. Match Against<br/>CVE Database

    Inspector-->>AWS: 4. Generate Findings<br/>(CRITICAL/HIGH)
    AWS->>Dev: 5. Notification<br/>(SNS/EventBridge)

    alt Vulnerable
        Dev->>Dev: Fix Vulnerability
        Dev->>AWS: Push New Image
    else Clean
        Dev->>AWS: Deploy to Production
    end

検査対象リソース {#resources}

1. EC2 インスタンス

対応 AMI:Amazon Linux・Ubuntu・RHEL・Windows

検査項目:
├── OS パッケージ脆弱性
├── アプリケーション脆弱性
└── ネットワーク公開度(Security Group 分析)

2. ECR コンテナイメージ

検査項目:
├── ベースイメージ脆弱性
├── npm・pip・Maven 依存脆弱性
└── Dockerfile 内の脆弱性パッケージ検出

3. AWS Lambda 関数

検査項目:
├── Runtime 依存脆弱性
├── Lambda Layer ライブラリ脆弱性
└── VPC 設定によるネットワーク公開度

4. オンプレミス(AWS Systems Manager 統合)

検査項目:
├── オンプレミス EC2・サーバー脆弱性
├── ハイブリッド環境の統一管理
└── 同じ Dashboard で可視化

脆弱性検出メカニズム {#detection}

スキャン方式

Agentless Scanning(EC2・ECR)

EC2/ECR → Inspector が直接分析
  ├─ メタデータ取得(パッケージ情報)
  ├─ CVE Database と照合
  └─ 脆弱性レポート生成
  
利点: エージェント不要・オーバーヘッド最小

Agent-Based Scanning(オンプレミス)

Systems Manager Agent → Inspector が情報収集
  ├─ パッケージ情報 → Inspector に転送
  ├─ CVE Database と照合
  └─ 脆弱性レポート生成

CVE 更新頻度

  • リアルタイム: 新規脆弱性発見 → 数時間内に DB 反映
  • 毎日: CVE データ同期・ベースライン更新

CVSS スコア・優先度 {#cvss}

CVSS(Common Vulnerability Scoring System)

スコア範囲: 0.0 - 10.0

9.0-10.0: CRITICAL(即座に修復必須)
7.0-8.9: HIGH(至急対応)
4.0-6.9: MEDIUM(計画的対応)
0.1-3.9: LOW(継続監視)

Inspector の優先度計算

【CVSS スコア】
  └─ 脆弱性の内在的な危険度

【CISA KEV フラグ】
  ├─ 既に悪用されている → CRITICAL に昇格
  └─ 即座対応必須

【ネットワークリーチャビリティ】
  ├─ インターネット公開 + HIGH CVSS = 優先度 UP
  └─ 内部ネットワーク限定 = 優先度 DOWN

【修復可能性】
  ├─ パッチ存在 → 優先度 UP(修復容易)
  └─ パッチなし → 優先度 DOWN(ワークアラウンド必要)

CISA KEV 統合 {#cisa}

CISA Known Exploited Vulnerabilities Catalog

CISA(Cybersecurity and Infrastructure Security Agency)が、既に野放しで悪用されている脆弱性 を公式カタログで管理。

例:
CVE-2024-1234(Log4j RCE)
  ├─ 公開日: 2024-01-15
  ├─ CVSS: 10.0(最大)
  ├─ KEV 追加日: 2024-01-20
  ├─ Federal Deadline: 2024-02-15(連邦機関は修復期限)
  └─ Inspector Status: CRITICAL + URGENT

Inspector での表示

{
  "FindingType": "CRITICAL",
  "Cvss": 10.0,
  "CisaKeVEntry": {
    "DateAdded": "2024-01-20",
    "FederalDeadline": "2024-02-15",
    "Description": "Apache Log4j Remote Code Execution"
  }
}

ネットワークリーチャビリティ {#network}

ネットワーク分析

Inspector は Security Group・NACLs・VPC フローログを分析し、脆弱なリソースがインターネットに公開されているか を検出。

シナリオ 1: インターネット公開 + HIGH CVSS 脆弱性
  ├─ リスク: 最高
  ├─ 優先度: CRITICAL
  └─ 推奨: 即座修復

シナリオ 2: 内部ネットワーク限定 + HIGH CVSS 脆弱性
  ├─ リスク: 中程度
  ├─ 優先度: MEDIUM
  └─ 推奨: 計画的修復

シナリオ 3: インターネット公開だが LOW CVSS 脆弱性
  ├─ リスク: 低
  ├─ 優先度: LOW
  └─ 推奨: 継続監視

CIS Benchmarks {#cis}

CIS(Center for Internet Security)コンプライアンス検査

【AWS・OS レベル】
✓ IAM Best Practices
✓ EC2 Security Group 設定
✓ S3 暗号化・アクセス制御
✓ CloudTrail ロギング
✓ VPC Flow Logs

【OS・サーバーレベル】
✓ ファイアウォール設定
✓ パッケージ管理
✓ アカウント管理
✓ システムロギング

Inspector での CIS チェック

# CIS Benchmark スコア表示
aws inspector2 list-findings \
  --filter-criteria "resourceType=EC2" \
  --region us-east-1 \
  --query 'findings[*].[title, severity]'

# 出力例:
# ["CIS AWS Foundations Benchmark v1.4.0 - 1.1 Avoid the use of root account", "MEDIUM"]

主要ユースケース {#usecases}

  1. CI/CD パイプライン脆弱性検査:ECR push 時に自動スキャン、HIGH 以上ブロック
  2. 大規模環境の脆弱性管理:1000+ EC2 を一括スキャン、優先度付け
  3. オンプレミス + AWS ハイブリッド管理:統一ダッシュボード
  4. CISA KEV 即座対応:既知悪用脆弱性の Alert → 緊急対応
  5. CIS Benchmark コンプライアンス:自動監査・レポート生成
  6. コンテナイメージ品質ゲート:本番 Deploy 前に脆弱性チェック

設定・操作の具体例 {#cli}

1. Inspector 有効化

# AWS CLI で有効化
aws inspector2 enable \
  --resource-types EC2 ECR LAMBDA \
  --region us-east-1

2. EC2 脆弱性スキャン確認

# スキャン状態確認
aws inspector2 list-coverage \
  --filter-criteria "resourceType=EC2" \
  --region us-east-1

# 脆弱性一覧取得
aws inspector2 list-findings \
  --filter-criteria '[
    {
      "key": "SEVERITY",
      "value": ["CRITICAL", "HIGH"]
    },
    {
      "key": "RESOURCE_TYPE",
      "value": ["EC2"]
    }
  ]' \
  --region us-east-1

3. ECR イメージスキャン・SBOM 生成

# ECR スキャン有効化
aws ecr put-image-scanning-configuration \
  --repository-name my-repo \
  --image-scanning-configuration scanOnPush=true \
  --region us-east-1

# SBOM 生成
aws inspector2 describe-findings \
  --findings '[arn:aws:inspector2:region:account:image/image-id/layer-digest]' \
  --region us-east-1 \
  --query 'findings[0].resources[0].sbom'

4. EventBridge 統合(自動対応)

{
  "Source": ["aws.inspector2"],
  "DetailType": ["Inspector2 Finding"],
  "Detail": {
    "severity": ["CRITICAL", "HIGH"]
  },
  "Targets": [
    {
      "Arn": "arn:aws:lambda:us-east-1:account:function:HandleHighVulnerability",
      "RoleArn": "arn:aws:iam::account:role/EventBridgeRole"
    }
  ]
}

5. Lambda 自動対応関数

import boto3
import json

inspector = boto3.client('inspector2')
sns = boto3.client('sns')

def lambda_handler(event, context):
    finding = event['detail']
    
    severity = finding.get('severity')
    resource_id = finding.get('resources', [{}])[0].get('id')
    cve_id = finding.get('findingDetails', {}).get('cveId')
    cisa_kev = finding.get('cisaKeVEntry')
    
    # CISA KEV 脆弱性 → 即座通知
    if cisa_kev:
        sns.publish(
            TopicArn='arn:aws:sns:us-east-1:account:CriticalVulnerabilities',
            Subject=f'CRITICAL: CISA KEV Vulnerability Detected - {cve_id}',
            Message=json.dumps(finding, indent=2)
        )
    
    # 高優先度脆弱性 → 運用チーム通知
    if severity in ['CRITICAL', 'HIGH']:
        # Auto response: EC2 隔離・ECR イメージ quarantine 等
        pass
    
    return {'statusCode': 200}

CI/CD パイプライン統合 {#cicd}

GitHub Actions での Inspector スキャン

name: Inspector Vulnerability Scan

on:
  push:
    branches: [main]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      
      - name: Build and Push Docker Image
        run: |
          docker build -t my-app:${{ github.sha }} .
          aws ecr get-login-password | docker login \
            --username AWS \
            --password-stdin 123456789012.dkr.ecr.us-east-1.amazonaws.com
          docker tag my-app:${{ github.sha }} \
            123456789012.dkr.ecr.us-east-1.amazonaws.com/my-app:latest
          docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-app:latest
      
      - name: Run Inspector Scan
        run: |
          aws inspector2 scan-image \
            --image-uri 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-app:latest \
            --region us-east-1
      
      - name: Check for Critical Vulnerabilities
        run: |
          CRITICAL_COUNT=$(aws inspector2 list-findings \
            --filter-criteria '[
              {"key":"SEVERITY","value":["CRITICAL"]}
            ]' \
            --region us-east-1 \
            --query 'length(findings)' --output text)
          
          if [ "$CRITICAL_COUNT" -gt 0 ]; then
            echo "Critical vulnerabilities found!"
            exit 1
          fi

GitLab CI での統合

stages:
  - build
  - scan
  - deploy

build_image:
  stage: build
  script:
    - docker build -t my-app:$CI_COMMIT_SHA .
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA

scan_vulnerability:
  stage: scan
  script:
    - aws inspector2 enable --resource-types ECR
    - aws inspector2 list-findings --filter-criteria '[{"key":"RESOURCE_ID","value":["'"$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA"'"]}]'

アクティベーション・管理 {#activation}

初期セットアップ

# リージョンごとに有効化
aws inspector2 enable \
  --resource-types EC2 ECR LAMBDA \
  --region us-east-1

# マルチリージョン展開
for region in us-east-1 us-west-2 eu-west-1; do
  aws inspector2 enable \
    --resource-types EC2 ECR LAMBDA \
    --region $region
done

Organizations 統制

# Organizations 管理アカウントで有効化
aws inspector2 enable-organization \
  --resource-types EC2 ECR LAMBDA

ダッシュボード・レポート {#dashboard}

Inspector Console

ダッシュボード:
├── 総脆弱性数(重要度別集計)
├── CISA KEV 検出数(赤フラグ)
├── 修復完了率(トレンド)
└── リソース別内訳(EC2・ECR・Lambda)

詳細分析:
├── CVE 一覧(修復ガイド付き)
├── ネットワークリーチャビリティ分析
└── CIS Benchmark スコア

CloudWatch ダッシュボード・レポート

# CloudWatch Insights クエリ
fields @timestamp, severity, cveId, resourceId
| stats count() as vulnerability_count by severity
| sort vulnerability_count desc

類似サービス比較 {#comparison}

特性 Inspector Wiz Snyk Trivy
形態 AWS マネージド SaaS SaaS OSS
対象 AWS リソース・コンテナ マルチクラウド 開発環境・コンテナ ローカル・CI/CD
自動スキャン ◎ 継続的 ◎ リアルタイム △ 手動・CI 連携 △ オンデマンド
CISA KEV ◎ 統合 ◎ 統合
CIS Benchmark ×
AWS 統合 ◎◎ ×
価格 従量課金 `0/月~ `0/月~ 無料

ベストプラクティス {#bestpractices}

✅ 推奨

✓ ECR push 時に自動スキャン有効化
✓ CRITICAL・HIGH 脆弱性は 48 時間以内修復
✓ CISA KEV は即座対応(24 時間以内)
✓ 定期的に CIS Benchmark チェック
✓ EventBridge で自動化・Alert
✓ 月次レポート&トレンド分析

❌ アンチパターン

× Finding を無視し続ける
× 脆弱性が多すぎて優先度付けできない
  → 本来修復すべき HIGH が埋没
× CISA KEV を見過ごす
× マネージドルール自動更新を無視
× Inspector 無効化(コスト削減名目)

トラブルシューティング {#troubleshooting}

症状 原因 解決策
EC2 スキャンされない Inspector 有効化忘れ aws inspector2 enable 実行
ECR Finding ゼロ リポジトリにイメージなし ECR イメージ push 確認
CISA KEV Detection なし 脆弱性が Ancient CVE CVE Database アップデート
Lambda スキャン遅延 大規模環境での処理 リージョン分散・スケール検討

2025-2026 最新動向 {#latest}

  1. SBOM 標準化(SPDX/CycloneDX):完全な BoM 生成・マシン読み取り可能
  2. Kubernetes ワークロード スキャン:EKS ポッド・コンテナ脆弱性
  3. ネットワーク分析の高度化:実際の攻撃パスシミュレーション
  4. AI ベース優先度付け:機械学習で真のリスク算出
  5. Inspector Classic 廃止(2026 年 5 月 20 日)

学習リソース・参考文献 {#resources-guide}

公式ドキュメント

  1. AWS Inspector User Guide
  2. Inspector API Reference
  3. CISA KEV Catalog
  4. NVD - National Vulnerability Database
  5. CIS Benchmarks
  6. CVSS Scoring
  7. AWS Inspector Best Practices
  8. SBOM Specification

OSS・ベンダー資料

  1. Trivy - Vulnerability Scanner
  2. Snyk - Developer-First Security
  3. Wiz - Cloud Security Platform
  4. Recorded Future - Threat Intelligence

実装例・ロードマップ {#roadmap}

Week 1-2:初期セットアップ

  • Day 1: Inspector 有効化(全リージョン)
  • Day 3-5: EC2・ECR スキャン確認
  • Day 7-10: CloudWatch ダッシュボード作成
  • Day 14: EventBridge・Lambda 統合

Week 3-4:本運用

  • Day 15-17: CRITICAL Finding 修復
  • Day 18-21: CI/CD パイプライン統合
  • Day 22-28: CIS Benchmark 適合性確認

実装チェックリスト {#checklist}

【基本セットアップ】
☐ Inspector 有効化
☐ EC2・ECR・Lambda リソース確認
☐ CloudWatch Logs 設定
☐ CloudTrail ロギング有効化

【スキャン構成】
☐ ECR on-push スキャン設定
☐ EC2 カバレッジ確認
☐ Lambda 関数スキャン

【自動化】
☐ EventBridge ルール作成
☐ SNS・Lambda 統合
☐ CI/CD パイプライン統合

【運用準備】
☐ ダッシュボード作成
☐ Alert 閾値設定
☐ SLA(修復期限)定義
☐ 四半期レポート テンプレート

【継続運用】
☐ 週次 Finding 確認
☐ CISA KEV 自動監視
☐ CIS Benchmark スコア改善

コスト・プライシング {#pricing}

【スキャン料金】
EC2: $0.15/リソース/月
ECR: $0.10/イメージスキャン
Lambda: $0.01/スキャン

月額概算:
  100 EC2 × $0.15 = $15
  500 ECR × $0.10 = $50
  1000 Lambda × $0.01 = $10
  ────────
  合計:$75/月

まとめ {#summary}

AWS Inspector は 自動化された脆弱性管理 の決定版です。EC2・ECR・Lambda を継続的にスキャンし、CVSS・CISA KEV・CIS Benchmark で優先度付けして修復を促進。CI/CD パイプラインに組み込み、shift-left セキュリティを実現。組織規模での脆弱性管理戦略の中核となります。

核心ポイント

  1. 自動継続スキャン:新規リソース起動時に即座検査
  2. CISA KEV 統合:既知悪用脆弱性の優先的対応
  3. リスク優先度付け:CVSS・ネットワーク分析・修復可能性考慮
  4. CI/CD 統合:開発段階での脆弱性排除
  5. ハイブリッド対応:AWS + オンプレミス統一管理

最終更新:2026-04-26
バージョン:v2.0