1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

【Claude Sonnet 4.6】Anthropicの最新モデルで脆弱性評価させてみた!

  • このエントリーをはてなブックマークに追加

この記事のポイント

Anthropic社の最新モデル「Claude Sonnet 4.6」がリリースされました。AWS Kiroでも利用可能になった本モデルの性能とコストパフォーマンス、そして実務での活用可能性について検証します。

  • Opus級の性能と低コスト:
    旧Opusモデルに匹敵する性能を持ちながら、Sonnetシリーズ同等の低価格を実現。
  • コーディング能力の向上:
    初期アクセスの開発者から高い評価を得ており、指示従順性が向上。
  • セキュリティ診断での実力検証:
    脆弱性のあるCloudFormationテンプレートを用いた検証で、的確な指摘が可能かを確認。

はじめに

DXソリューション営業本部の三浦です。

生成AI界隈で常に注目を集めるAnthropic社から、新たなモデル「Claude Sonnet 4.6」がリリースされました。
今回のアップデートでは、最上位モデルであるOpusシリーズに迫る高性能を持ちながら、Sonnetシリーズ特有の低コストかつ高速なレスポンスを維持している点が大きな特徴です。

そこで今回は、私たちが活用しているAWS製のIDE「Kiro」でも本モデルがいち早く利用可能になったことを受け、その実力を検証してみました。脆弱性診断などの実務的なタスクでどこまで通用するのか、具体的なコードを用いてその挙動を確認していきます。

Sonnet 4.6概要

Sonnet 4.6は、より多くのユーザーに大幅に向上したコーディングスキルをもたらします。
一貫性や指示への従順性などが改善され、早期アクセスを利用した開発者は、前バージョンよりもSonnet 4.6を大差で好む傾向にあります。
また、2025年11月時点での最上位モデルであるClaude Opus 4.5よりも好まれるケースも多くなっています。

詳細:https://www.anthropic.com/news/claude-sonnet-4-6

モデルごとのベンチマーク比較

項目 Sonnet 4.6 Opus 4.6 Opus 4.5 Sonnet 4.5 Gemini 3 Pro GPT-5.2
(all models)
コーディング能力
エージェント型ターミナルコーディング
(Terminal-Bench 2.0)
59.1% 65.4% 59.8% 51.0% 56.2% 64.7%
エージェント型コーディング
(SWE-bench Verified)
79.6% 80.8% 80.9% 77.2% 78.0% 80.0%
エージェント操作・ツール利用
エージェント型コンピュータ操作
(OSWorld-Verified)
72.5% 72.7% 66.3% 61.4% 38.2%
エージェント型ツール利用
(τ2-bench)
91.7% (Retail)
97.9% (Telecom)
91.9% (Retail)
99.3% (Telecom)
88.9% (Retail)
98.2% (Telecom)
86.2% (Retail)
98.0% (Telecom)
85.3% (Retail)
98.0% (Telecom)
82.0% (Retail)
98.7% (Telecom)
大規模ツール利用
(MCP-Atlas)
61.3% 59.5% 62.3% 43.8% 54.1% 60.6%
エージェント型検索
(BrowseComp)
74.7% 84.0% 67.8% 43.9% 59.2% 77.9%
推論・実務能力
学際推論 (ツールなし)
(Humanity's Last Exam)
33.2% 40.0% 30.8% 17.7% 37.5% 36.6%
学際推論 (ツールあり)
(Humanity's Last Exam)
49.0% 53.0% 43.4% 33.6% 45.8% 50.0%
エージェント型財務分析
(Finance Agent v1.1)
63.3% 60.1% 58.8% 54.5% 55.2% 59.0%
オフィス業務
(GDPval-AA Elo)
1633 1606 1416 1276 1201 1462
新規問題解決
(ARC-AGI-2)
58.3% 68.8% 37.6% 13.6% 31.1% 54.2%
大学院レベル推論
(GPQA Diamond)
89.9% 91.3% 87.0% 83.4% 91.9% 93.2%
視覚・多言語対応
視覚的推論
(MMMU-Pro: with tools)
75.6% 77.3% 73.9% 68.9% 80.4%
多言語Q&A
(MMMLU)
89.3% 91.1% 90.8% 89.5% 91.8% 89.6%

AWS Kiroでも利用可能に

Sonnet 4.6は実験的モデルとして、Google、GitHub、AWS BuilderID、およびAWS IAM Identity CenterでログインするすべてのKiro Pro、Pro+、およびPowerユーザーが利用可能です。

AWS US-East-1(バージニア北部)およびAWS Europe(フランクフルト)リージョンで利用可能で、Sonnet 4.5と同様に1.3倍のクレジット倍率を特徴としており、開発作業において非常にコスト効率が良いのが特徴です。

参考リンク:
https://kiro.dev/blog/sonnet-4-6/
https://kiro.dev/changelog/models/claude-sonnet-4-6-is-now-available-in-kiro/

モデルの選択

Kiroのチャット画面から選択可能になっています。

Kiroでのモデル選択画面

消費クレジットの比較

各モデルのクレジット倍率は以下のようになっています。Opusと同等の性能を持ちながら従来のSonnet同等の消費係数です。

モデル名 バージョン 消費クレジット 特徴
Claude Sonnet 4.6 4.6 1.3x Credit Opusレベルの知能を、多くのタスクで実用的に使える価格帯
Claude Opus 4.6 2.2x Credit 最新フラッグシップ。論理推論・コーディング最強
Auto - 1x Credit タスクに応じて自動選択

検証:脆弱性のあるIaCコードを指摘させる

意図的にセキュリティに問題のあるCloudFormationテンプレートを作成し、脆弱性を明言しない状態でレビューしてもらいました。

シナリオ1:脆弱なS3バケット

以下の脆弱性を含んだコードを使用します。

  1. パブリックアクセスブロック設定の欠如
  2. バケット暗号化の欠如
  3. バージョニングの無効化
  4. アクセスログの無効化
  5. パブリック読み取り権限の付与
  6. パブリックリスト権限の付与
  7. ライフサイクルポリシーの欠如
テンプレートコードを表示(クリックして展開)
AWSTemplateFormatVersion: '2010-09-09'
Description: 'S3 Bucket Configuration Template'

Resources:
DataStorageBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub 'data-storage-bucket-${AWS::AccountId}'
Tags:
- Key: Environment
Value: Production
- Key: Application
Value: DataStorage

BucketAccessPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref DataStorageBucket
PolicyDocument:
Version: '2012-10-17'
Statement:
- Sid: AllowPublicRead
Effect: Allow
Principal: '*'
Action:
- 's3:GetObject'
- 's3:GetObjectVersion'
Resource: !Sub '${DataStorageBucket.Arn}/*'

- Sid: AllowPublicList
Effect: Allow
Principal: '*'
Action:
- 's3:ListBucket'
Resource: !GetAtt DataStorageBucket.Arn

Outputs:
BucketName:
Description: Name of the S3 bucket
Value: !Ref DataStorageBucket

BucketArn:
Description: ARN of the S3 bucket
Value: !GetAtt DataStorageBucket.Arn

BucketDomainName:
Description: Domain name of the S3 bucket
Value: !GetAtt DataStorageBucket.DomainName

結果

検証の結果、意図して埋め込んだ7つの脆弱性すべてを漏れなく指摘することに成功しました。
特に、「重大度(Critical / High)」を適切に分類できている点や、なぜそれが危険なのかという理由が簡潔かつ具体的に説明されている点が優れています。セキュリティ専門家でなくともリスクが直感的に理解できるレビュー内容は、実務においても有用そうです。

Credits used: 0.27
Elapsed time: 17s
contextusage 18%

シナリオ1のレビュー結果
Kiroによるレビュー結果を表示(クリックして展開)

セキュリティレビュー結果
このCloudFormationテンプレートは本番環境では絶対に使用してはいけません。テンプレート名に「vulnerable(脆弱)」とある通り、意図的に複数の重大なセキュリティ脆弱性が含まれています。

検出された脆弱性( 7 件)
🔴 重大度: Critical

  • パブリック読み取りアクセスの許可
    • 全世界(Principal: '*' )に対してオブジェクトの読み取り権限を付与
    • 機密データが誰でもアクセス可能な状態
  • パブリックリスト権限の付与
    • 全世界に対してバケット内のオブジェクト一覧表示を許可
    • バケット内のファイル構造が丸見え
  • パブリックアクセスブロック設定の欠如
    • PublicAccessBlockConfigurationが未設定
    • AWSのセーフガードが機能しない

🟠 重大度: High

  • 暗号化の無効化
    • BucketEncryptionが未設定
    • 保存データが平文で保存される
  • バージョニングの無効化
    • VersioningConfigurationが未設定
    • 誤削除や上書きからの復旧が不可能
  • アクセスログの無効化
    • LoggingConfigurationが未設定
    • セキュリティ監査やインシデント調査が困難
  • ライフサイクルポリシーの欠如
    • 古いデータの自動削除や移行がない
    • コスト増加とデータ管理の問題

推奨される対応
このテンプレートは以下の用途でのみ使用可能です:
セキュリティトレーニング教材、脆弱性スキャンツールのテスト、セキュリティ監査の演習環境。
本番環境や実データを扱う環境では使用しないでください。

セキュアなS3バケットのテンプレートが必要な場合は、修正版の作成をお手伝いできます。修正版を作成しますか?

シナリオ2:過剰なIAMロール

続いて、過剰な権限を持つIAMロールの定義についても検証します。

  1. 全リソースへのフルアクセス権限
  2. ワイルドカード信頼ポリシー
  3. 条件なしの信頼ポリシー
  4. 全アクション・全リソースのワイルドカードポリシー
  5. 全S3バケットへの無制限アクセス
  6. 条件なしのS3アクセス
  7. 全Secrets Managerシークレットへのアクセス
  8. 全RDSインスタンスへのフルアクセス
  9. ExternalIdなしのクロスアカウントアクセス
テンプレートコードを表示(クリックして展開)
AWSTemplateFormatVersion: '2010-09-09'
Description: 'IAM Roles and Policies Configuration Template'

Resources:
ApplicationExecutionRole:
Type: AWS::IAM::Role
Properties:
RoleName: ApplicationExecutionRole
Description: Role for application execution
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
AWS: '*'
Action: 'sts:AssumeRole'

ManagedPolicyArns:
- 'arn:aws:iam::aws:policy/AdministratorAccess'

Tags:
- Key: Purpose
Value: ApplicationExecution

CustomAccessPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyName: CustomAccessPolicy
Roles:
- !Ref ApplicationExecutionRole
PolicyDocument:
Version: '2012-10-17'
Statement:
- Sid: AllowAllActions
Effect: Allow
Action: '*'
Resource: '*'

StorageAccessRole:
Type: AWS::IAM::Role
Properties:
RoleName: StorageAccessRole
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: ec2.amazonaws.com
Action: 'sts:AssumeRole'
Policies:
- PolicyName: S3FullAccess
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- 's3:*'
Resource:
- 'arn:aws:s3:::*'
- 'arn:aws:s3:::*/*'

DatabaseManagementRole:
Type: AWS::IAM::Role
Properties:
RoleName: DatabaseManagementRole
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
- ec2.amazonaws.com
Action: 'sts:AssumeRole'
Policies:
- PolicyName: SecretsAccess
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- 'secretsmanager:GetSecretValue'
- 'secretsmanager:DescribeSecret'
- 'secretsmanager:ListSecrets'
- 'secretsmanager:PutSecretValue'
- 'secretsmanager:DeleteSecret'
Resource: '*'

- PolicyName: DatabaseAccess
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- 'rds:*'
Resource: '*'

CrossAccountAccessRole:
Type: AWS::IAM::Role
Properties:
RoleName: CrossAccountAccessRole
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
AWS: '*'
Action: 'sts:AssumeRole'
ManagedPolicyArns:
- 'arn:aws:iam::aws:policy/PowerUserAccess'

Outputs:
ApplicationRoleArn:
Description: ARN of the application execution role
Value: !GetAtt ApplicationExecutionRole.Arn

StorageRoleArn:
Description: ARN of the storage access role
Value: !GetAtt StorageAccessRole.Arn

DatabaseRoleArn:
Description: ARN of the database management role
Value: !GetAtt DatabaseManagementRole.Arn

CrossAccountRoleArn:
Description: ARN of the cross-account access role
Value: !GetAtt CrossAccountAccessRole.Arn

結果

IAMロールに関する診断においても、非常に高い精度を示しました。
特に「ApplicationExecutionRole」に対して「最も危険」と断言し、Principalの設定不備(全世界公開)とAdministratorAccessの組み合わせによる致命的なリスクを最優先で指摘している点は高く評価できます。各ロールの問題点を構造的に整理して提示しており、修正方針も具体的です。

Credits used: 0.29
Elapsed time: 18s
contextusage 19%

シナリオ2のレビュー結果
Kiroによるレビュー結果を表示(クリックして展開)

セキュリティレビュー結果
このCloudFormationテンプレートには重大なセキュリティ脆弱性が複数存在します。本番環境での使用は絶対に避けてください。

🚨 重大な問題点

1 . ApplicationExecutionRole - 最も危険

  • Principal: '*' : 誰でもこのロールを引き受け可能(全世界に公開)
  • AdministratorAccess: AWS環境の完全な管理者権限
  • Action: '', Resource: '' : すべてのAWSサービスへの無制限アクセス
  • リスク: 攻撃者がこのロールを使用してAWS環境全体を完全に制御可能

2 . CrossAccountAccessRole - 非常に危険

  • Principal: '*' : 誰でもこのロールを引き受け可能
  • PowerUserAccess: IAM以外のほぼすべてのAWSサービスへのフルアクセス
  • リスク: 外部の攻撃者が簡単にアクセス可能

3 . StorageAccessRole - 過剰な権限

  • s3:* すべてのS3バケットへのフルアクセス
  • Resource: 'arn:aws:s3:::*' : アカウント内のすべてのバケットが対象
  • リスク: データ漏洩、削除、改ざんのリスク

4 . DatabaseManagementRole - 過剰な権限

  • secretsmanager:DeleteSecret: シークレットの削除が可能
  • rds:*: すべてのRDS操作が可能(削除含む)
  • Resource: '*' : すべてのリソースが対象
  • リスク: データベースの削除、機密情報の漏洩

📋 推奨される修正内容
各ロールについて以下の原則を適用すべきです:

  • 最小権限の原則: 必要最小限の権限のみを付与
  • Principal の制限: 特定のAWSアカウントやサービスのみに限定
  • Resource の制限: 特定のリソースARNを指定
  • 条件の追加: MFA必須化、IPアドレス制限など

⚠️ 結論
このテンプレートは使用しないでください。
もし学習目的や脆弱性テスト環境の構築が目的であれば、隔離された専用のAWSアカウントで使用し、使用後は必ずリソースを削除してください。
本番環境や開発環境で使用する場合は、セキュアなテンプレートへの全面的な書き直しが必要です。

まとめ

今回は、Claude Sonnet 4.6 の概要と、AWS Kiroを用いたIaCコードレビューの検証結果をお届けしました。
Claude Sonnet 4.6はMCPの補助なしで脆弱性を見抜く推論能力の高さを感じました。

もちろん、システム全体の複雑な依存関係や、独自のビジネスロジックに基づいた深い推論が必要な場面では、引き続きOpus 4.6に軍配が上がる可能性はあります。しかし、日常的なレビューやセキュリティチェックならSonnet 4.6は十分な性能を発揮してくれそうです。

↓QESではKiroについて積極的に情報発信していきますので是非ご覧ください!



Kiroの導入支援につきましては、弊社お問合せフォームまでお気軽にご連絡ください。 複雑な内容に関するお問い合わせの場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>

<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>

※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード