ブログ一覧に戻る
ベストプラクティス2026年6月23日3分で読めます

Aikido × Drydock:パッケージ公開前にマルウェアを検出する仕組み

Aikido x Drydock | A way for maintainers to catch malware before it ships

ベストプラクティスマルウェア

この記事のポイント

【なぜ重要か】 オープンソースパッケージを狙ったマルウェア攻撃が急増しており、現状では被害が発生してから開示・対応するという後手の対応が常態化している。パッケージメンテナーが公開前の段階で問題を検出・阻止できる仕組みが求められており、AikidoはDrydockと提携してその手段を無償で提供する。...

【なぜ重要か】 オープンソースパッケージを狙ったマルウェア攻撃が急増しており、現状では被害が発生してから開示・対応するという後手の対応が常態化している。パッケージメンテナーが公開前の段階で問題を検出・阻止できる仕組みが求められており、AikidoはDrydockと提携してその手段を無償で提供する。

【ポイント】

  • npmの「ステージング公開」機能はパッケージバージョンを承認待ちキューに保留できるが、メンテナーはバージョン番号しか確認できず、パッケージの実際の内容や前バージョンからの差分を見ることができなかった
  • Drydockはステージングされたnpmパッケージのtarballをサンドボックス内でダウンロードし、直前の公開バージョンとの差分を解析して、セキュリティ上重要な変更点を深刻度順にランク付けしてダッシュボードに表示する
  • 検出対象はマルウェアが悪用する典型的な手口に絞られており、新規追加されたpreinstall/postinstallスクリプト、未知のファイル、外部ネットワークへの接続やプロセス起動を行うコード、バイナリの追加などを検出してコードの該当行まで特定する
  • PyPIや、ステージングなしで公開するnpmパッケージに対しては、GitHub Actionsのenvironment gateとして機能し、レジストリへの送信前にパイプライン内でリリースを一時停止して同様の差分レビューを実施する
  • Drydockは読み取り専用のnpmトークンを使用し、パッケージの内容を実行することは一切ない。公開の最終判断は常に人間が行う設計となっており、リリースプロセスに新たな障害点を加えない

【まとめ】 Drydockを使うことで、メンテナーはパッケージが最初の1件もダウンロードされる前にマルウェアを検出・阻止できる。npm・PyPIメンテナーは無償で利用可能であり、npmのステージング公開を有効化してDrydockに読み取り専用トークンで接続するか、GitHubアプリを連携するだけで導入できる。

原文を読む

Aikido Security Blog

英語で詳細な技術情報を確認

原文を読む

コメント・質問

この記事についてのコメントや質問を投稿できます

コメントを投稿するにはログインが必要です

ログインする

読み込み中...