Detection rules › Sigma

GitHub Repository Archive Status Changed

Status
experimental
Severity
low
Log source
product github, service audit
Author
Ivan Saakov
Source
github.com/SigmaHQ/sigma

Detects when a GitHub repository is archived or unarchived, which may indicate unauthorized changes to repository status.

MITRE ATT&CK coverage

TacticTechniques
PersistenceNo specific technique
Defense ImpairmentNo specific technique
ImpactNo specific technique

Event coverage

Rules detecting the same action

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

Rule body yaml

title: GitHub Repository Archive Status Changed
id: dca8991c-cb16-4128-abf8-6b11e5cd156f
status: experimental
description: |
    Detects when a GitHub repository is archived or unarchived, which may indicate unauthorized changes to repository status.
references:
    - https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories
    - https://www.sentinelone.com/blog/exploiting-repos-6-ways-threat-actors-abuse-github-other-devops-platforms
    - https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/security-log-events
author: Ivan Saakov
date: 2025-10-18
tags:
    - attack.persistence
    - attack.impact
    - attack.defense-impairment
logsource:
    product: github
    service: audit
detection:
    selection:
        action:
            - 'repo.archived'
            - 'repo.unarchived'
    condition: selection
falsepositives:
    - Archiving or unarchiving a repository is often legitimate. Investigate this action to determine if it was authorized.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action:
        - 'repo.archived'
        - 'repo.unarchived'

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.archived
  • repo.unarchived