Sapphire Sleet
actor · actor:sapphire-sleet
DPRK-linked cluster that Amazon Threat Intelligence assesses with medium confidence (on the basis of command-and-control indicators and TTPs) to be behind the September 2025 compromises of the npm packages debug and chalk and the March 2026 compromise of axios, in each case obtaining publishing access by socially engineering a trusted package maintainer rather than exploiting a registry flaw. Amazon further assesses that a small March 2025 compromise of a package named typo-crypto (into which the actor committed a trojanised file that detonated only on a specific input value and then fetched an operating-system-appropriate second stage) was a testing ground for those later, higher-impact supply-chain operations. The attribution is Amazon's own medium-confidence assessment, independently corroborated on 2026-07-30 when Google's threat-intelligence group separately credited the axios compromise to the cluster it tracks as UNC1069 (already an alias on this record) under its new cryptonym MIDNIGHT NEPTUNE; the alias UNC1069 is sourced to CyberScoop's reporting on Amazon's media roundtable rather than to Amazon's own publication (AWS Security Blog, CyberScoop, 2026-07-29; Google Cloud/GTIG, 2026-07-30).
Aliases: STARDUST CHOLLIMA, BlueNoroff, CageyChameleon, Alluring Pisces, UNC1069, MIDNIGHT NEPTUNE
Coverage
5
3 about it · 2 mentions · first 2026-05-29 → last 2026-09-29
Latest activity
2026-08-23
Build scripts execute before the crate's own code, so `cargo build` was the whole exploit; Wiz ties the…
Peak priority
high
1 high · 2 notable
Targets
public-sector
sectors: public-sector, finance, technology · regions: europe
Sources cited
21
14 hosts
2026-05-295 appearances2026-08-23
Action items (2)
Do-now tasks recorded on the entries about Sapphire Sleet, newest first. Check the date before acting on an older one.
- Search build and CI logs for any2026-08-23Build scripts execute before the crate's own code…
cargo buildbetween 07:15 and 09:26 UTC on 2026-08-20 that resolved arrayref 0.3.10, internment 0.8.7 or append-only-vec 0.1.9, and treat every workstation and runner that did as compromised rather than merely as needing a dependency bump; the payload ran at compile time and persistence outlives the rollback. - Check2026-08-23Build scripts execute before the crate's own code…
~/.cargo/registry/cacheon developer and build hosts for cached copies of the withdrawn versions; deletion from crates.io does not clear a local cache, and a cached copy will still build.
Defender insights
What each entry about Sapphire Sleet tells a defender to do, newest first.
Triage
Triage
Relationships explore in graph
Typed, source-stated connections from the entity registry; each edge cites the entry whose reporting establishes it.
overlaps with
- arrayref crates.io compile-time backdoorWiz reports a shared beacon endpoint with the Mastra campaign Microsoft attributes to Sapphire Sleet at high confidence, a shared TLS certificate issuer, and an address appearing in Google GTIG analysis of the axios compromise attributed to UNC1069, a registered alias of the same cluster. Carried as Wiz's overlap observation, not as attribution.
Story timeline
Every entry that names Sapphire Sleet, newest first. Rows tagged mention only name it in passing: they are listed for completeness and add nothing to the action items, pivots or ATT&CK profile on this page.
- 2026-08-23A hijacked crates.io account added the first dependency arrayref has taken in ten years, and that dependency ran a backdoor at compile time; every machine that built an affected project during a ninety-minute window must be treated as compromised
- 2026-08-04CrowdStrike 2026 Threat Hunting Report: 88% of public-PoC exploitation landed inside 48 hours, and npm accounted for 87% of software-registry threats
- 2026-07-30Amazon attributes the axios, debug and chalk npm compromises to a DPRK-linked cluster with medium confidence, and names a small 2025 package compromise as the rehearsal
- 2026-06-18Mastra npm supply-chain compromise (easy-day-js)
- 2026-05-29Wiz CIRT names JINX-0164, LinkedIn-recruiter lures, AUDIOFIX macOS infostealer, MINIRAT npm pivot into CI/CD
Hunting pivots
ATT&CK techniques (13 across 6 tactics)
13 techniques observed across 3 entries about this entity, derived from entry metadata and body evidence, never asserted without a published entry behind it · pinned to MITRE ATT&CK v20.0 · compare on the matrix · Navigator layer (JSON)
- Initial AccessValid Accounts: Cloud Accounts · Exploit Public-Facing Application · Supply Chain Compromise: Compromise Software Supply Chain · Trusted Relationship · Phishing: Spearphishing Voice
- PersistenceValid Accounts: Cloud Accounts · Create or Modify System Process: Launch Agent · Create or Modify System Process: Systemd Service · Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder
- Privilege EscalationValid Accounts: Cloud Accounts · Create or Modify System Process: Launch Agent · Create or Modify System Process: Systemd Service · Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder
- StealthObfuscated Files or Information · Valid Accounts: Cloud Accounts · Deobfuscate/Decode Files or Information
- DiscoveryBrowser Information Discovery
- Command and ControlIngress Tool Transfer · Dynamic Resolution: Domain Generation Algorithms
Initial Access TA0001
T1078.004Valid Accounts: Cloud Accounts×1
Valid accounts in cloud environments may allow adversaries to perform actions to achieve Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application. Cloud Accounts can exist solely in the cloud; alternatively, they may be hybrid-joined between on-premises systems and the cloud through syncing or federation with other identity sources such as Windows Active Directory.
Evidence: 2026-08-04/crowdstrike-2026-threat-hunting-report-exploitation-window · ATT&CK page ↗
T1190Exploit Public-Facing Application×1
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. The weakness in the system can be a software bug, a temporary glitch, or a misconfiguration.
Evidence: 2026-08-04/crowdstrike-2026-threat-hunting-report-exploitation-window · ATT&CK page ↗
T1195.002Supply Chain Compromise: Compromise Software Supply Chain×3
Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise. Supply chain compromise of software can take place in a number of ways, including manipulation of the application source code, manipulation of the update/distribution mechanism for that software, or replacing compiled releases with a modified version.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · 2026-08-04/crowdstrike-2026-threat-hunting-report-exploitation-window · 2026-07-30/amazon-dprk-attribution-npm-typo-crypto-rehearsal · ATT&CK page ↗
T1199Trusted Relationship×1
Adversaries may breach or otherwise leverage organizations who have access to intended victims. Access through trusted third party relationship abuses an existing connection that may not be protected or receives less scrutiny than standard mechanisms of gaining access to a network.
Evidence: 2026-07-30/amazon-dprk-attribution-npm-typo-crypto-rehearsal · ATT&CK page ↗
T1566.004Phishing: Spearphishing Voice×1
Adversaries may use voice communications to ultimately gain access to victim systems. Spearphishing voice is a specific variant of spearphishing. It is different from other forms of spearphishing in that it employs the use of manipulating a user into providing access to systems through a phone call or other forms of voice communications. Spearphishing frequently involves social engineering techniques, such as posing as a trusted source (ex: Impersonation) and/or creating a sense of urgency or alarm for the recipient.
Evidence: 2026-08-04/crowdstrike-2026-threat-hunting-report-exploitation-window · ATT&CK page ↗
Persistence TA0003
T1078.004Valid Accounts: Cloud Accounts×1
Valid accounts in cloud environments may allow adversaries to perform actions to achieve Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application. Cloud Accounts can exist solely in the cloud; alternatively, they may be hybrid-joined between on-premises systems and the cloud through syncing or federation with other identity sources such as Windows Active Directory.
Evidence: 2026-08-04/crowdstrike-2026-threat-hunting-report-exploitation-window · ATT&CK page ↗
T1543.001Create or Modify System Process: Launch Agent×1
Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>~/Library/LaunchAgents</code>. Property list files use the <code>Label</code>, <code>ProgramArguments </code>, and <code>RunAtLoad</code> keys to identify the Launch Agent's name, executable location, and execution time. Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
T1543.002Create or Modify System Process: Systemd Service×1
Adversaries may create or modify systemd services to repeatedly execute malicious payloads as part of persistence. Systemd is a system and service manager commonly used for managing background daemon processes (also known as services) and other system resources. Systemd is the default initialization (init) system on many Linux distributions replacing legacy init systems, including SysVinit and Upstart, while remaining backwards compatible.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
T1547.001Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder×1
Adversaries may achieve persistence by adding a program to a startup folder or referencing it with a Registry run key. Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in. These programs will be executed under the context of the user and will have the account's associated permissions level.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
Privilege Escalation TA0004
T1078.004Valid Accounts: Cloud Accounts×1
Valid accounts in cloud environments may allow adversaries to perform actions to achieve Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application. Cloud Accounts can exist solely in the cloud; alternatively, they may be hybrid-joined between on-premises systems and the cloud through syncing or federation with other identity sources such as Windows Active Directory.
Evidence: 2026-08-04/crowdstrike-2026-threat-hunting-report-exploitation-window · ATT&CK page ↗
T1543.001Create or Modify System Process: Launch Agent×1
Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>~/Library/LaunchAgents</code>. Property list files use the <code>Label</code>, <code>ProgramArguments </code>, and <code>RunAtLoad</code> keys to identify the Launch Agent's name, executable location, and execution time. Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
T1543.002Create or Modify System Process: Systemd Service×1
Adversaries may create or modify systemd services to repeatedly execute malicious payloads as part of persistence. Systemd is a system and service manager commonly used for managing background daemon processes (also known as services) and other system resources. Systemd is the default initialization (init) system on many Linux distributions replacing legacy init systems, including SysVinit and Upstart, while remaining backwards compatible.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
T1547.001Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder×1
Adversaries may achieve persistence by adding a program to a startup folder or referencing it with a Registry run key. Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in. These programs will be executed under the context of the user and will have the account's associated permissions level.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
Stealth TA0005
T1027Obfuscated Files or Information×1
Adversaries may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit. This is common behavior that can be used across different platforms and the network to evade defenses.
Evidence: 2026-07-30/amazon-dprk-attribution-npm-typo-crypto-rehearsal · ATT&CK page ↗
T1078.004Valid Accounts: Cloud Accounts×1
Valid accounts in cloud environments may allow adversaries to perform actions to achieve Initial Access, Persistence, Privilege Escalation, or Defense Evasion. Cloud accounts are those created and configured by an organization for use by users, remote support, services, or for administration of resources within a cloud service provider or SaaS application. Cloud Accounts can exist solely in the cloud; alternatively, they may be hybrid-joined between on-premises systems and the cloud through syncing or federation with other identity sources such as Windows Active Directory.
Evidence: 2026-08-04/crowdstrike-2026-threat-hunting-report-exploitation-window · ATT&CK page ↗
T1140Deobfuscate/Decode Files or Information×1
Adversaries may use Obfuscated Files or Information to hide artifacts of an intrusion from analysis. They may require separate mechanisms to decode or deobfuscate that information depending on how they intend to use it. Methods for doing that include built-in functionality of malware or by using utilities present on the system.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
Discovery TA0007
T1217Browser Information Discovery×1
Adversaries may enumerate information about browsers to learn more about compromised environments. Data saved by browsers (such as bookmarks, accounts, and browsing history) may reveal a variety of personal information about users (e.g., banking sites, relationships/interests, social media, etc.) as well as details about internal network resources such as servers, tools/dashboards, or other related infrastructure.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
Command and Control TA0011
T1105Ingress Tool Transfer×1
Adversaries may transfer tools or other files from an external system into a compromised environment. Tools or files may be copied from an external adversary-controlled system to the victim network through the command and control channel or through alternate protocols such as ftp. Once present, adversaries may also transfer/spread tools between victim devices within a compromised environment (i.e. Lateral Tool Transfer).
Evidence: 2026-07-30/amazon-dprk-attribution-npm-typo-crypto-rehearsal · ATT&CK page ↗
T1568.002Dynamic Resolution: Domain Generation Algorithms×1
Adversaries may make use of Domain Generation Algorithms (DGAs) to dynamically identify a destination domain for command and control traffic rather than relying on a list of static IP addresses or domains. This has the advantage of making it much harder for defenders to block, track, or take over the command and control channel, as there potentially could be thousands of domains that malware can check for instructions.
Evidence: 2026-08-23/rust-crates-arrayref-build-script-backdoor-dprk · ATT&CK page ↗
Entries about Sapphire Sleet (3)
Co-occurring entities
Derived: referenced by the same focused operational entries (weekly summaries and report roundups don't count); ×N counts the shared entries.
- append-only-vec (Rust crate)×1
- arrayref (Rust crate)×1
- arrayref crates.io compile-time backdoor×1
- internment (Rust crate)×1
- JINX-0164×1
- Mastra easy-day-js backdoor×1
Where this entity is cited
Source distribution
- attack.mitre.org7 (33%)
- wiz.io2 (10%)
- aws.amazon.com1 (5%)
- bleepingcomputer.com1 (5%)
- blog.rust-lang.org1 (5%)
- cloud.google.com1 (5%)
- crowdstrike.com1 (5%)
- cyberscoop.com1 (5%)
- other6 (29%)
All cited sources (21)
- attack.mitre.orgJavaScripthttps://attack.mitre.org/techniques/T1059/007/
- attack.mitre.orgApplication Layer Protocol: Webhttps://attack.mitre.org/techniques/T1071/001/
- attack.mitre.orgCompromise Software Dependencies and Development Toolshttps://attack.mitre.org/techniques/T1195/001/
- attack.mitre.orgCompromise Software Supply Chainhttps://attack.mitre.org/techniques/T1195/002/
- attack.mitre.orgLaunch Agenthttps://attack.mitre.org/techniques/T1543/001/
- attack.mitre.orgSystemd Servicehttps://attack.mitre.org/techniques/T1543/002/
- attack.mitre.orgRegistry Run Keyshttps://attack.mitre.org/techniques/T1547/001/
- aws.amazon.comAWS Security Bloghttps://aws.amazon.com/blogs/security/amazon-identifies-north-korean-hacker-group-behind-open-source-supply-chain-attacks/
- bleepingcomputer.comBleepingComputerhttps://www.bleepingcomputer.com/news/security/microsoft-links-mastra-ai-supply-chain-attack-to-north-korean-hackers/
- blog.rust-lang.orgThe Rust Project (Rust Security Response Team)https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/
- cloud.google.comGoogle Threat Intelligence Grouphttps://cloud.google.com/blog/topics/threat-intelligence/north-korea-threat-actor-targets-axios-npm-package
- crowdstrike.comCrowdStrike Counter Adversary Operationshttps://www.crowdstrike.com/en-us/blog/crowdstrike-2026-threat-hunting-report/
- cyberscoop.comCyberScoophttps://cyberscoop.com/amazon-north-korea-open-source-software-attacks/
- microsoft.comMicrosoft Threat Intelligencehttps://www.microsoft.com/en-us/security/blog/2026/06/17/postinstall-payload-inside-mastra-npm-supply-chain-compromise/
- research.jfrog.comJFrog Security Researchhttps://research.jfrog.com/post/easy-day-js/
- siliconangle.comSiliconANGLEhttps://siliconangle.com/2026/08/03/crowdstrike-finds-ai-systems-direct-attack-exploit-windows-shrink/
- snyk.ioSnykhttps://snyk.io/blog/a-forgotten-contributor-account-compromised-the-entire-mastra-npm-package-scope/
- socket.devSockethttps://socket.dev/blog/mastra-npm-packages-compromised
- thehackernews.comThe Hacker News, 2026-05-28https://thehackernews.com/2026/05/jinx-0164-targets-cryptocurrency-firms.html
- wiz.ioWiz Researchhttps://www.wiz.io/blog/rust-supply-chain-attack-on-arrayref-significant-overlap-with-dprk-campaigns
- wiz.ioWiz Research, JINX-0164https://www.wiz.io/blog/threat-actors-target-crypto-orgs