メインコンテンツまでスキップ

インテリジェンス

Takumi Guard のブロックリストは、GMO Flatt Security のセキュリティリサーチチームが構築・運用する脅威分析基盤によって維持されています。このページでは、脅威情報の収集から判定までの仕組みを説明します。

分析パイプライン

ブロックリストの構築は、以下のパイプラインで行われます。

1. 新規パッケージの監視

npm レジストリはパッケージの新規公開・更新をリアルタイムに配信する変更フィード(Replicate API)を提供しています。このフィードを継続的に監視することで、公開直後のパッケージも分析対象に含めています。

2. 自動分析

取得したパッケージは、リサーチチームが構築した自動分析パイプラインにかけられます。インストールスクリプトの検査、難読化されたコードの検出、既知のマルウェアパターンとのマッチング、サンドボックス環境での実行による不審な挙動の検出など、複数の手法を組み合わせて悪意の有無を判定します。

3. 判定とブロックリスト更新

分析結果に基づき、以下のカテゴリでブロック対象が判定されます。

  • マルウェア:インストール時や実行時に悪意ある動作を行うパッケージ
  • タイポスクワッティング:人気パッケージに酷似した名前で悪意あるコードを配布するパッケージ
  • 侵害済みパッケージ:正規のパッケージがアカウント乗っ取りなどにより侵害されたバージョン

ブロックリストは随時更新され、Takumi Guard のすべてのインスタンスに反映されます。

公開アドバイザリとの違い

npm の公開アドバイザリデータベース(GitHub Advisory Database など)は、報告・確認されてから掲載されるまでにタイムラグがあります。Takumi Guard のインテリジェンス基盤は変更フィードからリアルタイムに分析を行うため、公開アドバイザリに掲載される前のゼロデイの悪意あるパッケージにも対応できます。

カバレッジ

現在、インテリジェンス基盤は npm エコシステムを対象としています。他のパッケージエコシステム(PyPI、RubyGems など)への対応は今後の拡張を予定しています。