MCPcopy Create free account
hub / github.com/aboutcode-org/vulnerablecode / yaml_file_to_advisory

Function yaml_file_to_advisory

vulnerabilities/importers/kaybee.py:35–62  ·  view source on GitHub ↗
(yaml_path)

Source from the content-addressed store, hash-verified

33
34
35def yaml_file_to_advisory(yaml_path):
36 impacted_packages = []
37 resolved_packages = []
38 references = []
39
40 data = load_yaml(yaml_path)
41 vuln_id = data["vulnerability_id"]
42 summary = ""
43 if data.get("text"):
44 summary = "\n".join([note["text"] for note in data["notes"]])
45
46 for entry in data.get("artifacts", []):
47 package = PackageURL.from_string(entry["id"])
48 if entry["affected"]:
49 impacted_packages.append(package)
50 else:
51 resolved_packages.append(package)
52
53 for fix in data.get("fixes", []):
54 for commit in fix["commits"]:
55 references.append(Reference(url=f"{commit['repository']}/{commit['id']}"))
56
57 return AdvisoryData(
58 vulnerability_id=vuln_id,
59 summary=summary,
60 affected_packages=nearest_patched_package(impacted_packages, resolved_packages),
61 references=references,
62 )

Callers 1

updated_advisoriesMethod · 0.85

Calls 5

load_yamlFunction · 0.90
ReferenceClass · 0.90
AdvisoryDataClass · 0.90
nearest_patched_packageFunction · 0.90
getMethod · 0.45

Tested by

no test coverage detected