Skip to content

Commit 76e915c

Browse files
committed
Update ArchLinux importer to create v2 affected pkg
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent 97557a4 commit 76e915c

File tree

4 files changed

+10
-11
lines changed

4 files changed

+10
-11
lines changed

vulnerabilities/importers/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363

6464
IMPORTERS_REGISTRY = create_registry(
6565
[
66+
archlinux_importer_v2.ArchLinuxImporterPipeline,
6667
nvd_importer_v2.NVDImporterPipeline,
6768
elixir_security_importer_v2.ElixirSecurityImporterPipeline,
6869
npm_importer_v2.NpmImporterPipeline,
@@ -112,6 +113,5 @@
112113
ubuntu_usn.UbuntuUSNImporter,
113114
fireeye.FireyeImporter,
114115
oss_fuzz.OSSFuzzImporter,
115-
archlinux_importer_v2.ArchLinuxImporterPipeline,
116116
]
117117
)

vulnerabilities/pipelines/v2_importers/archlinux_importer.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212

1313
from packageurl import PackageURL
1414
from univers.version_range import ArchLinuxVersionRange
15-
from univers.versions import ArchLinuxVersion
1615

1716
from vulnerabilities.importer import AdvisoryData
18-
from vulnerabilities.importer import AffectedPackage
17+
from vulnerabilities.importer import AffectedPackageV2
1918
from vulnerabilities.importer import ReferenceV2
2019
from vulnerabilities.pipelines import VulnerableCodeBaseImporterPipelineV2
2120
from vulnerabilities.utils import fetch_response
@@ -64,15 +63,15 @@ def parse_advisory(self, record) -> AdvisoryData:
6463
affected_version_range = (
6564
ArchLinuxVersionRange.from_versions([affected]) if affected else None
6665
)
67-
fixed_version = ArchLinuxVersion(fixed) if fixed else None
68-
affected_package = AffectedPackage(
66+
fixed_version_range = ArchLinuxVersionRange.from_versions([fixed]) if fixed else None
67+
affected_package = AffectedPackageV2(
6968
package=PackageURL(
7069
name=name,
7170
type="alpm",
7271
namespace="archlinux",
7372
),
7473
affected_version_range=affected_version_range,
75-
fixed_version=fixed_version,
74+
fixed_version_range=fixed_version_range,
7675
)
7776
affected_packages.append(affected_package)
7877

@@ -91,7 +90,7 @@ def parse_advisory(self, record) -> AdvisoryData:
9190
)
9291

9392
return AdvisoryData(
94-
advisory_id=f"alpm/{avg_name}",
93+
advisory_id=avg_name,
9594
aliases=aliases,
9695
summary=summary,
9796
references_v2=references,

vulnerabilities/tests/pipelines/v2_importers/test_archlinux_importer.py renamed to vulnerabilities/tests/pipelines/v2_importers/test_archlinux_importer_v2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020

2121
class TestArchLinuxImporterPipeline(TestCase):
22-
def test_to_advisories_with_summary(self):
22+
def test_to_archlinux_advisories_v2(self):
2323
archlinux_advisory_path = TEST_DATA / "archlinux-multi.json"
2424

2525
data = json.loads(archlinux_advisory_path.read_text(encoding="utf-8"))

vulnerabilities/tests/test_data/archlinux/archlinux_advisoryv2-expected.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"subpath": ""
1616
},
1717
"affected_version_range": "vers:alpm/2.3.0-1",
18-
"fixed_version": "2.4.0-1"
18+
"fixed_version_range": "vers:alpm/2.4.0-1"
1919
}
2020
],
2121
"references": [],
@@ -41,7 +41,7 @@
4141
"subpath": ""
4242
},
4343
"affected_version_range": "vers:alpm/2.36.3-1",
44-
"fixed_version": "2.36.4-1"
44+
"fixed_version_range": "vers:alpm/2.36.4-1"
4545
}
4646
],
4747
"references": [],
@@ -66,7 +66,7 @@
6666
"subpath": ""
6767
},
6868
"affected_version_range": "vers:alpm/1.0.6-5",
69-
"fixed_version": "1.0.6-6"
69+
"fixed_version_range": "vers:alpm/1.0.6-6"
7070
}
7171
],
7272
"references": [],

0 commit comments

Comments
 (0)