2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS BedrockでClaude Codeを動かし、Sysdig Skills(Headless Cloud Security)を使ってみた

2
Posted at

はじめに

2026年5月、Sysdigは Headless Cloud Security という新しいコンセプトを発表しました。ざっくり言うと「CNAPP(Cloud Native Application Protection Platform)の機能を、ダッシュボードUIではなくClaude Codeのようなコーディングエージェント上で Agent Skills として直接使えるようにする」というものです。

Headless Cloud Security brings Sysdig's runtime-grounded security knowledge directly into Claude, so security teams can onboard, investigate, and operate cloud security workflows without leaving their AI environment. (sysdig/skills READMEより)

配布形態は GitHub sysdig/skillsClaude Codeプラグインで、本記事執筆時点では Public Beta(v0.3.0) です。GA製品ではないので、その前提で読んでください。

普段Sysdigの案件に触れている立場として、これを「Claude Code」×「AWS Bedrock」の組み合わせで動かしたらどうなるか気になったので、セットアップから実際にSkillを叩くところまで手順を整理してみました。

本記事のスクリーンショット挿入箇所([SS1][SS6])は現時点でプレースホルダーです。理由は「おわりに」に書いた通り、執筆環境にAWS Bedrockの実クレデンシャルとSysdig Secureの実テナントが無く、実行画面をキャプチャできなかったためです。手元に両方がある方は、本文中のコマンドをそのまま打って画面を差し替えてください。

この記事の「肝」

Bedrockは Claude Codeがどこからモデルを引くか を変えるだけで、Sysdigプラグインの前提には一切登場しません。そして重要なのは、

  • プラグイン(Skills)の導入
  • Sysdig MCPサーバの認証(OAuth) は、

いずれもモデルの供給元(Bedrock/Anthropic API)とは独立している、という点です。つまり「Bedrock上のClaude Code」でも、Sysdig MCPのOAuth認証さえ通せばCNAPP操作はそのまま回ります。ここが「これ、Bedrockでもヘッドレスに動くの?」への答えです。

全体構成

[あなたの端末]
  └─ Claude Code (CLI)
       ├─ 推論エンジン: AWS Bedrock (Claude Opus / Sonnet on Bedrock)
       └─ Plugin: sysdig/skills (headless-cloud-security) ※Public Beta
              ├─ Sysdig MCP Server (別途登録+OAuth) ── Sysdig Secure API
              └─ Agent Skills (計7つ / 後述)

Claude Code自体はAnthropicのAPIキーではなく、AWS BedrockをバックエンドにしてClaudeを呼び出します。そこにSysdigが公開している sysdig/skills プラグインを追加し、さらに Sysdig MCPサーバを登録 することで、Claude Codeのチャット上から「AWSアカウントをSysdigにオンボードして」「本番環境で一番危険な脆弱性を教えて」といった自然言語指示でSysdig Secureの機能を操作できるようになります。

前提条件

  • AWSアカウント(Bedrockが有効化済み、Anthropicモデルのモデルアクセスが承認済み)
  • Sysdig SecureのアカウントおよびSysdig APIトークン(Settings → Sysdig Secure API から発行)
  • Python 3(Sysdigのskillスクリプトが標準ライブラリのみで動く前提のため、pip install は不要)

Node.jsはClaude Codeのネイティブインストーラを使う場合は不要です(後述)。


1. Claude CodeをAWS Bedrock経由で使うようにセットアップする

Claude Code CLIをインストールする

現行の推奨はネイティブインストーラ、またはHomebrewです(npm -g は現行ドキュメントの案内から外れています)。

curl -fsSL https://claude.ai/install.sh | bash

macOSならHomebrewでも入ります。

brew install --cask claude-code

IAM権限を用意する

Bedrock側で最低限必要なIAMポリシーは以下の通りです(公式ドキュメントより)。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowModelAndInferenceProfileAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles",
        "bedrock:GetInferenceProfile"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*",
        "arn:aws:bedrock:*:*:foundation-model/*"
      ]
    }
  ]
}

Bedrockのモデルカタログから、使いたいAnthropicモデルのモデルアクセス(ユースケースフォーム)を一度承認しておく必要があります。

使うモデルのInference Profile IDを確認する

Claude Codeにピン留めするモデルIDは、自分のアカウント/リージョンで実際に有効なクロスリージョン推論プロファイルIDを使うのが確実です。次のコマンドで一覧を取得できます。

aws bedrock list-inference-profiles --region us-east-1

出てくるIDは us.anthropic.claude-opus-4-8-...(米国系)や、APACリージョンなら apac.anthropic.claude-... のようにプレフィックスがリージョングループごとに変わり、末尾に -v1:0 等のバージョンサフィックスが付きます。必ず自分の出力からコピーしてください(下の例はあくまで参考値)。

ログインウィザードでBedrockに接続する

Claude Code v2系では、claude を起動してログインプロンプトで 3rd-party platform → Amazon Bedrock を選ぶだけでウィザードが立ち上がり、AWSプロファイル/アクセスキー等で接続できます。すでにログイン済みなら /setup-bedrock でいつでもこのウィザードを開けます。

claude
# ログインプロンプトで
#   > 3rd-party platform
#   > Amazon Bedrock
# を選択し、ウィザードの指示に従う

[SS1: claude起動直後のログインプロンプトで「Amazon Bedrock」を選んでいる画面]

CI・スクリプトでの一括展開など、ウィザードを使わず環境変数で設定したい場合は以下でも可能です。モデルIDは前節の list-inference-profiles 出力に合わせて置き換えてください。

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1   # AWSプロファイルにリージョン設定が無い場合に指定

# モデルバージョンをピン留め(複数人に展開するときは必須)
# ↓ 値は list-inference-profiles の実IDに合わせること(プレフィックス/サフィックスに注意)
export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8-v1:0'
export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6-v1:0'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

ANTHROPIC_MODEL(メインモデルの直接指定)も使えます。ANTHROPIC_SMALL_FAST_MODEL は非推奨です。優先順位はおおむね「セッションの --model 指定 > ANTHROPIC_DEFAULT_*_MODEL > 既定値」です。

接続できているかは /status で確認できます。プロバイダの行に Amazon Bedrock、リージョンが表示されていればOKです。

[SS2: /status実行結果。Provider: Amazon Bedrock、Regionなどが表示されている画面]


2. Sysdig Headless Cloud Security Skillsをインストールする

Sysdigは sysdig/skills リポジトリでSkillsとClaude Codeプラグインを公開しています(Public Beta)。Claude Code向けにはマーケットプレイス経由が一番簡単です。

/plugin marketplace add sysdig/skills
/plugin install headless-cloud-security@sysdig-skills

[SS3: /plugin marketplace add sysdig/skills 実行後、/plugin install でインストールが完了した画面]

このステップで Skills本体 と、各Skillが宣言する追加MCP依存(agents/*.yaml)がロードされます。

重要:この操作では ホスト型のSysdig MCPサーバは入りません。Sysdig MCPサーバはプラグインにバンドルされておらず、別途自分で登録+OAuth認証 する必要があります(次のステップ)。README/references/mcp-setup.md にも「register it separately」と明記されています。

Sysdig MCPサーバを登録する(← ここが実機の要)

多くのSkillはこのホスト型MCPサーバ経由でテナントに接続します。自リージョンのMCP URL(= リージョンURL + /mcp/secure)を指定して一度だけ登録します。

au1(AP Sydney)の例:

claude mcp add --transport http secure-mcp-server https://app.au1.sysdig.com/mcp/secure

登録名は secure-mcp-server に固定するのが推奨です(デバッグしやすくするため)。その後、初回だけOAuthサインインします。

/mcp  →  secure-mcp-server  →  Authenticate

ブラウザが開いてSysdigにサインインすればセッショントークンが保存されます。このMCP認証はBedrock(モデル供給元)とは無関係なので、Bedrock構成でもそのまま通ります。

リージョン注意:ホスト型MCPが使えるのは mcp-setup.md の対応リージョン表にあるものだけです。表には us1 / us2 / us4 / eu1 / eu2 / au1 / in1 / me2 が含まれます。東京(jp1)は現時点で表に無く、ホスト型MCP未提供なので、jp1テナントはSysdig MCPサーバをセルフホストして、そのURLを登録してください。

ヘッドレス/CI向け:ブラウザを開けない環境では、MCPサーバ登録時に Authorization: Bearer <token>(Sysdig APIトークン)ヘッダを付けるトークン方式も使えます。Bedrock×CIのような完全ヘッドレス構成と相性が良いです。

Sysdig側の認証情報を用意する(REST/Terraform直叩き系Skill用)

sysdig-onboarding / sysdig-posture などREST APIやTerraform providerを直接叩くSkillは、認証情報を環境変数から自動で読み取ります。シェルのプロファイルに追加します。

export SYSDIG_SECURE_URL="https://app.au1.sysdig.com"   # 契約リージョンのURL(au1の例)
export SYSDIG_SECURE_API_TOKEN="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

主なリージョンURL(抜粋):

リージョン Sysdig URL
US East (us1) https://secure.sysdig.com
US West / Oregon (us2) https://us2.app.sysdig.com
EU Central / Frankfurt (eu1) https://eu1.app.sysdig.com
AP Sydney (au1) https://app.au1.sysdig.com
AP Mumbai (in1) https://app.in1.sysdig.com
AP Tokyo (jp1) https://app.jp1.sysdig.com

認証情報はチャットに直接貼らないことが公式にも明記されています。Skillは環境変数だけを見るので、トークンをプロンプト内に書く必要はありません。


3. 実際にSkillを使ってみる

インストールと登録が終わると、あとは自然言語でお願いするだけです。現時点(Public Beta / v0.3.0)で提供されているSkillは 7つ です。

Skill できること
sysdig-onboarding AWS/GCP/AzureやKubernetesクラスタをSysdigに接続するオンボーディングを対話式に進行。Terraform/Helmの設定生成まで行う
sysdig-investigate 脆弱なイメージをリスク指標(検出数・露出時間・実際に悪用可能かなど)でランキングし、Remediation Planを作成。Jira/Linear/GitHub Projectsへのチケット起票も可能
sysdig-remediate 脆弱なコンテナイメージのCritical/High CVEを取得し、安全な修正バージョンを解析。最小限のパッチを作成してGitHub/GitLabにPR/MRを作成
sysdig-runtime-investigate Falcoが検知したランタイム脅威をエンドツーエンドで調査。脆弱性情報とランタイム情報を関連付け、信頼度スコアを付けてJira/PagerDutyに引き渡す
sysdig-runtime-remediate ランタイム脅威への対応アクション(隔離・停止など)を提案し、ユーザー承認のうえ1件ずつ実行(またはチケット化)
sysdig-posture Rego形式のカスタムコントロール・カスタムポリシー作成を支援し、Terraformコードとして出力(書き込みは常にTerraform経由でAPI直書きしない)
sysdig-sysql Sysdig Secureに対するSysQLグラフクエリの作成・デバッグ・解説(MATCH/RETURN構文、スキーマ探索)

オンボーディングをお願いしてみる

> Onboard my AWS account to Sysdig

と打つだけで sysdig-onboarding が起動し、対話形式か一括生成(自律モード)かを選べます。セキュリティ機能を平易な言葉で説明しながら必要なTerraformを生成し、前提チェック→デプロイ→接続確認まで進めてくれます。

[SS4: sysdig-onboardingが起動し、AWSアカウント接続のTerraformコードを提示している画面]

脆弱性の優先度付けをお願いしてみる

> Show me the highest-risk vulnerabilities in production

sysdig-investigate が、露出時間や実際の悪用可能性といった指標でイメージをランキングし、対応方針(Remediation Plan)を提示します。ここから「Jiraにチケットを切って」と続ければ担当者割り当てまで自動で行われ、sysdig-remediate にハンドオフしてPR作成まで一気通貫で進められます。

[SS5: 脆弱性ランキングとRemediation Planの出力、および生成されたJiraチケット/PRの画面]

ランタイムの脅威を調査してもらう

> Investigate this runtime alert and tell me if it's exploitable

Falcoアラートを起点に、影響を受けたイメージの列挙、ネットワークの影響範囲、疑わしいバイナリのVirusTotal照会まで、事件のクラスに応じて深掘りしてくれます。

[SS6: sysdig-runtime-investigateによるFalcoアラートの調査結果とスコアリング画面]


つまづきやすいポイント

Bedrock経由でClaude Code + Sysdigを使う場合、以下は事前に知っておくと詰まりにくいです。

  • ホスト型MCPのリージョンau1 は対応済みだが、jp1(東京)は現状ホスト型MCP未提供。東京テナントはSysdig MCPサーバのセルフホストが必要。
  • MCP認証はモデル供給元と独立:Bedrockかどうかに関係なく、claude mcp add/mcp → Authenticate が別途必要。プラグインを入れただけでは繋がらない。
  • モデルIDは自アカウントの実IDを使うaws bedrock list-inference-profiles の出力からコピー。リージョングループでプレフィックス(us. / eu. / apac.)が変わり、末尾に -v1:0 等が付く。エイリアス(opus/sonnet)のままだとAnthropicのモデル更新で意図せず切り替わり得るので、複数人展開時は ANTHROPIC_DEFAULT_*_MODEL でピン留めが安全。
  • リージョン設定AWS_REGION はプロファイルにリージョンが無い場合に指定。実際に使われているリージョンは /status で必ず確認。
  • /logout が使えない:Bedrock経由の認証はAWSのクレデンシャルチェーンに委ねられるため、/logout コマンドは利用不可(公式明記)。
  • WebSearchツールが無効:Bedrock経由のClaude CodeではWebSearchツールが使えない(公式明記)。Sysdig Skillsの動作自体には影響しないが、他の調査タスクと組み合わせる際は注意。
  • ガバナンス:Headless Cloud Securityは「エージェントが提案し、人間が決める」設計で、操作は構造化ログとして記録・監査可能。とはいえ Public Beta(v0.3.0) のプラグインなので、本番に対して実行する前は必ず出力を人がレビューする運用にしておくのが無難。

おわりに

AWS Bedrock上のClaude CodeにSysdigのHeadless Cloud Security Skillsを組み合わせると、脆弱性の優先度付けからチケット起票、PR作成までを、ダッシュボードを開かずチャットだけで完結させられるのが体感できます。CNAPPのようなセキュリティ運用が「ダッシュボードにログインして眺める」ものから「コーディングエージェントに聞く」ものへ変わっていく流れを、実際にコマンドを叩いて確認できたのは面白い体験でした。

なお本記事の執筆環境(Cowork/サンドボックス)では、実際のAWS Bedrockクレデンシャルと契約済みのSysdig Secureテナントの両方を持っていなかったため、[SS1][SS6] の実行画面はプレースホルダーとして残しています。ローカルのClaude Code + 実際のBedrock/Sysdig環境をお持ちの方は、本文中の各コマンドをそのまま実行し、該当箇所に実際のターミナル画面をキャプチャして貼り付けてください。

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?