記事一覧に戻る
security2026年4月3日8分で読めます

Aikido Expansion PacksはIDEプラグインじゃない——普通の開発プロセスをセキュリティに変える

Expansion PacksはIDEの拡張機能ではなく、gitとnpmの拡張です。vimでもemacsでも、コードを書くすべての開発者を守ります。

Expansion PacksPre-Commit HookSafe Chainnpmgit

Aikido Expansion PacksはIDEプラグインじゃない——普通の開発プロセスをセキュリティに変える

「GitHubに上げてないから大丈夫」は本当に大丈夫か?

セキュリティツールの多くは、リポジトリに接続して初めて動く。コードをGitHubにpushして、CIが走って、スキャンが走る。

でも正直に言うと、ローカルで動かしているコードを全部GitHubに上げているだろうか?

設定ファイルを直接触って、「まあ動いたから良いか」でそのまま。.envに書いたAPIキーが紛れ込んだまま、気づかずにcommitしかけたことは? npm installしたパッケージに問題がないか、確認したことは?


ソースコードに埋まった「鍵」が引き起こした事故

少し前、ある大手自動車メーカーのソースコードが外部に漏洩する事故があった。原因は単純だった。ソースコード内にFTPサーバーへのアクセス情報(ID・パスワード)がハードコードされていたのだ。

コードが流出した後、その認証情報を使ってFTPサーバーへの不正アクセスが行われた。さらに、コード内で暗号化されていた情報も解読される事態となった。

「コードに認証情報を直書きしない」というのは開発者なら誰でも知っているルールだ。でもそれを防ぐ仕組みが実際に現場に入っているかというと——そうではないケースが多い。


IDEを使えば解決する?そうじゃない

Aikido SecurityがExpansion Packsという機能をリリースした。最初は「VSCodeのプラグイン機能の拡張か」と思っていた。自分の場合、VSCodeは入れてはいるが、実際にはvimでコードを書くことが多い。IDEの機能と言われても、正直ピンとこなかった。

でも実際の中身を見て、認識が変わった。

Expansion PacksはIDEの機能ではなく、gitとnpmの拡張だ。


3つのExpansion Pack

1. Secrets Pre-Commit Hook

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があれば防げた可能性が高い。

2. Aikido Safe Chain

npm install(yarn / pnpm / pip も対象)を実行した瞬間に、インストールしようとしているパッケージをスキャンする。難読化されたコード、不審なinstallスクリプト、暗号マイナー、データ外部送信——これらのパターンを検知してブロックする。

さらに面白いのが24時間ルール。公開から24時間以内の新しいパッケージバージョンは自動的にブロックし、代わりに24時間以上経過した安定バージョンをインストールする。

実際に試したところ、こんなメッセージが出た:

ℹ Safe-chain: Some package versions were suppressed due to minimum age requirement.

意識せずとも、勝手に守られていた。

3. Aikido MCP

AIコーディングツール(Cursor等)と連携し、AIが生成したコードをリアルタイムでSASTチェックする。これはIDE連携が前提になるため、vim環境には直接関係しないが、AIコーディングを使うチームには強力な選択肢だ。


インストールはコマンド1行

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の哲学

Aikidoというツールの名前は、武道の「合気道」から来ている。相手の力に逆らわず、その流れを使う。

Expansion Packsはまさにその思想だ。「新しいIDEを使え」「新しいフローを覚えろ」ではなく、開発者がすでにやっていること——git commitとnpm install——の中にセキュリティを埋め込む。

フローを変えない。ツールを変えない。でも守られる。

「既存の開発プロセスをそのままセキュリティに変える」

これがExpansion Packsの本質だと思う。


まとめ

Packタイミング何を守るか
Secrets Pre-Commit Hookgit commitシークレット・APIキーの漏洩
Safe Chainnpm install悪意あるパッケージ・新規公開パッケージ
Aikido MCPAI生成コード作成時AIが生成した脆弱なコード

IDEは関係ない。gitとnpmを使うすべての開発者が対象だ。

インストールは数分。フローへの影響はゼロ。

→ Aikido Expansion Packsを試す

キーワード

  • Expansion Packs
  • Pre-Commit Hook
  • Safe Chain
  • npm
  • git
A

Aikido Community Japan

公開日: 2026/4/3

最終更新: 2026/4/3

シェア:

ニュースを購読

セキュリティの最新情報をお届けします。

Aikido Community Japan からのお知らせの受信に同意します。詳しくはプライバシーポリシーをご確認ください。