Two AlienVault OTX pulses published 2026-08-31 reveal converging abuse of trusted developer platforms as malware delivery infrastructure — one by an established Latin American APT, the other by a supply chain opportunist.
Pulse 1 — APT-C-36 (Blind Eagle), Colombia. LevelBlue SpiderLabs researchers dissected the operator behind Blind Eagle's GitHub-based loader infrastructure. The actor stages malicious loaders and RAT payloads inside GitHub repositories, delivering them via Colombian-themed phishing lures (judicial notification lures are evident in infrastructure like consultanotificacionesjuridicas.site). Investigators pivoted from GitHub commit metadata to an operator email address, then to a compromised machine indexed in stealer log databases — exposing a full operational pipeline spanning four RAT families: AsyncRAT, DcRat, Remcos, and XWorm, plus an AutoIt backdoor (S0129) and crypter services. Targeting is government entities in Colombia. Dynamic DNS (duckdns.org) is used for C2 resolution.
Pulse 2 — 'Mini Shai-Hulud' npm supply chain compromise. On 2026-08-28 an attacker published 10 malicious versions of the npm package @7nohe/openapi-react-query-codegen by exploiting a flawed GitHub Actions release workflow. The pipeline used an issue_comment trigger with no author-association gating, letting any GitHub user trigger an npm publish from a fork. The attacker opened PRs from a fork, then invoked the publish path — injecting obfuscated code through binding.gyp / node-gyp native build hooks, abusing OIDC trusted publishing. This mirrors the original Shai-Hulud worm's tradecraft at smaller scale, targeting the technology sector and any downstream developer/CI environment that installed the poisoned versions.
Collective picture: Adversaries are industrializing the abuse of GitHub — both as a payload staging host (Blind Eagle) and as a CI/CD exploitation surface (Mini Shai-Hulud). Trusted-platform traffic bypasses perimeter controls, and developer workstations become high-value entry points into enterprise networks.
Threat Actor / Malware Profile
APT-C-36 (Blind Eagle)
- Distribution: Colombian phishing emails masquerading as judicial/legal notifications, linking to GitHub-hosted loaders and look-alike domains (
simpmit.co,creainovada.xyz,consultanotificacionesjuridicas.site). - Payload behavior: Multi-stage AutoIt loaders that decrypt/inject final-stage RATs — AsyncRAT, DcRat, Remcos, XWorm — providing remote desktop, keylogging, credential theft, and secondary payload deployment.
- C2: Dynamic DNS hostnames (e.g.,
dccomicrat81.duckdns.org) and hardcoded IPs (e.g.,64.89.160.17); RAT-typical TCP beaconing with configurable ports. - Persistence: Registry Run keys and scheduled tasks are standard across AsyncRAT/Remcos/XWorm families; AutoIt scripts are frequently dropped to %AppData%/%ProgramData% and re-launched at logon.
- Anti-analysis: Crypter-as-a-service packaging, AutoIt script obfuscation, in-memory .NET payload loading to evade static AV, and GitHub staging to blend with legitimate developer traffic.
- OPSEC failure: Operator committed with a real email address; pivot through stealer log marketplaces exposed the full pipeline — a reminder that stealer-log telemetry is a viable attribution vector.
Mini Shai-Hulud (npm supply chain)
- Distribution: Malicious versions of
@7nohe/openapi-react-query-codegenpushed to npm via hijacked OIDC trusted publishing from a forked repository. - Initial access vector: GitHub Actions workflow misconfiguration —
issue_commenttrigger lackingauthor_associationchecks, enabling fork-based arbitrary pipeline execution. - Payload behavior: Obfuscated JavaScript plus
binding.gyp/node-gyp native build hooks that execute duringnpm install, enabling arbitrary code execution in developer machines and CI runners. - Objective: Developer credential/session theft (npm tokens, cloud keys, SSH), downstream propagation — consistent with Shai-Hulud lineage.
IOC Analysis
Indicator types present:
- Domains / hostnames:
data-encoder.com,creainovada.xyz,consultanotificacionesjuridicas.site,simpmit.co,dccomicrat81.duckdns.org— phishing lure sites and RAT C2. Noteconfig.datais a filename-pattern indicator, useful for file/delivery hunting rather than DNS blocking. - IPv4:
64.89.160.17— static RAT C2 infrastructure; high-confidence block. - URL:
http://creainovada.xyz/instructions/— likely a payload staging or lure path; block and retro-search proxy logs. - File hashes (SHA256/SHA1): Malicious npm package artifacts from the supply chain pulse — deploy to EDR blocklists and retro-hunt developer workstations and build agents.
Operationalization guidance:
- Push domains/IP to DNS sinkhole, proxy block, and firewall egress deny lists; alert (not just block) on duckdns.org subdomains in environments without a sanctioned dynamic-DNS use case.
- Retro-hunt proxy, DNS, and EDR network telemetry for 30+ days — phishing C2 often precedes pulse publication by weeks.
- Import hashes into EDR reputation blocklists and scan artifact caches (npm cache, CI artifact stores) for the listed SHA256 values.
- Tooling: CyberChef/Ghidra for AutoIt deobfuscation;
otxPython SDK or direct API pulls to automate IOC ingestion into your SIEM; npm audit plus lockfile diffing to identify installs of the 10 malicious package versions.
Detection Engineering
---
title: Blind Eagle AutoIt Loader Execution with Suspicious Child Process
id: 9f3a2c71-4b1e-4d5a-9e02-7a1c6f8b2d11
status: experimental
description: Detects AutoIt interpreter executing scripts from user-writable directories followed by RAT-consistent child processes, consistent with APT-C-36 (Blind Eagle) GitHub loader delivery of AsyncRAT, DcRat, Remcos, or XWorm.
author: Security Arsenal Threat Intelligence
references:
- https://www.levelblue.com/blogs/spiderlabs-blog/still-circling-inside-the-operator-behind-blind-eagles-github-loader
logsource:
category: process_creation
product: windows
service: sysmon
detection:
selection_autoit:
Image|endswith:
- '\AutoIt3.exe'
- '\AutoIt3_x64.exe'
CommandLine|contains:
- '\AppData\'
- '\ProgramData\'
- '\Temp\'
selection_child:
ParentImage|endswith:
- '\AutoIt3.exe'
- '\AutoIt3_x64.exe'
Image|endswith:
- '\msbuild.exe'
- '\csc.exe'
- '\regasm.exe'
- '\regsvcs.exe'
- '\rundll32.exe'
- '\powershell.exe'
- '\cmd.exe'
condition: selection_autoit or selection_child
level: high
tags:
- attack.execution
- attack.t1059
- attack.t1218
- apt.apt_c_36
falsepositives:
- Legitimate enterprise AutoIt automation scripts
fields:
- Image
- CommandLine
- ParentImage
- User
date: 2026/08/31
---
title: RAT Persistence via Registry Run Key in User Directory
id: 2e7b91d4-8c3f-4a60-b511-3d9e5f6a7c22
status: experimental
description: Detects registry Run key persistence entries pointing to executables in user-writable paths, a standard persistence mechanism for AsyncRAT, Remcos, XWorm, and DcRat deployed by Blind Eagle.
author: Security Arsenal Threat Intelligence
references:
- https://otx.alienvault.com/
logsource:
category: registry_set
product: windows
service: sysmon
detection:
selection_key:
TargetObject|contains:
- '\Software\Microsoft\Windows\CurrentVersion\Run'
- '\Software\Microsoft\Windows\CurrentVersion\RunOnce'
selection_path:
Details|contains:
- '\AppData\Roaming\'
- '\AppData\Local\'
- '\ProgramData\'
- '%TEMP%'
filter_legit:
Details|contains:
- 'OneDrive'
- 'Teams'
- 'Slack'
condition: selection_key and selection_path and not filter_legit
level: high
tags:
- attack.persistence
- attack.t1060
- attack.t1547.001
falsepositives:
- User-installed applications registering autostart entries
date: 2026/08/31
---
title: GitHub Actions issue_comment Trigger Without Author Association Gate
id: 5c1d8e92-7f4a-4b33-9d06-1a2b3c4d5e33
status: experimental
description: Detects CI/CD pipeline risk consistent with the Mini Shai-Hulud npm supply chain compromise - GitHub Actions workflows using issue_comment triggers that allow fork-based workflow execution leading to package publishing.
author: Security Arsenal Threat Intelligence
references:
- https://safedep.io/mini-shai-hulud-openapi-react-query-codegen-compromised/
logsource:
category: file_event
product: windows
detection:
selection_path:
TargetFilename|contains:
- '\.github\workflows\'
selection_content:
TargetFilename|endswith:
- '.yml'
- '.yaml'
condition: selection_path and selection_content
level: informational
tags:
- attack.initial_access
- attack.t1195.001
falsepositives:
- Any legitimate workflow file modification - use as audit enrichment for CI security review
date: 2026/08/31
// Hunt for Blind Eagle RAT C2 communication and phishing infrastructure
let ioc_domains = dynamic(["data-encoder.com", "creainovada.xyz", "consultanotificacionesjuridicas.site", "simpmit.co", "dccomicrat81.duckdns.org"]);
let ioc_ips = dynamic(["64.89.160.17"]);
let networkHits = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where RemoteUrl in (ioc_domains) or RemoteIP in (ioc_ips)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemoteUrl, RemotePort;
let dnsHits = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where RemoteUrl has_any (ioc_domains) or RemoteUrl endswith ".duckdns.org"
| project TimeGenerated, DeviceName, InitiatingProcessFileName, RemoteUrl;
// AutoIt loader execution from user-writable paths
let autoitExec = DeviceProcessEvents
| where TimeGenerated > ago(30d)
| where FileName =~ "AutoIt3.exe" or FileName =~ "AutoIt3_x64.exe"
| where ProcessCommandLine has_any ("AppData", "ProgramData", "Temp")
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, AccountName;
union networkHits, dnsHits, autoitExec
| sort by TimeGenerated desc
# Security Arsenal - Blind Eagle / RAT IOC Hunt Script
# Checks registry persistence, suspicious AutoIt artifacts, and C2 connections
Write-Host "=== Blind Eagle / AsyncRAT-XWorm Hunt ===" -ForegroundColor Cyan
# 1. Registry Run key persistence pointing to user-writable paths
$runKeys = @(
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run",
"HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce",
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Run",
"HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
)
foreach ($key in $runKeys) {
if (Test-Path $key) {
Get-ItemProperty $key | Get-Member -MemberType NoteProperty | ForEach-Object {
$value = (Get-ItemProperty $key).($_.Name)
if ($value -match "AppData|ProgramData|Temp|AutoIt") {
Write-Host "[PERSISTENCE] $key :: $($_.Name) = $value" -ForegroundColor Red
}
}
}
}
# 2. AutoIt scripts and compiled artifacts in user directories
$suspectPaths = @("$env:APPDATA", "$env:LOCALAPPDATA", "$env:ProgramData", "$env:TEMP")
foreach ($path in $suspectPaths) {
Get-ChildItem -Path $path -Recurse -Include *.au3, *.a3x, AutoIt3*.exe -ErrorAction SilentlyContinue |
Select-Object -First 20 | ForEach-Object {
Write-Host "[AUTOIT ARTIFACT] $($_.FullName) (Modified: $($_.LastWriteTime))" -ForegroundColor Yellow
}
}
# 3. Active connections to known RAT C2
$c2Indicators = @("64.89.160.17", "dccomicrat81.duckdns.org")
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue | ForEach-Object {
if ($c2Indicators -contains $_.RemoteAddress) {
$proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
Write-Host "[C2 CONNECTION] $($_.RemoteAddress):$($_.RemotePort) via $($proc.ProcessName) (PID $($_.OwningProcess))" -ForegroundColor Red
}
}
# 4. DNS cache check for lure/C2 domains
$dnsIndicators = @("data-encoder.com", "creainovada.xyz", "consultanotificacionesjuridicas.site", "simpmit.co")
$dnsCache = Get-DnsClientCache -ErrorAction SilentlyContinue
foreach ($ioc in $dnsIndicators) {
$hit = $dnsCache | Where-Object { $_.Entry -like "*$ioc*" }
if ($hit) { Write-Host "[DNS CACHE HIT] $ioc resolved on this host" -ForegroundColor Red }
}
# 5. npm artifact check for Mini Shai-Hulud hashes (developer machines)
$npmCache = "$env:LOCALAPPDATA\npm-cache"
$badHashes = @("b24d121667f21f492cb9db34fbfd515d5922a8dd30b9c45215c7220abbb10ca8", "b49afb7dba04cd99b357ce7c652c823a3707f28e130bd5c6645851a7adc030d6")
if (Test-Path $npmCache) {
Get-ChildItem $npmCache -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
$h = (Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash
if ($badHashes -contains $h.ToLower()) {
Write-Host "[MALICIOUS NPM ARTIFACT] $($_.FullName) SHA256=$h" -ForegroundColor Red
}
}
}
Write-Host "=== Hunt Complete ===" -ForegroundColor Cyan
Response Priorities
Immediate (0-4 hours):
- Block all listed domains, the duckdns C2 hostname, and IP
64.89.160.17at DNS, proxy, and egress firewall layers. - Deploy the eight file hashes to EDR blocklists; retro-hunt endpoints, developer machines, and CI runners.
- Run the KQL hunt and PowerShell sweep against any host with Colombian business exposure or npm development activity.
- Audit
package.json/ lockfiles and CI logs for installs of@7nohe/openapi-react-query-codegenversions published on/after 2026-08-28.
24 hours:
- Any host that communicated with C2 infrastructure or executed AutoIt loaders: force credential resets — RAT families involved (AsyncRAT, Remcos, XWorm) all harvest stored browser credentials, email accounts, and VPN tokens. Assume compromise of any credential used on the affected machine.
- Rotate npm tokens, GitHub PATs, and cloud credentials on any developer workstation that installed the malicious package; OIDC-published packages mean build-time secrets may have been exfiltrated.
- Review GitHub Actions audit logs for fork-triggered workflow runs and unexpected publish events.
1 week (architecture hardening):
- Gate all CI/CD workflows: require
author_associationchecks onissue_comment/pull_requesttriggers, disable fork-based workflow execution on publishing pipelines, and enforce OIDC publishing only from protected branches. - Implement DNS-level filtering or alerting on dynamic DNS providers (duckdns.org) absent a business justification.
- Deploy application control rules restricting AutoIt3.exe and script interpreters from user-writable paths; enable Attack Surface Reduction rules for script-based execution.
- For organizations with LATAM government exposure: brief users on judicial-notification phishing lures and enforce DMARC/attachment sandboxing on inbound legal-themed mail.
Related Resources
Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.