Poisoned Rust Crates Execute Malware at Build Time: 245 Million Downloads Hit in Supply-Chain Attack
Developers running cargo build may have unknowingly executed malicious code that downloaded remote payloads, installed persistent backdoors, and began stealing browser-saved passwords. The attack, discovered on August 20, targeted three popular Rust crates on crates.io: arrayref 0.3.10, internment 0.8.7, and append-only-vec 0.1.9.
All three releases added a dependency on the typosquatted package proc-macro1 instead of the legitimate proc-macro2. Because the malicious crate copied legitimate code, compilation succeeded without errors. The hidden build script reassembled a C2 address from base64 fragments, disabled TLS verification, and downloaded platform-specific payloads to /tmp/rust-setup on Linux/macOS or via hidden PowerShell/VBScript on Windows.
Scale of the arrayref compromise
arrayref has recorded 245,385,500 cumulative downloads, including 53.9 million in the last 90 days. It sits in the dependency chain of widely used crates such as winit → sctk-adwaita → tiny-skia → arrayref. Attackers yanked versions 0.3.5 through 0.3.9 within the same minute the malicious 0.3.10 was published, forcing Cargo to recommend the poisoned release.
North Korean infrastructure overlap
Analysis by Wiz revealed infrastructure reuse with earlier npm and axios supply-chain attacks attributed by Microsoft to Sapphire Sleet and by Google Threat Intelligence to MIDNIGHT NEPTUNE. The C2 server at 23.254.165.112 and domain hwsrv-798836.hostwindsdns.com match prior campaigns. Second-stage malware queries Chrome, Brave, and Edge SQLite login databases and persists via systemd user services, LaunchAgents, or registry Run keys.
Systemic weaknesses in Cargo
- No mandatory publish cooldown; the global-min-publish-age PR remained unmerged at the time of the attack.
- Single-owner accounts without enforced 2FA; the sole maintainer of arrayref registered in 2009.
- Abuse of the yank mechanism to remove legitimate versions and steer users toward the malicious release.
RustSec and crates.io administrators removed the malicious versions within 86–107 minutes. Developers are advised to inspect ~/.cargo/registry/cache for the poisoned crate files, verify absence of /tmp/rust-setup and related scripts, and pin arrayref to version 0.3.9 or earlier.
Related articles
PyPI Explores Prefix Reservation for Organizations Under PEP 752 to Prevent Name Squatting
PEP 752 proposes reserving package name prefixes for organizations on PyPI, allowing control over entire families of related package names rather than individual entries. The change addresses dependency confusion and name squatting risks where attackers register packages with familiar prefixes like google-cloud- or opentelemetry- to exploit user trust. Analysis of over 800,000 PyPI projects by CodeScoring shows that prefixes are rarely controlled by a single owner, with ecosystems like aws- managed by hundreds of accounts. The proposal introduces implicit namespaces and new metadata for clients and proxies while preserving the flat namespace model familiar to Python developers. PEP 755 will define the governance process for granting prefix rights, limiting applications to organizations and requiring clear justification. Existing packages receive backward compatibility exceptions, and the mechanism does not transfer across repositories.
Suspicious Certificate Issuer Detected in MAX Messenger Windows Update Package
A detailed observation from a security researcher highlights an unexpected change in the code signing certificate for the MAX messenger desktop client on Windows. The August update package was signed by an individual named Konstantin Syomochkin instead of the usual Communication Platform LLC. This discrepancy raised concerns about potential supply chain interference linked to recent EU sanctions against the developer. The certificate was issued shortly after sanctions and belongs to a person based in Astana, Kazakhstan, with limited public ties to the VK team. Official MSI installers downloaded directly from the MAX website remain signed by the company, while the client-triggered update differs in both version and signer. The researcher recommends that VK verify the download chain through Mail.ru trackers to rule out tampering. Installation of the update was declined pending further clarification.
LiteLLM Supply Chain Poisoning Exposes 195TB of Credentials Across 2500 Organizations
A detailed forensic report from CloudSEK and Hudson Rock reveals that attackers compromised the LiteLLM CI/CD pipeline by poisoning the Trivy security scanner dependency. The malicious Trivy tag allowed theft of PyPI publishing tokens, leading to the upload of tainted LiteLLM versions 1.82.7 and 1.82.8. Within a 40-minute attack window these packages were downloaded over 119,000 times, exfiltrating 195TB of credentials including AWS, Azure, GCP keys, GitHub tokens, SSH keys, Kubernetes configs, and AI provider API keys. NVIDIA and multiple other major technology firms were confirmed among the victims. The incident highlights critical weaknesses in dependency pinning practices and the absence of automated detection for malicious package behavior on PyPI. Experts warn that AI infrastructure components are becoming high-value targets for future supply-chain campaigns.
Linux Foundation Report Reveals Why Companies Fork Open Source Projects and Maintain Internal Patches
A new Linux Foundation Research study of 567 IT professionals shows that organizations actively modify open source components rather than using them unchanged. While 72% contribute back to projects in some form, many maintain internal forks due to missing features, integration needs, security timelines, and regulatory requirements. The average organization supports 86 internal forks, consuming over 5,000 hours per release cycle. The largest gaps between business-critical technologies and actual contributions appear in programming languages and databases. The findings highlight growing supply-chain risks when internal branches diverge from upstream projects without proper tracking of patches and commits.