@@ -20,6 +20,12 @@ def make_result(
2020 alert : dict , scope : str , name : str
2121) -> dict :
2222 """Make an alert result from the raw data."""
23+ cwes = [tag for tag in alert ["rule" ]["tags" ] if tag .startswith ("external/cwe/cwe-" )]
24+ if len (cwes ) > 0 :
25+ cwe = int (cwes [0 ].split ("/" )[2 ].split ("-" )[1 ])
26+ else :
27+ cwe = 0
28+
2329 result = {
2430 "created_at" : alert ["created_at" ],
2531 "repo" : alert ["repository" ]["full_name" ] if scope != "repo" else name ,
@@ -35,6 +41,7 @@ def make_result(
3541 "rule_description" : alert ["rule" ]["description" ],
3642 "rule_full_description" : alert ["rule" ]["full_description" ],
3743 "rule_security_severity_level" : alert ["rule" ]["security_severity_level" ] if "security_severity_level" in alert ["rule" ] else None ,
44+ "cwe" : cwe ,
3845 "rule_help" : alert ["rule" ]["help" ],
3946 "tool_name" : alert ["tool" ]["name" ],
4047 "commit_sha" : alert ["most_recent_instance" ]["commit_sha" ],
@@ -63,6 +70,7 @@ def to_list(result: dict) -> list[str|int]:
6370 result ["dismissed_comment" ],
6471 result ["rule_id" ],
6572 result ["rule_severity" ],
73+ result ["cwe" ],
6674 result ["rule_description" ],
6775 result ["rule_full_description" ],
6876 result ["rule_security_severity_level" ],
@@ -100,6 +108,7 @@ def output_csv(results: list[dict], quote_all: bool) -> None:
100108 "rule_description" ,
101109 "rule_full_description" ,
102110 "rule_security_severity_level" ,
111+ "cwe" ,
103112 "rule_help" ,
104113 "tool_name" ,
105114 "commit_sha" ,
0 commit comments