feat: always send RDP/SSH login success to Telegram via SAC

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-31 18:47:39 +10:00
parent 4baa2b426f
commit fbef1e2f4b
3 changed files with 74 additions and 2 deletions
+13
View File
@@ -13,6 +13,8 @@ from app.services.notification_severity import severity_meets_minimum
logger = logging.getLogger(__name__)
LIFECYCLE_EVENT_TYPE = "agent.lifecycle"
DAILY_REPORT_EVENT_TYPES = frozenset({"report.daily.ssh", "report.daily.rdp"})
AUTH_LOGIN_SUCCESS_TYPES = frozenset({"rdp.login.success", "ssh.login.success"})
def _event_telegram_via_agent(event: Event) -> bool:
@@ -81,3 +83,14 @@ def notify_lifecycle(event: Event, *, db: Session | None = None) -> None:
if not should_notify_event(event, db):
return
_dispatch_lifecycle_channels(event, db=db, policy=policy)
def notify_auth_login(event: Event, *, db: Session | None = None) -> None:
"""Успешный удалённый вход RDP/SSH — всегда в Telegram SAC (info вне min_severity).
При UseSAC=dual агент шлёт TG сам (telegram_via=agent) — SAC не дублирует.
"""
policy = get_effective_notification_policy(db)
if not should_notify_event(event, db):
return
_dispatch_lifecycle_channels(event, db=db, policy=policy)