日本語

Aikido MCPの使用

Aikido MCP サーバーが公開するツールと、エージェントにそれらを使わせるためのプロンプト例。

MCP サーバーをインストールすると、これらのツールを自分で呼び出す必要はありません。自然な言葉で依頼すれば、エージェントが適切なツールを選択します。

利用可能なツール

aikido_scan_paths

ディスクに保存されたファイルを、脆弱性(SAST)、ハードコードされたシークレット、IaC の設定ミスについてスキャンします。これが推奨されるスキャンツールです。

  • スキャンするファイルを paths に、絶対パスまたは root からの相対パスで指定します。ディレクトリは拒否されるため、各ファイルを列挙してください
  • 検出結果がワークスペースまたはリポジトリのルートからの相対パスで報告されるよう、root にそのルートを設定します。存在しないパスや root の外にあるパスはスキップされ、skipped_paths に列挙されます
  • ファイルがリポジトリに由来する場合は、必要に応じて repository_name を渡すと、Aikido でそのリポジトリに紐付けられます

aikido_full_scan

ファイルの内容として渡されたコードをスキャンします。生成されたが未保存のコード、貼り付けられたスニペット、提案された変更など、コードがまだディスク上にない場合に使用します。ファイルがディスク上に存在する場合は、常に aikido_scan_paths を使用してください。

  • files_to_scan に各ファイルを relativeFilePath とその content として指定します

aikido_oss_dependency_scan

ディスクに保存された依存関係マニフェストとロックファイルを、脆弱なパッケージ、古いパッケージ、悪意のあるパッケージについてスキャンします。

  • スキャンするマニフェストとロックファイルを paths に指定します。例: package.json と package-lock.json、requirements.txt、go.mod と go.sum、または pom.xml。ディレクトリは拒否されます
  • 検出結果がワークスペースまたはリポジトリのルートからの相対パスで報告されるよう、root にそのルートを設定します
  • ファイルがリポジトリに由来する場合は、必要に応じて repository_name を渡します

aikido_issues_list

Aikido フィードからセキュリティ課題を取得します。

  • スコープでフィルタリング: repo_name、cloud_name、vm_name、domain_name、container_name、workspace_name または team_name
  • 必要に応じて、repo_branch_name でリポジトリのスコープを単一のブランチに絞り込みます
  • 1 つ以上の課題タイプを選択: sast、leaked_secret、iac、open_source、cloud、cloud_instance、docker_container、malware、eol、mobile、surface_monitoring、scm_security、license、ai_pentest、ai_code_analysis
  • labels でフィルタリングすると、指定したラベルのいずれかを持つリポジトリまたはコンテナイメージ上の課題のみを返します
  • severity でフィルタリングすると、特定の重大度、または指定したしきい値以上の課題のみを返します
  • page(0 始まり)で結果をページ送りします
  • out_of_sla または sla_due_soon のフィルターを選択して SLA でフィルタリングします
  • 各課題をタイトル、タイプ、重大度、修正手順とともに返します

単一の課題の参照

issue_id を渡すと、1 つの課題の詳細を取得できます。一覧表示よりも多くの情報が返されます。

  • score_reasons: 課題がその重大度になったすべての理由。それぞれに読みやすい説明と、スコアをどれだけ変動させたかが含まれます(例: 実際に悪用が確認されている既知のエクスプロイト)
  • pentest: AI ペンテストの検出結果の場合、概要、リスク、再現手順、根本原因、修正方法を含む攻撃分析
  • licenses: ライセンス課題の場合、検出されたライセンスとその法的リスク、およびその理由

aikido_workspaces_list

アクセス権のある Aikido ワークスペースを一覧表示します。エージェントは、workspace_name で課題をフィルタリングする前に、正確なワークスペース名を調べるためにこれを使用します。

aikido_ignore_issue

フィード内のセキュリティ課題を無視します。issue_id と reason が必要です。

aikido_unignore_issue

以前に無視した課題の無視を解除します。issue_id と reason が必要です。

aikido_snooze_issue

フィード内のセキュリティ課題を一時的に非表示にします。issue_id、reason、および duration(1_day、1_week、1_month、3_months、6_months または 1_year)が必要です。

aikido_unsnooze_issue

以前にスヌーズした課題のスヌーズを解除します。issue_id が必要です。

aikido_adjust_issue_severity

セキュリティ課題の重大度を引き上げまたは引き下げます。issue_id、新しい adjusted_severity(critical、high、medium または low)、および reason が必要です。

aikido_login

Aikido のサインインフローを開始します。サインイン URL を返すか、すでにサインイン済みであることを確認します。

  • サインインすると、アカウントのリージョンに自動的にリダイレクトされます。誤ったリージョンに到達した場合にのみ region(eu、us、me、au)を設定してください
  • アカウントを切り替える場合や再度サインインする場合は force_reauth を使用します

すべての MCP ツールがデフォルトで有効になっているわけではありません。管理者は権限ページで全員に対して有効にできます

プロンプト例

コードのスキャン

  • 「Aikido を使ってこのファイルのセキュリティ課題をスキャンして」
  • 「コミットする前に、ステージした変更に Aikido スキャンを実行してシークレットをチェックして」
  • 「今編集したファイルを Aikido でスキャンして、payments-api リポジトリに紐付けて」

リポジトリ別の課題の確認

  • 「payments-api のすべての重大(critical)な Aikido 課題を表示して」
  • 「Aikido から frontend-web の漏洩したシークレットを一覧表示して」
  • 「Aikido は api-gateway でどのようなオープンソースの脆弱性を検出している?」
  • 「Aikido から infra-core の SAST と IaC の課題を表示して」

クラウド、VM、コンテナ別の課題の確認

  • 「prod-aws のすべての Aikido クラウド課題を一覧表示して」
  • 「Aikido から web-server-01 のマルウェアの検出結果を表示して」
  • 「Aikido によると、nginx-proxy コンテナではどのようなサポート終了ソフトウェアが動いている?」
  • 「Aikido で example.com のサーフェスモニタリング課題を表示して」

1 つの課題の深掘り

  • 「Aikido 課題 12345 の詳細をすべて教えて」
  • 「Aikido 課題 12345 が critical と評価されているのはなぜ?既知のエクスプロイトはある?」
  • 「Aikido のペンテスト検出結果 12345 の再現手順を順を追って説明して」

課題の管理

  • 「Aikido 課題 12345 を 1 か月スヌーズして。次のリリースで修正する予定です」
  • 「Aikido 課題 12345 の重大度を low に下げて。そのエンドポイントは内部専用です」
  • 「Aikido 課題 12345 の無視を解除して。緩和策が削除されました」
  • 「どの Aikido ワークスペースにアクセスできる?」

組み合わせたワークフロー

  • 「Aikido を使って現在の変更をスキャンし、同じリポジトリの既存の critical な課題を表示して」
  • 「この PR を Aikido でチェックして、リポジトリ内の未解決の SAST 課題と比較して」

スキャンを実行するタイミングの制御

スキャンするタイミングを決めるのは Aikido ではなく、エージェントです。スキャンは、エージェントが aikido_scan_paths を呼び出したときに実行されます。

そのため、スキャンについてエージェントに伝えた内容は、すぐにセッションの残りの間有効になります。

スキャンの一時停止

  • 「私が依頼するまで Aikido スキャンを実行しないで。」
  • 「これを繰り返し調整している間は Aikido スキャンを一時停止して。」
  • 「今は Aikido スキャンをスキップして。コミット前に依頼します。」

編集ごとではなく最後に 1 回スキャンする

  • 「編集のたびにスキャンしないで。タスク全体が完了したら Aikido スキャンを 1 回実行して。」
  • 「ステージした変更への Aikido スキャンは、コミットの直前に実行して。それより前には実行しないで。」

スキャンを小さく保つ

スキャン時間は投入するコード量に比例するため、スキャンを無効にするよりも範囲を絞り込むほうが通常は高速です。

  • 「ディレクトリ全体ではなく、変更したファイルだけをスキャンして。」
  • 「src/payments/ だけをスキャンして。」
  • aikido_full_scan よりも aikido_scan_paths を優先してください。ファイルの内容を会話経由で渡すのではなく、ディスクからファイルを読み取ります。

デフォルトにする

プロンプトでの指示は 1 セッションの間だけ有効です。すべてのセッションのデフォルトを変更するには、同じ指示をエージェントのルールファイル(CLAUDE.md、.cursor/rules、AGENTS.md など)に記述します。

Run an Aikido scan only when I explicitly ask for one, or before a commit.