日本語

パッケージのインストール中に Device Protection を強制する

Aikido Device Protection が有効でないマシンでのパッケージのインストールをブロックします。これにより、ポリシーだけに頼らず、開発ワークフローの一部として保護を強制できます。

これを使う理由

サプライチェーン攻撃は、依存関係を通じて侵入することがよくあります。Device Protection はインストール時に悪意のあるパッケージを遮断しますが、動作している場合に限ります。インストール前のチェックを追加することで、保護されていないマシンに誤ってパッケージをインストールすることを防げます。

仕組み

多くのパッケージマネージャーは、インストール前に実行されるライフサイクルフックやラッパースクリプトをサポートしています。チェックがゼロ以外のコードで終了すると、インストールは中止され、開発者には明確なメッセージが表示されます。

/Applications/Aikido\ Endpoint\ Protection.app/Contents/Resources/scripts/healthy

パッケージマネージャーの例

以下の例では macOS のパスを使用しています。Windows では、上記の PowerShell コマンドに置き換えてください。

を追加します。 preinstall 用のスクリプト package.json:

{
  "scripts": {
    "preinstall": "'/Applications/Aikido Endpoint Protection.app/Contents/Resources/scripts/healthy'"
  }
}

Git フック

Git フックはコミットやチェックアウトの前に実行され、パッケージのインストール前ではありませんが、保護されていないマシンでのすべての git 操作をブロックしたいチームにとっては、追加の実施手段として有用です。

チェックを追加します .git/hooks/pre-commit:

#!/bin/bash
/Applications/Aikido\ Endpoint\ Protection.app/Contents/Resources/scripts/healthy

実行可能にします:

chmod +x .git/hooks/pre-commit

.git/hooks は git で追跡されません。チームとフックを共有するには、 Lefthook または Husky のようなツールを使って、リポジトリの一部としてフックを管理およびコミットしてください。