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.