github_invitation_sent_to_non_company_email_domain
Description
Detects when an invitation to join a GitHub enterprise or organization is sent to a non-company email address. This rule can be customized to alert you when a GitHub invitation is sent to an unexpected domain i.e. not one of your company's domains used for email.
Query · yara_l
events:
$github.metadata.vendor_name = "GITHUB" nocase
$github.metadata.product_name = "GITHUB"
(
$github.metadata.product_event_type = "business.invite_admin" or
$github.metadata.product_event_type = "business.invite_billing_manager" or
$github.metadata.product_event_type = "org.invite_member"
)
// Filter events based on the invitee's email address. Customize the regex expression to fit your environment i.e. alert on invites sent to domains that are not managed by your company
$github.extracted.fields["invitee_email"] != /@my-company-domain-name\.com/ nocase
$github.extracted.fields["invitee_email"] = $invitee_email
match:
$invitee_email over 30m
outcome:
$risk_score = max(85)
$event_count = count_distinct($github.metadata.id)
$principal_ip = array_distinct($github.principal.ip)
$principal_user_userid = array_distinct($github.principal.user.userid)
$principal_ip_country = array_distinct($github.principal.ip_geo_artifact.location.country_or_region)
$principal_ip_state = array_distinct($github.principal.ip_geo_artifact.location.state)
$principal_ip_city = array_distinct($github.principal.location.city)
$security_result_summary = array_distinct($github.security_result.summary)
condition:
$github