Expansion PacksはIDEの拡張機能ではなく、gitとnpmの拡張です。vimでもemacsでも、コードを書くすべての開発者を守ります。
セキュリティツールの多くは、リポジトリに接続して初めて動く。コードをGitHubにpushして、CIが走って、スキャンが走る。
でも正直に言うと、ローカルで動かしているコードを全部GitHubに上げているだろうか?
設定ファイルを直接触って、「まあ動いたから良いか」でそのまま。.envに書いたAPIキーが紛れ込んだまま、気づかずにcommitしかけたことは? npm installしたパッケージに問題がないか、確認したことは?
少し前、ある大手自動車メーカーのソースコードが外部に漏洩する事故があった。原因は単純だった。ソースコード内にFTPサーバーへのアクセス情報(ID・パスワード)がハードコードされていたのだ。
コードが流出した後、その認証情報を使ってFTPサーバーへの不正アクセスが行われた。さらに、コード内で暗号化されていた情報も解読される事態となった。
「コードに認証情報を直書きしない」というのは開発者なら誰でも知っているルールだ。でもそれを防ぐ仕組みが実際に現場に入っているかというと——そうではないケースが多い。
Aikido SecurityがExpansion Packsという機能をリリースした。最初は「VSCodeのプラグイン機能の拡張か」と思っていた。自分の場合、VSCodeは入れてはいるが、実際にはvimでコードを書くことが多い。IDEの機能と言われても、正直ピンとこなかった。
でも実際の中身を見て、認識が変わった。
Expansion PacksはIDEの機能ではなく、gitとnpmの拡張だ。
git commitを実行した瞬間に、ステージされたコードをスキャンする。APIキー、パスワード、シークレットが含まれていればコミットをブロックする。
vimで書いても、emacsで書いても、メモ帳で書いても関係ない。git commitを使うすべての開発者に効く。
実際に試してみた。テスト用ファイルにAPIキーらしき文字列を書いてcommitしようとすると:
Secret #1:
File: sample.js
Line: 1
Secret: password = "****************************Gv8G"
Description: Detected a Generic API Key
Commit aborted due to detected secrets.
完全にブロックされた。冒頭の「大手自動車メーカーの事故」も、このhookがあれば防げた可能性が高い。
npm install(yarn / pnpm / pip も対象)を実行した瞬間に、インストールしようとしているパッケージをスキャンする。難読化されたコード、不審なinstallスクリプト、暗号マイナー、データ外部送信——これらのパターンを検知してブロックする。
さらに面白いのが24時間ルール。公開から24時間以内の新しいパッケージバージョンは自動的にブロックし、代わりに24時間以上経過した安定バージョンをインストールする。
実際に試したところ、こんなメッセージが出た:
ℹ Safe-chain: Some package versions were suppressed due to minimum age requirement.
意識せずとも、勝手に守られていた。
AIコーディングツール(Cursor等)と連携し、AIが生成したコードをリアルタイムでSASTチェックする。これはIDE連携が前提になるため、vim環境には直接関係しないが、AIコーディングを使うチームには強力な選択肢だ。
Pre-Commit Hookのインストールはこれだけ:
curl -fsSL https://raw.githubusercontent.com/AikidoSec/pre-commit/2235fe0536f9135aa561ce108702fac708b38977/installation-samples/install-global/install-aikido-hook.sh | bash
グローバルに設定されるため、マシン上のすべてのgitリポジトリに自動で適用される。
Safe Chainも同様:
npm install -g @aikidosec/safe-chain
safe-chain setup
source ~/.bashrc
これだけでnpm/yarn/pnpm/pipがすべてSafe Chainにラップされる。
Aikidoというツールの名前は、武道の「合気道」から来ている。相手の力に逆らわず、その流れを使う。
Expansion Packsはまさにその思想だ。「新しいIDEを使え」「新しいフローを覚えろ」ではなく、開発者がすでにやっていること——git commitとnpm install——の中にセキュリティを埋め込む。
フローを変えない。ツールを変えない。でも守られる。
「既存の開発プロセスをそのままセキュリティに変える」
これがExpansion Packsの本質だと思う。
| Pack | タイミング | 何を守るか |
|---|---|---|
| Secrets Pre-Commit Hook | git commit | シークレット・APIキーの漏洩 |
| Safe Chain | npm install | 悪意あるパッケージ・新規公開パッケージ |
| Aikido MCP | AI生成コード作成時 | AIが生成した脆弱なコード |
IDEは関係ない。gitとnpmを使うすべての開発者が対象だ。
インストールは数分。フローへの影響はゼロ。
Aikido Community Japan
公開日: 2026/4/3
最終更新: 2026/4/3
セキュリティの最新情報をお届けします。