Detection rules › Panther

OpenAI Failed Login (Base Rule)

Severity
informational
Log types
OpenAI.Audit
Source
github.com/panther-labs/panther-analysis

Base rule for detecting OpenAI failed login attempts. This rule is used primarily as a building block for correlation rules and does not generate alerts on its own.

Rule body yaml

AnalysisType: rule
Description: |
  Base rule for detecting OpenAI failed login attempts. This rule is used primarily
  as a building block for correlation rules and does not generate alerts on its own.
DisplayName: "OpenAI Failed Login (Base Rule)"
Enabled: true
Filename: openai_login_failed.py
CreateAlert: false
Severity: Info
DedupPeriodMinutes: 60
Threshold: 999999
LogTypes:
  - OpenAI.Audit
RuleID: "OpenAI.Login.Failed"
Tests:
  - Name: "Failed login"
    ExpectedResult: true
    Log:
      id: "audit_log-failed001"
      type: "login.failed"
      effective_at: 1702857600
      object: "organization.audit_log"
      actor:
        type: "session"
        session:
          user:
            id: "user-123"
            email: "user@company.com"
          ip_address: "203.0.113.100"
          user_agent: "Mozilla/5.0"
      login_failed:
        error_code: "invalid_credentials"
        error_message: "Invalid username or password"
  - Name: "Successful login - No match"
    ExpectedResult: false
    Log:
      id: "audit_log-success001"
      type: "login.succeeded"
      effective_at: 1702857600
      object: "organization.audit_log"
      actor:
        type: "session"
        session:
          user:
            id: "user-123"
            email: "user@company.com"
          ip_address: "203.0.113.100"
          user_agent: "Mozilla/5.0"

Detection logic

Condition

type eq "login.failed"

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
typeeq
  • login.failed