SShortSingh.
Back to feed

npm Worm Shai-Hulud Ran Malicious Code Simply by Developers Opening a Folder

0
·17 views

In August 2026, attackers compromised a GitHub account belonging to a maintainer of widely used npm caching libraries and injected malicious code directly into the project's release pipeline. Because the packages were published via the project's own legitimate automation, they carried valid provenance signatures, allowing the payload to spread to hundreds of packages within roughly four hours. Crucially, the malware executed not through npm install but via editor and agent configuration files — such as .vscode/tasks.json and .claude/settings.json — that trigger commands automatically when a folder is opened. Once active, the worm harvested credentials from developer environments, CI systems, and cloud configurations, then used stolen tokens to propagate itself across other packages and repositories. The incident highlights a critical gap in supply chain security: provenance signing verifies the build path but cannot confirm whether the source code committed to the pipeline was itself trustworthy.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingHacker News ·

Salon Announces It Is Shutting Down, Ending Its Long-Running Publication

Online news outlet Salon has published a farewell note announcing the end of its operations. The notice was shared on the Hacker News forum, where it drew considerable attention from readers. The source material provides only the headline, link, and engagement figures, so the specific reasons for the closure and the timeline are not detailed here. Readers seeking full context would need to consult Salon's original post.

0
ProgrammingDEV Community ·

Why React's Simplicity Hides Friction in Production Apps

Before React arrived in 2013, many frontend apps relied on jQuery, where developers manually located elements and synced data, often producing fragile code. React instead treats the interface as a function of state, composing small components with one-way data flow and letting the library handle DOM updates. Its lightweight, predictable model drew a large community and now dominates web-framework rankings and job listings. The article argues that its 'it's just JavaScript' promise conceals trade-offs in production-scale work. It illustrates this with JSX pitfalls, such as a falsy zero rendering on screen through the && operator, and with the unique key requirement for list rendering.

0
ProgrammingDEV Community ·

Myriad Immortal Sect Revises Quest Slot Rules After Players Get Stuck

A three-quest slot cap in the game Myriad Immortal Sect left players unable to accept the closing quest for a realm, since leftover side errands filled every slot. Developers first added a narrow exception allowing one main-road quest a fourth slot, then widened it to cover unclaimed main quests and their prerequisites. Capability quests, such as the one unlocking flying, were later brought into the system, which caused further conflicts at realm boundaries. The result is two separate lanes on top of the three ordinary slots, allowing up to five quests in progress at once. Developers also changed how new quests are placed in the log, which affects what the map tracker points players toward, and corrected the Quest Hall labels that had wrongly marked a required quest as optional.

0
ProgrammingDEV Community ·

Yonto Player explains its Android TV stack: Kotlin, Compose, media3 and libVLC

The developer of Yonto Player, an Android TV app started on 15 September 2026, chose its technology stack by working backward from the functions the app needed to perform. Kotlin and Jetpack Compose, with the tv-material library, were selected because they suit Android TV and make remote-driven focus manageable. Media3 and ExoPlayer handle most files by using the device's own hardware decoders, along with HLS and DASH streams. For formats the hardware cannot read, the app falls back to a second engine, libVLC, built in-house under the LGPL, with a similar fallback path for certain audio codecs. The author acknowledges the trade-offs, including added testing burden, a larger download size and the maintenance of a native build script.