日本語

Device Protection はどのように機能しますか?

Aikido Device Protectionは、各デバイスに軽量なレイヤー4プロキシをインストールします。検査対象は、サポートされているパッケージレジストリへのトラフィックと、AI Usageモニタリングが有効な場合のAIプロバイダーへのトラフィックのみです。それ以外のトラフィックはすべてプロキシをバイパスします。また、エージェントはデバイス上のローカルファイルをスキャンし、ハードコードされたシークレットを検出します。

flowchart LR
    A[Network traffic on device] --> B{Supported ecosystem?}
    B -- No --> C[Passes through unchanged<br/>not inspected]
    B -- Yes --> E{On device inspect traffic<br/>and policy decision}

    E -->|Allowed| F[Install allowed]
    E -->|Blocked| G[Install blocked]

    F --> R
    G --> R
    R[Reported to Aikido]

    classDef block fill:#ffd6d6,stroke:#c0392b;
    classDef allow fill:#d6f5d6,stroke:#27ae60;
    class G block;
    class F allow;

仕組み

判定はデバイス上で行われる

許可およびブロックの判定はすべてローカルで行われます。Aikidoがお客様のトラフィック、閲覧履歴、ダウンロードしたファイルを受け取ることはありません。

エージェントがダウンロードするのは、ポリシーの適用に必要なデータのみです。

  • 許可リストとブロックリスト
  • マルウェアシグネチャ
  • ポリシールールと例外

同期が完了すると、デバイスは単独でルールを適用できます。

サポート対象のエコシステムのみをインターセプト

このプロキシは汎用的なWebフィルターではありません。インターセプトするのはサポートされているパッケージエコシステムと、AI Usageモニタリングが有効な場合のAIプロバイダーのドメインのみです。

これらのドメインはHTTPSで提供されています。これらを検査するために、エージェントはデバイス上のローカル認証局(CA)を使用します。このCAは以下のドメインにのみ使用されます。証明書を参照してください。

これらは Aikido Device Protection がインターセプトするドメインです。パッケージレジストリと開発者ツールのマーケットプレイスは常にインターセプトされます。AI プロバイダーのドメインは、AI Usage モニタリングが有効になっている場合にのみインターセプトされます。

api.nuget.org
app.aikido.dev
endpoint-server.aikido.dev
aikido-endpoint-binaries.s3.eu-west-1.amazonaws.com
central.maven.org
chromewebstore.google.com
chromewebstore.googleapis.com
clients2.google.com
clients2.googleusercontent.com
crates.io
index.crates.io
static.crates.io
device-protection.aikido.help
files.pythonhosted.org
gallery.vsassets.io
gallerycdn.vsassets.io
github.com
globalcdn.nuget.org
marketplace.cursorapi.com
marketplace.visualstudio.com
open-vsx.org
proxy.golang.org
pypi.org
pypi.python.org
registry.npmjs.com
registry.npmjs.org
registry.yarnpkg.com
repo.maven.apache.org
repo1.maven.org
repository.apache.org
rubygems.org
index.rubygems.org
repo.packagist.org
sum.golang.org
update.googleapis.com
www.nuget.org

ネットワーク要件

エージェントがAikidoに接続するには、外向きのインターネットアクセスが必要です。ポート443のHTTPSで*.aikido.devを許可リストに追加してください。

Aikidoが受け取るデータ

インストール結果とSBOM

パッケージの内容や一般的な閲覧データはデバイス上に留まります。エージェントが報告するのは以下のみです。

  • 許可されたインストール
  • ブロックされたインストール
  • フラグが付けられたインストール
  • インストール済みのパッケージ

インストール結果は即座に報告されます。インストール済みのパッケージはSBOM(ソフトウェア部品表、使用中のパッケージのインベントリ)にまとめられ、1日1回生成・同期されます。また、エージェントは10分ごとにハートビートを送信するため、オンライン状態を確認できます。

AI機能

AI Usageモニタリングが有効な場合、エージェントはAIプロバイダーのドメインへのトラフィックも検査します。Aikidoが受け取るのはインベントリのみです。具体的には、使用されたMCPサーバー、モデル、ツール、およびそれらが使用されたデバイスです。

シークレットスキャン

Secret Scanningは、シェル履歴などデバイス上のローカルファイルを読み取ります。ファイルの内容がアップロードされることはありません。シークレットが検出されると、Aikidoはシークレットの種類と、検出結果を識別できる程度の数文字の値を受け取ります。シークレット全体が送信されることはありません。

証明書

CAの仕組み

Aikidoは2階層のCAチェーンを使用します。

  1. ワークスペースCA: チェーンのルートであり、Aikido内で生成され、お客様のワークスペースに固有のものです。デバイスはその公開証明書を信頼します。秘密鍵はAikidoが保持します。
  2. デバイス証明書: 有効期間が短く、デバイスごとに固有で、ワークスペースCAによって署名されます。プロキシはこれを使用してパッケージマネージャーのトラフィックを検査します。

各デバイスは独自の秘密鍵をローカルで生成し、署名リクエストのみをAikidoに送信します。秘密鍵がデバイスの外に出ることはありません。macOSでは、秘密鍵はAppleの保護されたストレージ(Secure Enclave / Keychain)に保存されるため、デバイスの所有者であっても読み取りやエクスポートはできません。

デバイス証明書の有効期間は最大4日間で、期限切れになる前に自動的に再発行されます。デバイス証明書は他の証明書に署名できず、これは署名時に強制されます。万が一メモリから抽出されても、すぐに失効します。

ワークスペースCAをご自身で配布する必要はありません。MDM構成プロファイルとインストーラーパッケージの両方に含まれているため、通常のデプロイの一環としてデバイスのトラストストアに登録されます。

macOSでのCAファイルの場所:

/Library/Application Support/AikidoSecurity/EndpointProtection/run/endpoint-protection-combined-ca.pem

証明書の確認

AikidoのCertificatesページには以下が表示されます。

  • Root CA Certificate: ワークスペースCA。SHA-256フィンガープリント、作成日と有効期限、PEM形式の公開証明書が表示されます。
  • Issued Certificates: ワークスペースCAによって署名されたすべてのデバイス証明書。発行先のデバイス、発行日時、フィンガープリントが表示されます。

このページを使用して、デバイスが登録されていることを確認したり、デバイス上の証明書をAikidoが発行したものと照合したりできます。

署名済みのエージェントアップデート

すべてのエージェントリリースは、Aikidoのビルドパイプラインで暗号署名されます。アップデートをインストールする前に、アップデーターがその署名を検証し、改ざんされたビルドや署名のないビルドを拒否します。アップデートを自動的にインストールするには、Auto-updateを有効にしてください。

  • macOS: すべてのバイナリとインストーラーパッケージは、AikidoのApple Developer IDで署名され、Appleによって公証されています。
  • Windows: バイナリはAuthenticodeで署名されています。

macOSのネットワークフィルター

macOSでは、System Settings → Network → Filtersに、デバイスごとに3つのAikidoエントリが表示されます。これは想定どおりの動作です。

エントリ作成元想定される状態目的
Content filterMDMプロファイルDisabledAikidoが追加予定の将来の保護機能のためのものです。それまでは無効のままです。
Transparent proxyMDMプロファイルDisabledAikidoシステム拡張機能を事前承認します。構成は保持しません。
Transparent proxyAikido拡張機能(実行時)Enabled実行時にのみ設定可能な自動有効化を含む、プロキシの完全な構成を保持します。

無効になっているMDMエントリは削除しないでください。実行時のTransparent proxyは、これらが提供する事前承認に依存しています。

制限事項

  • Device Protectionはウイルススキャナーではありません。 Secret Scanningを除き、ファイル、プロセス、システムの既存の脅威を検査しません。マルウェアがデバイスに到達する前にブロックするものであるため、すでにデバイス上にあるマルウェアは検出・削除されません。そのようなデバイスは侵害されているものとみなしてください。
  • Dockerコンテナ: デフォルトでは保護されません。保護するにはProtect Containersを有効にしてください。Dockerコンテナでの Device Protectionを参照してください。
  • WSL2: Windows上のWSL2ディストリビューション内でのパッケージインストールは、デフォルトでは保護されません。Protect WSL2を有効にすると、Aikidoが実行中の各ディストリビューションにLinuxエージェントをインストールします。WSL2の保護はリクエストに応じて提供されます。WSL2でのDevice Protectionを参照してください。