feat(web): surface bgp_prefix and rpki_status in AttackerDetail and export

AttackerData type gets bgp_prefix / rpki_status / rpki_source.
TimelineSection renders prefix inline next to AS number; RPKI status
shows as a green RPKI VALID / red RPKI INVALID badge, or dim
NO ROA for not-found. rpki-status-badge CSS added to Dashboard.css.
Export network block extended with the three new fields.
This commit is contained in:
2026-05-21 16:17:38 -04:00
parent e1eda1e754
commit e292fd7d05
5 changed files with 43 additions and 0 deletions

View File

@@ -40,6 +40,10 @@ def _shape_observation(row: dict) -> dict:
"network": {
"asn": row.get("asn"),
"as_name": row.get("as_name"),
"bgp_prefix": row.get("bgp_prefix"),
"asn_source": row.get("asn_source"),
"rpki_status": row.get("rpki_status"),
"rpki_source": row.get("rpki_source"),
"ptr_record": row.get("ptr_record"),
},
"threat_intel": {