Skip to content

Commit

Permalink
fix: fix parser for non packages vulnerabilities
Browse files Browse the repository at this point in the history
  • Loading branch information
juliamagan committed Mar 25, 2024
1 parent d991183 commit 3df11bd
Showing 1 changed file with 11 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -259,8 +259,8 @@ def check_vuln_state_consistency(vulnerabilities_alerts, vulnerabilities_states)
if vulnerabilities_states.keys() != vulnerabilities_alerts.keys():
logging.critical("The number of agents is not the same between alerts and states")

agents_in_alerts_states = [agent for agent in vulnerabilities_states.keys() \
if agent in vulnerabilities_alerts.keys()]
agents_in_alerts_states = [agent for agent in vulnerabilities_states.keys()
if agent in vulnerabilities_alerts.keys()]

alerts_not_in_states = []
states_not_in_alerts = []
Expand Down Expand Up @@ -305,14 +305,19 @@ def get_vulnerabilities_from_states(vulnerabilities_states: List) -> List:
try:
vulnerability = Vulnerability(
cve=state_vulnerability['_source']['vulnerability']['id'],
package_name=state_vulnerability['_source']['package']['name'],
package_version=state_vulnerability['_source']['package']['version'],
type=state_vulnerability['_source']['pacakge']['type'] if 'type' in state_vulnerability['_source']['vulnerability'] else None,
architecture=state_vulnerability['_source']['package']['architecture'] if 'architecture' in state_vulnerability['_source']['vulnerability'] else None
package_name=(state_vulnerability['_source']['package']['name']
if 'package' in state_vulnerability['_source'] else None),
package_version=(state_vulnerability['_source']['package']['version']
if 'package' in state_vulnerability['_source'] else None),
type=(state_vulnerability['_source']['pacakge']['type']
if 'type' in state_vulnerability['_source']['vulnerability'] else None),
architecture=(state_vulnerability['_source']['package']['architecture']
if 'architecture' in state_vulnerability['_source']['vulnerability'] else None)
)
vulnerabilities.append(vulnerability)
except KeyError:
logging.error(f"Error parsing vulnerability: {state_vulnerability}")
raise KeyError

vulnerabilities = sorted(vulnerabilities, key=lambda x: (x.cve, x.package_name, x.package_version, x.architecture))

Expand Down

0 comments on commit 3df11bd

Please sign in to comment.