Detection rules › Panther
OpenAI Failed Login (Base Rule)
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.
| Field | Kind | Values |
|---|---|---|
type | eq |
|