Cloud Search: アセットインベントリの検索
探しているものを自然言語で記述してクラウドインベントリを検索すると、システムが関連するアセットの見つけ方を判断します。以下の例を参考にして、使い始めたり着想を得たりしてください。
シンプルなプロンプト
Section titled “シンプルなプロンプト ”| プロンプト | 重要な理由 |
|---|---|
| public s3 buckets | パブリックなS3バケットは設定ミスが頻発し、データ漏洩や流出につながる可能性があります。バケットを公開する方法も複数存在します。 |
| buckets outside eu | データレジデンシーに関するコンプライアンス(GDPRなど)の順守を支援し、機密データが許可された地域外に出ないようにします。 |
| users without mfa | 多要素認証(MFA)が未設定のアカウントは、認証情報の窃取によるアカウント乗っ取りに対して脆弱です。 |
| users with programmatic access | APIキーでクラウドと連携できるユーザーを特定します。こうした認証情報は攻撃者の標的になりやすいものです。 |
| databases without deletion protection | 重要なデータベースの誤削除や悪意ある削除を防ぎます。 |
ネットワーキングに関するプロンプト
Section titled “ネットワーキングに関するプロンプト ”| プロンプト | 重要な理由 |
|---|---|
| EC2 instances with open management ports | SSH(22)やRDP(3389)のようなポートがインターネットに公開されていると、不正アクセスの主要な攻撃経路になります。 |
| RDS databases allowing traffic from ec2 instances | 攻撃者が悪用しうる信頼関係や横展開(ラテラルムーブメント)の経路を特定するのに役立ちます。 |
| Lambda functions not running in VPCs | VPC外で動作する関数はネットワーク制御が欠けている場合があり、機密トラフィックがパブリックインターネットに露出する可能性があります。 |
| ec2 instances that might host databases | 明示的にラベル付けされていなくても、追加の保護や監視が必要な可能性のあるデータストアを特定するのに役立ちます。 |
| lambdas with access to VPC endpoints | VPCアクセス権を持つLambda関数が悪用されると、機密性の高い内部サービスやデータベースとやり取りされる可能性があります。 |
IAMに関するプロンプト
Section titled “IAMに関するプロンプト ”| プロンプト | 重要な理由 |
|---|---|
| ec2 instances with access to s3 buckets | 過度に許可されたIAMロールを介したデータ持ち出し(exfiltration)の経路を検出します。 |
| lambdas that can create users | ユーザーを作成する権限を持つ関数は、永続化や権限昇格に悪用される可能性があります。 |
| iam roles accessible from other accounts | クロスアカウントアクセスは攻撃対象領域を拡大し、監視されていない可能性があります。 |
| users with admin privileges | 過剰な権限を持つユーザーは、セキュリティ設定ミスや内部脅威の主要な原因です。 |
| overprivileged IAM roles | 最小権限のベストプラクティスを超える過剰な権限を持つロールを検出します。 |
CVE/EOLの問題
Section titled “CVE/EOLの問題 ”| プロンプト | 重要な理由 |
|---|---|
| ec2 instances vulnerable to CVE-2025-21613 | インフラ内の既知かつリスクの高い脆弱性を対象とした修正を可能にします。 |
| ec2 instances running outdated OS | レガシーシステムは重要なセキュリティパッチやサポートが欠けていることが多く、リスクが高まります。 |
| VMs with outdated python | 古いランタイムは脆弱性を持ち、最新のセキュリティライブラリと互換性がない可能性があります。 |
| VM with critical vulnerabilities | 脆弱性の深刻度に基づき、悪用される可能性が最も高いVMの修正を優先します。 |
| ec2 instances vulnerable to log4shell | 特定の脆弱性を対象にすることで、重大なゼロデイを迅速かつ徹底的にパッチできます。 |
| containers with high or critical vulnerabilities | クラウドでコンテナを実行する方法は、ECS、Lambda、App Runnerなど複数あります。これにより、重大な脆弱性の影響を受けるコンテナを特定し、優先順位を付けることができます。 |
| containers with outdated python | 古いパッケージ(この場合はpython)を使用しているコンテナを、全サービス横断で迅速に特定します。 |
| containers with eol distros | コンテナは、ベースイメージの一部として、メンテナンスされていないOSを実行している場合もあります。これらを更新することで、コンテナのセキュリティが大幅に向上し、多くの脆弱性の解消にもつながる可能性が高いです。 |
応用: 組み合わせる
Section titled “応用: 組み合わせる ”| プロンプト | 重要な理由 |
|---|---|
| show me public ec2 instances vulnerable to CVE-2025-21613 with access to s3 buckets | エンドツーエンドの攻撃チェーン(公開露出+脆弱性+機密データへのアクセス)をモデル化します。 |
| lambda functions created manually | 手動プロビジョニングはIaCのガードレールやコンプライアンスチェックを回避する可能性があります。 |
| functions exposed to the internet with admin permissions | 管理者権限を持ち、かつインターネットに露出したサーバーレスリソースは、権限昇格やデータ持ち出しに悪用される可能性があります。 |
| my riskiest datastores | 露出、脆弱性、権限に基づいて、Aikidoが最もリスクの高いデータアセットを可視化し、優先的な保護を可能にします。 |
プロンプトのベストプラクティス
Section titled “プロンプトのベストプラクティス ”-
完璧な用語を探すのに苦労する必要はありません: 従うべき定型プロンプトや用語、ルールはありません。クラウド環境について見たいものを自由に記述すれば、Aikidoが必要な検索とクエリ生成を判断します。
-
プロンプトエンジニアリング: 結果に満足できない場合は、求めているものをより具体的に記述してみてください。例
❌
functions with access to rds✅
lambda functions with network access to rds instances -
幅広い探索には単一キーワードを使用: 単一のキーワードを入力すると、Aikidoはアセット全体に対して幅広いテキスト検索を実行します。例えば、ユーザー名で検索すると次のような結果が返されます。
- 同じまたは類似した名前を持つユーザー
- ユーザーが所属するグループ、
タグに名前が含まれるアセット、
ユーザーに言及するポリシー
ヒント: ユーザー名、インスタンス名、タグの値などのキーワードを使うと、関連するアセットや権限を素早く見つけられます。 例えば alice と入力すると、彼女のユーザープロファイル、所属グループ、彼女の名前がタグ付けされたEC2インスタンス、彼女に言及するIAMポリシーが、1回の検索でまとめて表示される場合があります。
仕組み(詳細)
Section titled “仕組み(詳細) ”クラウド環境を接続すると、Aikidoは自動的にアセットインベントリを構築し、アカウントおよびリージョン全体を可視化します。AikidoはクラウドプロバイダーのAPIを呼び出すことで、(スケジュール実行または手動実行の)クラウドスキャンの一部としてインベントリを同期します。さらに、仮想マシンやコンテナで検出された脆弱性やEOL(サポート終了)の問題など、Aikidoプラットフォームのデータでグラフを強化します。
クラウドアセットインベントリには、Clouds -> Assets タブから移動してアクセスできます。ここでは、接続済みのすべてのクラウドのアセットが表示されます。また、特定のクラウドに移動し、そのAssetsタブでは、そのクラウドのアセットのみが表示されます。

クラウドインベントリを検索するには、求めているものを自然言語で記述し、システムに関連するアセットの見つけ方を判断させます。Aikidoはプロンプトの複雑さに応じて、それを1つまたは複数のステップに変換します。そして、最終結果に到達するまでの各ステップを実行しながら、中間結果を表示します。
上記の例では、「show me EC2 instances with access to S3 buckets」というプロンプトに対し、Aikidoは(インスタンスプロファイル経由でアタッチされた)IAMロールを持つEC2インスタンスを探し、S3バケットへのアクセス権を持つIAMロール(インラインポリシーまたはアタッチされたポリシーのいずれかで付与)を見つけ、IAMロールへのアクセスを許可するバケットポリシーを見つけ、これらを組み合わせて最終結果としました。
最初のタブでは、すべてのステップ、その要約、およびアセットの一覧を確認できます。複数のクラウドプロバイダー(AWSとAzure)を接続している場合は、それぞれのプロバイダーに関連する複数のタブが表示されます。

最終結果は右側のタブに表示され、検索に該当するアセットの完全な一覧が含まれます。これはマルチクラウド検索の場合も同様で、すべてのアセットがこのビューに統合されます。
- 1単語で検索すると、Aikidoはテキスト検索を実行し、名前やその他のフィールドでアセットを見つけられるようにします。例えば、ユーザー名で検索すると、Aikidoはそのユーザーと、そのユーザーが所属するグループ、タグにそのユーザーが言及されているアセット、およびARNでそのユーザーを参照するポリシーを返します。
- Aikidoはプロンプトをキャッシュするため、以降の検索がより高速になります。また、(自分のユーザーに対してのみ)過去の検索も表示されます。
