diff --git a/app/routers/qualys.py b/app/routers/qualys.py
index 06a5ba9..216ed9a 100644
--- a/app/routers/qualys.py
+++ b/app/routers/qualys.py
@@ -411,10 +411,11 @@ async def qualys_search(request: Request, db=Depends(get_db),
# Enrichir avec vulnérabilités (severity 3,4,5, Confirmed/Potential, Active)
vuln_map = {}
if assets:
- asset_ids = [str(a.qualys_asset_id) for a in assets if a.qualys_asset_id]
- if asset_ids:
+ ips = [str(a.ip_address) for a in assets if a.ip_address]
+ ips = [ip for ip in ips if ip and ip != "None"]
+ if ips:
try:
- vuln_map = get_vuln_counts(db, ",".join(asset_ids[:50]))
+ vuln_map = get_vuln_counts(db, ",".join(ips[:50]))
except Exception:
pass
diff --git a/app/services/qualys_service.py b/app/services/qualys_service.py
index 9213f76..8187b0c 100644
--- a/app/services/qualys_service.py
+++ b/app/services/qualys_service.py
@@ -371,13 +371,13 @@ def _find_asset_by_hostname(qualys_url, qualys_user, qualys_pass, hostname, prox
return None
-def get_vuln_counts(db, qualys_asset_ids):
- """Recupere le nombre de vulnerabilites actives severity 3,4,5 pour un ou plusieurs assets.
- qualys_asset_ids: str (un ID ou liste separee par virgules)
- Retourne dict {asset_id: {severity3, severity4, severity5, total, confirmed, potential}}
+def get_vuln_counts(db, ip_list):
+ """Recupere le nombre de vulnerabilites actives severity 3,4,5 pour une liste d'IPs.
+ ip_list: str (IPs separees par virgules)
+ Retourne dict {ip: {severity3, severity4, severity5, total, confirmed, potential}}
"""
qualys_url, qualys_user, qualys_pass, qualys_proxy = _get_qualys_creds(db)
- if not qualys_user or not qualys_asset_ids:
+ if not qualys_user or not ip_list:
return {}
proxies = {"https": qualys_proxy, "http": qualys_proxy} if qualys_proxy else None
@@ -386,7 +386,7 @@ def get_vuln_counts(db, qualys_asset_ids):
f"{qualys_url}/api/2.0/fo/asset/host/vm/detection/",
data={
"action": "list",
- "ids": str(qualys_asset_ids),
+ "ips": str(ip_list),
"severities": "3,4,5",
"status": "New,Active,Re-Opened",
"show_results": "0",
@@ -407,8 +407,8 @@ def get_vuln_counts(db, qualys_asset_ids):
for host_block in txt.split("