Skip to content

Commit 84e191d

Browse files
committed
Add CWE support for github importer
Signed-off-by: ziadhany <ziadhany2016@gmail.com>
1 parent f07e084 commit 84e191d

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

vulnerabilities/importers/github.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from vulnerabilities.importer import Reference
2525
from vulnerabilities.importer import VulnerabilitySeverity
2626
from vulnerabilities.utils import dedupe
27+
from vulnerabilities.utils import get_cwe_id
2728
from vulnerabilities.utils import get_item
2829

2930
logger = logging.getLogger(__name__)
@@ -63,6 +64,11 @@
6364
url
6465
}
6566
severity
67+
cwes(first: 10){
68+
nodes {
69+
cweId
70+
}
71+
}
6672
publishedAt
6773
}
6874
firstPatchedVersion{
@@ -227,10 +233,18 @@ def process_response(resp: dict, package_type: str) -> Iterable[AdvisoryData]:
227233
else:
228234
logger.error(f"Unknown identifier type {identifier_type!r} and value {value!r}")
229235

236+
weaknesses = []
237+
cwe_list = get_item(advisory, "cwes", "nodes") or []
238+
for cwe_item in cwe_list:
239+
cwe_string = get_item(cwe_item, "cweId")
240+
if cwe_string:
241+
weaknesses.append(get_cwe_id(cwe_string))
242+
230243
yield AdvisoryData(
231244
aliases=sorted(dedupe(aliases)),
232245
summary=summary,
233246
references=references,
234247
affected_packages=affected_packages,
235248
date_published=date_published,
249+
weaknesses=weaknesses,
236250
)

0 commit comments

Comments
 (0)