Detection rules › Panther
NX Supply Chain - S1ngularity Repository Detection
https://github.com/nrwl/nx/security/advisories/GHSA-cxm3-wv7p-598c Detects GitHub activity associated with the NX supply chain compromise (CVE-2024-XXXX). The s1ngularity attack compromised popular NX build system packages affecting ~4M weekly downloads. Attack Details: - Malicious NPM packages published August 26-27, 2025 (22:32-03:37 UTC) - Created repositories: "s1ngularity-repository", "s1ngularity-repository-0/1" for data exfiltration - Targeted cryptocurrency wallets, SSH keys, GitHub/NPM tokens, .env files - Used triple base64 encoding to upload stolen credentials - First documented case of weaponizing AI CLI tools for reconnaissance This query detects repository creation, access, and API activity patterns consistent with the attack.
Rules detecting the same action
Other rules on this platform that filter on the same API call or operation.
- GitHub - Repository was created (Kusto)
- GitHub High Number Of Non Public GitHub Repositories Downloaded (YARA-L)
- GitHub Private Repository Turned Public (Elastic)
- Github Public Repository Created (Panther)
- GitHub Repo Created (Elastic)
- GitHub Repository Created (Panther)
- GitHub Repository Visibility Change (Panther)
- GitHub Repository Visibility Changed To Public (YARA-L)
Rule body yaml
AnalysisType: saved_query
QueryName: NX Supply Chain - S1ngularity Repository Detection
Description: |
https://github.com/nrwl/nx/security/advisories/GHSA-cxm3-wv7p-598c
Detects GitHub activity associated with the NX supply chain compromise (CVE-2024-XXXX).
The s1ngularity attack compromised popular NX build system packages affecting ~4M weekly downloads.
Attack Details:
- Malicious NPM packages published August 26-27, 2025 (22:32-03:37 UTC)
- Created repositories: "s1ngularity-repository", "s1ngularity-repository-0/1" for data exfiltration
- Targeted cryptocurrency wallets, SSH keys, GitHub/NPM tokens, .env files
- Used triple base64 encoding to upload stolen credentials
- First documented case of weaponizing AI CLI tools for reconnaissance
This query detects repository creation, access, and API activity patterns consistent with the attack.
Tags:
- GitHub
- Supply Chain Compromise
- NX Package Compromise
- Data Exfiltration
Query: |
SELECT
p_event_time,
actor,
action,
repo,
org,
actor_ip,
user_agent,
visibility,
public_repo,
operation_type,
created_at
FROM panther_logs.public.github_audit
WHERE p_event_time >= '2025-08-25 12:00:00'
AND action IN ('repo.create', 'repo.access', 'repo.download_zip', 'team.add_repository')
AND public_repo
AND LOWER(COALESCE(repo, '')) LIKE '%s1ngularity-repository%'
ORDER BY p_event_time DESC
Detection logic
Stage 1: source
panther_logs.public.github_audit
Stage 2: filter
p_event_time ge "2025-08-25 12:00:00"
action in ["repo.create", "repo.access", "repo.download_zip", "team.add_repository"]
This rule also runs imperative logic the parser cannot express as a filter; the conditions above are the structured part it could extract.
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 |
|---|---|---|
action | in |
|
p_event_time | ge |
|
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.
| Field |
|---|
p_event_time |
actor |
action |
repo |
org |
actor_ip |
user_agent |
visibility |
public_repo |
operation_type |
created_at |