Detection rules › Panther

Github Public Repository Created

Severity
medium
Log types
GitHub.Audit
Tags
Github Repository, Public, Repository Created
Reference
https://docs.github.com/en/get-started/quickstart/create-a-repo
Source
github.com/panther-labs/panther-analysis

A public Github repository was created.

Rules detecting the same action

Other rules on this platform that filter on the same API call or operation.

Rule body yaml

AnalysisType: rule
Description: A public Github repository was created.
DisplayName: "Github Public Repository Created"
Enabled: true
Filename: github_public_repository_created.py
Runbook: Confirm this github repository was intended to be created as 'public' versus 'private'.
Reference: https://docs.github.com/en/get-started/quickstart/create-a-repo
Severity: Medium
Tags:
  - Github Repository
  - Public
  - Repository Created
Tests:
  - ExpectedResult: true
    Log:
      _document_id: abCD
      action: repo.create
      actor: example-actor
      actor_location:
        country_code: US
      at_sign_timestamp: "2022-12-11 22:40:20.268"
      created_at: "2022-12-11 22:40:20.268"
      org: example-io
      repo: example-io/oops
      visibility: public
    Name: Public Repo Created
  - ExpectedResult: false
    Log:
      _document_id: abCD
      action: repo.create
      actor: example-actor
      actor_location:
        country_code: US
      at_sign_timestamp: "2022-12-11 22:40:20.268"
      created_at: "2022-12-11 22:40:20.268"
      org: example-io
      repo: example-io/oops
      visibility: private
    Name: Private Repo Created
DedupPeriodMinutes: 60
LogTypes:
  - GitHub.Audit
RuleID: "Github.Public.Repository.Created"
SummaryAttributes:
  - actor
  - repository
  - visibility
Threshold: 1

Detection logic

Condition

action eq "repo.create"
visibility eq "public"

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
actioneq
  • repo.create
visibilityeq
  • public

Output fields

Fields the rule emits when it matches. Chronicle authors list these in the outcome block; they appear on the detection and $risk_score drives alerting. Sentinel / Defender XDR rules build them up through project / summarize / extend stages. Sentinel maps these into alert fields via entityMappings and customDetails; Defender XDR custom detections surface them as alert fields directly.

FieldSource
action
actor
actor_locationactor_location.country_code
org
repo
user