Qualys Tags V3: unescape entites XML dans ruleText/name
Qualys renvoie les entites XML dans ruleText deja echappees (Bip&Go, <?xml...). Jinja auto-escape les ressortait en double (&lt;...). Unescape iteratif (jusqu'a 3 passes) pour couvrir le double-escape. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
79a2cc896e
commit
f1a1ca9c7b
@ -44,10 +44,18 @@ def _qualys_post(db, endpoint, payload, timeout=60):
|
||||
|
||||
|
||||
def _parse_xml_text(text_block, tag):
|
||||
"""Extrait <tag>valeur</tag> (premier match)."""
|
||||
import re
|
||||
"""Extrait <tag>valeur</tag>, unescape entites (boucle si double-escape Qualys)."""
|
||||
import re, html
|
||||
m = re.search(f"<{tag}>(.*?)</{tag}>", text_block, re.DOTALL)
|
||||
return m.group(1).strip() if m else ""
|
||||
if not m:
|
||||
return ""
|
||||
v = m.group(1).strip()
|
||||
for _ in range(3):
|
||||
u = html.unescape(v)
|
||||
if u == v:
|
||||
break
|
||||
v = u
|
||||
return v
|
||||
|
||||
|
||||
def list_qualys_tags(db):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user