Panther medium experimental python

Upwind Vulnerability Detection Passthrough

Re-raises Upwind vulnerability detections in Panther. Covers exploitable CVEs identified in runtime containers, VMs, and serverless environments, prioritized by active exposure.

View Source

Detection Logic

from panther_upwind_helpers import (
    upwind_base_alert_context,
    upwind_is_known_severity,
    upwind_severity,
    upwind_triggered_policies,
)

# Upwind vulnerability detections surface exploitable CVEs in runtime
# containers, VMs, and serverless environments, prioritized by actual exposure.
VULNERABILITY_KEYWORDS = ("vulnerab",)  # matches "vulnerability" and "vulnerabilities"

# Defer to higher-priority rules when their keywords also appear in the category
VULNERABILITY_EXCLUSIONS = ("api",)


def rule(event):
    category = event.get("category", "").lower()
    return (
        upwind_is_known_severity(event)
        and any(kw in category for kw in VULNERABILITY_KEYWORDS)
        and not any(ex in category for ex in VULNERABILITY_EXCLUSIONS)
    )


def title(event):
    return f"[Upwind Vulnerability]: {event.get('title', '<NO TITLE>')}"


def severity(event):
    return upwind_severity(event)


def dedup(event):
    return f"{event.get('id', '<NO ID>')}_{event.get('severity', '<NO SEVERITY>')}"


def description(event):
    return event.get("description") or "DEFAULT"


def reference(event):
    return event.get("upwind_console_link") or "DEFAULT"


def alert_context(event):
    ctx = upwind_base_alert_context(event)
    ctx["triggered_policies"] = upwind_triggered_policies(event)
    return ctx

Field Validations

Loading…

Comments (0)

Loading comments...