OSV parser drops all crates.io affected entries because the ecosystem mapping uses cargo
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
vulnerabilities/importers/osv.pyから始め、PURL_TYPE_BY_OSV_ECOSYSTEMとissueで説明されているOSVエコシステムの検索処理を確認してください。serdeの例を参考に、crates.ioのセキュリティアドバイザリのテストを追加してください。crates.ioのエントリから修正済みバージョンを含むcargoパッケージURLが生成され、既存のcargoキーも引き続き機能すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I found that every crates.io advisory is silently dropped by the OSV parser.
In vulnerabilities/importers/osv.py, the PURL_TYPE_BY_OSV_ECOSYSTEM mapping is keyed by "cargo", but the ecosystem name in OSV data is "crates.io". The lookup lowercases the ecosystem string and finds no match for crates.io, so no package URL is built for the entry and the affected entry is skipped entirely.
I ran the parser on OSV advisories for serde and got:
F) ecosystem "crates.io", fixed version 1.0.0
-> [] (dropped)
G) ecosystem "Cargo" (not the real OSV ecosystem name), fixed version 1.0.0
-> pkg:cargo/serde with fixed 1.0.0 (works)
So the downstream path works end to end; only the ecosystem name in the mapping is wrong. This also means the cargo support that GithubOSVImporter.supported_ecosystems advertises never actually happens for real OSV data.
The fix I have in mind is to add a "crates.io": "cargo" entry to PURL_TYPE_BY_OSV_ECOSYSTEM, keeping the existing "cargo" key. Happy to raise a PR if this approach sounds right.
- 主要言語
- Python
- スター
- 716
- フォーク
- 347
- 平均マージ
- 12時間 15分
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aboutcode-org/vulnerablecode のほかの issue
-
Docker Compose setup fails on wait-for-it host web:8000 and missing runtime .env対応中かも @Anurag-S1ngh が 6 日前に担当しました。 オープン
難易度 2/5 半日 初心者へのやさしさ 77/100
aboutcode-org/vulnerablecode#2477 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
OVAL parser corrupts version bounds when the epoch is 10, 20 or the version contains "0:"対応中かも @Ashutosh-Panda2004 が 4 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
aboutcode-org/vulnerablecode#2474 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
aboutcode-org/vulnerablecode#2426 ·
メンテナーはふだん 1 日以内に返信
-
Get NuGet package versions from federated PURL version data in https://github.com/aboutcode-data/再び着手できるかも @Anshi321 が 25 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンbug data-quality
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
aboutcode-org/vulnerablecode#2418 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
We do not collect the affected range for Gitlab advisories対応中かも @akashrajeev が 12 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
aboutcode-org/vulnerablecode#2412 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
aboutcode-org/vulnerablecode の issue をすべて見る
似ている issue
-
infrastructure
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
NatLabRockies/H2Integrate#977 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
topoteretes/cognee#6470 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
area:docs priority:p2 type:docs wave:9
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
jejjohnson/radtrax#293 ·
メンテナーはふだん 1 日以内に返信
-
bug core plugins
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
bunkerity/bunkerweb#4121 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信