mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-12 01:45:10 +00:00
![Wenyong Huang](/assets/img/avatar_default.png)
Enhance CodeQL Code Security Analysis: - Add more compilation combinations to build iwasm with different kinds of features - Disable run on PR created and keep nightly run, since the whole time is very long, and will check how to restore run on PR created in the future
35 lines
1.1 KiB
Python
Executable File
35 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import json
|
|
import sys
|
|
|
|
# Return whether SARIF file contains error-level results
|
|
def codeql_sarif_contain_error(filename):
|
|
with open(filename, 'r') as f:
|
|
s = json.load(f)
|
|
|
|
for run in s.get('runs', []):
|
|
rules_metadata = run['tool']['driver']['rules']
|
|
if not rules_metadata:
|
|
rules_metadata = run['tool']['extensions'][0]['rules']
|
|
|
|
for res in run.get('results', []):
|
|
if 'ruleIndex' in res:
|
|
rule_index = res['ruleIndex']
|
|
elif 'rule' in res and 'index' in res['rule']:
|
|
rule_index = res['rule']['index']
|
|
else:
|
|
continue
|
|
try:
|
|
rule_level = rules_metadata[rule_index]['defaultConfiguration']['level']
|
|
except IndexError as e:
|
|
print(e, rule_index, len(rules_metadata))
|
|
else:
|
|
if rule_level == 'error':
|
|
return True
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
if codeql_sarif_contain_error(sys.argv[1]):
|
|
sys.exit(1)
|