TLDR
- Three Rust crates carried a malicious dependency that downloaded and executed malware during Cargo builds automatically.
- Affected packages included arrayref 0.3.10, internment 0.8.7 and append-only-vec 0.1.9 before removal from crates.io.
- Solana-linked dependency chains included arrayref, but no widespread project compromises were publicly confirmed after exposure.
- Malicious releases remained available for roughly 86 to 107 minutes before Rust security teams intervened.
- Developers were advised to inspect Cargo.lock files, rotate exposed credentials and rebuild potentially compromised environments.
A coordinated Rust supply chain attack briefly placed malicious versions of three widely used crates on crates.io, exposing developers and build systems, including dependency chains connected to the Solana ecosystem.
Malicious Rust Crates Executed Payload During Builds
Security researchers identified malicious releases of arrayref@0.3.10, internment@0.8.7 and append-only-vec@0.1.9 on August 20. The three legitimate Rust crates were published with a dependency on proc-macro1, a typosquatted package containing malicious code.
The dependency used its build script to download and execute a remote payload when Cargo compiled an affected project. As a result, developers did not need to manually run the malicious package for an infection to occur. Building software that resolved to one of the compromised versions could expose a developer machine or continuous integration environment.
Researchers said a successful infection could allow remote code execution, system discovery and credential theft. The malware could also establish persistence, access browser information and execute additional scripts or shell commands on an infected system.
The affected releases remained available for a limited period. Reports placed their exposure between 86 and 107 minutes before the versions were removed from circulation. Rust’s security team also locked the affected maintainer account after determining that the maintainer’s computer or publishing credentials were likely compromised.
Solana Dependency Chains Face Exposure
arrayref has broad use across the Rust software ecosystem. Its earlier clean release, version 0.3.9, has recorded more than 150 million downloads and appears within dependency trees for numerous applications and development frameworks.
The package also appears in dependency chains involving parts of the Solana ecosystem, including software related to tokens, staking and validator infrastructure. However, the presence of an affected crate within a project’s broader dependency structure does not establish that the project downloaded the malicious release or suffered a compromise.
No widespread Solana-related infections or specific project compromises had been publicly confirmed from the incident. Exposure depended on whether a build resolved to one of the malicious package versions during the period when they remained available.
Researchers also examined possible links between the campaign and North Korean cyber operations. Some threat intelligence researchers associated the activity with actors tracked as Sapphire Sleet. However, attribution of cyberattacks can change as investigators collect additional technical evidence.
Developers Urged to Check Cargo.lock Files
Security researchers advised Rust developers to inspect Cargo.lock files to determine whether their projects resolved to arrayref@0.3.10, internment@0.8.7, append-only-vec@0.1.9 or the malicious proc-macro1 dependency.
Developers who built software with affected versions were also advised to inspect their build environments and Cargo registry caches. Using precise dependency versions can reduce the risk of automatically resolving to an unexpected release while investigations continue.
Systems that may have executed the malicious build script require additional checks because removing the affected package alone would not remove malware already executed on the host. Security guidance recommends rotating potentially exposed credentials and rebuilding affected environments from a trusted source where compromise is suspected.
The incident centered on compromised package releases rather than a vulnerability in the Rust language or Solana network. Rust’s security response removed the malicious versions, but developers whose builds ran during the exposure period still need to verify which dependency versions their systems used.





