Dependabotがnpm依存関係のマルウェアを検出可能に
GitHubのDependabotがnpmパッケージのマルウェア検知機能を正式に導入し、オプトイン方式で設定可能なアラートシステムとバックフィル機能を提供することで、開発者のセキュリティリスク管理を強化しました。
キーポイント
マルウェア検知機能の正式導入
Dependabotがnpmパッケージのマルウェアバージョンを検知する機能を正式に導入し、GitHub Advisory Databaseのアドバイザリと照合してアラートを生成します。
オプトイン方式と設定の柔軟性
マルウェアアラートはオプトイン方式で有効化でき、リポジトリ・組織・エンタープライズレベルで設定可能で、CVEベースの脆弱性アラートとは明確に分離されています。
詳細なアラートルール設定
マルウェアタイプ、エコシステム、パッケージスコープや名前パターンに基づいてアラートを細かく調整できるルール設定機能を提供します。
バックフィル機能による即時可視化
機能を有効にすると、既存の依存関係にマッチする過去のマルウェアアドバイザリについてもアラートがバックフィルされ、現在のリスクを即座に把握できます。
エコシステム拡大の計画
現在はnpmエコシステムのみをカバーしていますが、OpenSSF Malware Streamsプロジェクトなどのフィードと統合して追加エコシステムへの拡大を積極的に進めています。
影響分析・編集コメントを表示
影響分析
この機能はソフトウェアサプライチェーンのセキュリティ強化に大きく貢献し、特にnpmエコシステムの脆弱性管理を向上させます。2022年に一時停止していたマルウェアアラートを改善して再導入したことで、誤検知問題を軽減しながら開発者に実用的なセキュリティツールを提供しています。
編集コメント
ソフトウェア開発におけるセキュリティ対策の実践的な進化を示す重要なアップデート。特に誤検知問題への対処と設定の柔軟性が現場での採用を促進するポイント。
リポジトリが既知の悪意のあるバージョンのnpmパッケージに依存している場合、Dependabotアラートを受け取れるようになりました。マルウェアアラートを有効にすると、Dependabotはnpmの依存関係をGitHub Advisory Databaseのマルウェアアドバイザリと照合します。
仕組み
オプトインによる有効化: 既存のDependabotアラート設定と併せて、リポジトリ、組織、またはエンタープライズのセキュリティ設定にある新しいトグルスイッチでマルウェアアラートを有効化できます。セキュリティ設定を通じてマルウェアアラートを必須とすることも可能です。
従来のアラートからの分離: マルウェアアラートはDependabotアラート内の独立したサブカテゴリとして表示され、CVEベースの脆弱性アラートとは明確に区別されます。これにより、それぞれのカテゴリを個別の基準でトリアージできます。
設定可能なアラートルール: 新しいDependabotルールオプションにより、以下の条件でマルウェアアラートを細かく調整できます:
- マルウェアの種類(悪意のあるバージョン 対 パッケージ全体)
- エコシステム
- パッケージのスコープまたは名前のパターン
- 複数選択フィルターによる一括却下および再開アクション
有効化時のバックフィル: マルウェアアラートをオンにすると、Dependabotは依存関係に一致する既存のマルウェアアドバイザリに対するアラートを遡って生成(バックフィル)します。これにより、現在のリスクを即座に可視化できます。
2022年、公開パッケージとプライベートパッケージの名前重複による誤検知ノイズのため、マルウェアアラート提供を一時停止していました。今回、オプトイン制御、デフォルトでマルウェアバージョンのみを対象とする自動トリアージルール、CVEベースのアラートとの明確な分離を備えた仕組みを再設計し、ノイズなしでマルウェアを可視化できるようにしました。既知の悪意のある公開パッケージと同名のプライベートパッケージを使用している場合、依然として誤検知が発生する可能性があります。プライベートパッケージを使用する場合は、誤検知を減らすためにDependabotルールの設定をお勧めします。
エコシステムの対応範囲
現在、マルウェアアラートはGitHub Advisory Databaseのアドバイザリを基に、npmエコシステムを対象としています。OpenSSF Malware Streamsプロジェクトなどのフィードとの連携を通じて、対象エコシステムの拡大に積極的に取り組んでいます。
始め方
- リポジトリまたは組織の「設定」→「コードセキュリティ」→「Dependabot」に移動します。
- 「Dependabotアラート」セクションで「マルウェアアラート」を有効にします。
- (オプション)受け取るマルウェアアラートをカスタマイズするために、Dependabotアラートルールを設定します。組織でプライベートレジストリを使用している場合は、この設定が特に重要です。
Dependabotのマルウェアアラートの詳細については、こちらをご覧ください。
この投稿「Dependabotがnpm依存関係のマルウェアを検出するようになりました」は、The GitHub Blogで最初に公開されました。
原文を表示
You can now receive Dependabot alerts when your repositories depend on npm packages with known malicious versions. When you enable malware alerting, Dependabot matches your npm dependencies against malware advisories in the GitHub Advisory Database.
How it works
Opt-in enablement: Enable malware alerting via a new toggle in your repository, organization, or enterprise security settings alongside your existing Dependabot alerts configuration. You can also enforce malware alerting through security configurations.
Separated from traditional alerts: Malware alerts appear as a distinct subcategory within Dependabot alerts, keeping them clearly separated from CVE-based vulnerability alerts so you can triage each category on its own terms.
Configurable alert rules: New Dependabot rule options let you fine-tune malware alerting by:
Malware type (malicious version vs. entire malicious package)
Ecosystem
Package scope or name patterns
Bulk dismiss and reopen actions via multi-select filters
Backfill on enablement: When you turn on malware alerting, Dependabot backfills alerts for any existing malware advisories that match your dependencies, so you get immediate visibility into your current risk.
In 2022, we paused malware alerting due to false-positive noise from public and private packages sharing names. We’ve redesigned the experience with opt-in controls, auto-triage rules that alert only on malware versions by default, and clear separation from CVE-based alerts to give you malware visibility without the noise. You may still see false positives if a private package shares a name with a known malicious public package. We recommend configuring Dependabot rules to reduce false positives if you use private packages.
Ecosystem coverage
Today, malware alerting covers the npm ecosystem, powered by advisories from the GitHub Advisory Database. We’re actively working to expand coverage to additional ecosystems through integration with feeds like the OpenSSF Malware Streams project.
Getting started
Navigate to your repository or organization Settings → Code security → Dependabot.
Enable Malware alerts under the “Dependabot alerts” section.
Optionally, configure Dependabot alert rules to customize which malware alerts you receive. This is especially important if your organization uses private registries.
Learn more about malware alerts for Dependabot.
The post Dependabot now detects malware in npm dependencies appeared first on The GitHub Blog.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み