feat(web): SMTP victim-domain + stored-mail panels on attacker detail
Adds GET /attackers/{uuid}/smtp-targets (viewer) and GET /attackers/{uuid}/mail
(admin) endpoints, plus two new sections on the attacker detail page:
VICTIM DOMAINS rollup (aggregate-only, federation-gossip-safe) and STORED MAIL
with a drawer that decodes headers, lists attachments, and downloads the raw
.eml via the existing artifact endpoint (?service=smtp).
This commit is contained in:
@@ -187,6 +187,11 @@ class BaseRepository(ABC):
|
||||
"""Return SmtpTarget rows for an attacker, ordered by most-recent first."""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def get_attacker_stored_mail(self, uuid: str) -> list[Any]:
|
||||
"""Return `message_stored` log rows for an attacker, newest first."""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def smtp_target_seen(self, domain: str) -> dict[str, Any]:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user