Open Source · · 1 day
Squawk npm packages carried Shai-Hulud
JFrog listed 22 Squawk npm packages in the May 2026 Shai-Hulud wave. This record scopes those artifacts to their own official distribution surface.
Part of Shai-Hulud hits npm and PyPI campaign
Squawk was one of the broad package-family hits in the May 2026 Shai-Hulud wave. JFrog listed 22 affected @squawk/* npm packages and 110 affected versions, covering data, route, airport, airway, procedure, and utility modules under the same namespace.
That scale made Squawk more than a single bad tarball. A project using one aviation-data package could pull several related packages into the same lockfile or CI job, giving the TeamPCP payload repeated chances to execute in the same trusted environment. The worm's goal was not the package's business logic; it was the credentials and publishing authority around the install.
This record keeps the Squawk namespace separate from the aggregate campaign because responders need the full package family for inventory searches. The campaign page explains the common Shai-Hulud loader, credential theft, and self-propagation path; this page preserves the package names, version lists, registry URLs, and May 11-12 window.
Cleanup should treat the namespace as a cluster. Teams should search lockfiles, npm caches, artifact mirrors, and build logs for every listed @squawk/* release, then rotate credentials for any environment that installed them and review package publications made from those systems.
Notes
- The network and payload indicators are the campaign-level set JFrog published for this wave, not observations of this package's own bytes. Indicators read from an acquired sample are marked as such where they appear.
- Minimal campaign-linked record created to keep Shai-Hulud package evidence scoped by vendor, organization, maintainer account, or package distribution surface.
- The sample manifest documents 19 complete synthetic tree reconstructions, including four generated-data releases closed with exact clean-predecessor dataset bytes. They stay named RECONSTRUCTED and are absent from artifact hashes.
- Later affected releases whose router variants are unavailable remain explicitly RECONSTRUCTED-PARTIAL.
Appendix · Affected releases
Indicators
- file_sha256npm payload 29c729852fce5a53e30a1541d9fec79c915b2e13f1eda94a5978cf0aae0d88d9
- file_sha256npm payload 2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96
- file_sha256npm payload ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266c
- file_sha256npm payload d4a2086ea18f5e39cd867b8b06918a524eabb21d45ea98aad07357b98173458a
- urlhttps://filev2.getsession.org/file/
- domainseed1.getsession.org
- domainseed2.getsession.org
- domainseed3.getsession.org
- domainapi.masscan.cloud
- file~/.local/bin/gh-token-monitor.sh
- file~/.config/systemd/user/gh-token-monitor.service
- file~/Library/LaunchAgents/com.user.gh-token-monitor.plist
- file~/.config/gh-token-monitor/
- stringShai-Hulud: Here We Go Again
- stringPUSH UR T3MPRR
- stringFIRESCALE
- commit_author[email protected]
References
- Shai-Hulud: Here We Go Again - Worm by TeamPCP Hits NPM and PyPIresearch.jfrog.com
- TanStack npm Packages Compromised in Ongoing Mini Shai-Hulud Supply Chain Attack - Socketsocket.dev
- Mini Shai-Hulud Is Back: npm Worm Hits over 160 Packages, including Mistral and Tanstack - Aikidoaikido.dev
- Socket file listing for @squawk/airport-data 0.7.8socket.dev
- Socket file listing for @squawk/airport-data 0.7.7socket.dev
- Socket file listing for @squawk/airport-data 0.7.6socket.dev
- Socket file listing for @squawk/airport-data 0.7.5socket.dev
- Socket file listing for @squawk/airport-data 0.7.4socket.dev
- Socket file listing for @squawk/airports 0.6.6socket.dev
- Socket file listing for @squawk/airports 0.6.5socket.dev
- Socket file listing for @squawk/airports 0.6.4socket.dev
- Socket file listing for @squawk/airports 0.6.3socket.dev
- Socket file listing for @squawk/airports 0.6.2socket.dev
- Socket file listing for @squawk/airspace 0.8.5socket.dev
- Socket file listing for @squawk/airspace 0.8.3socket.dev
- Socket file listing for @squawk/airspace 0.8.4socket.dev
- Socket file listing for @squawk/airspace 0.8.2socket.dev
- Socket file listing for @squawk/airspace 0.8.1socket.dev
- Socket file listing for @squawk/airspace-data 0.5.7socket.dev
- Socket file listing for @squawk/airspace-data 0.5.5socket.dev
- Socket file listing for @squawk/airspace-data 0.5.6socket.dev
- Socket file listing for @squawk/airspace-data 0.5.4socket.dev
- Socket file listing for @squawk/airspace-data 0.5.3socket.dev
- Socket file listing for @squawk/airway-data 0.5.8socket.dev
- Socket file listing for @squawk/airway-data 0.5.7socket.dev
- Socket file listing for @squawk/airway-data 0.5.6socket.dev
- Socket file listing for @squawk/airway-data 0.5.5socket.dev
- Socket file listing for @squawk/airway-data 0.5.4socket.dev
- Socket file listing for @squawk/airways 0.4.6socket.dev
- Socket file listing for @squawk/airways 0.4.4socket.dev
- Socket file listing for @squawk/airways 0.4.5socket.dev
- Socket file listing for @squawk/airways 0.4.3socket.dev
- Socket file listing for @squawk/airways 0.4.2socket.dev
- Socket file listing for @squawk/fix-data 0.6.8socket.dev
- Socket file listing for @squawk/fix-data 0.6.7socket.dev
- Socket file listing for @squawk/fix-data 0.6.6socket.dev
- Socket file listing for @squawk/fix-data 0.6.5socket.dev
- Socket file listing for @squawk/fix-data 0.6.4socket.dev
- Socket file listing for @squawk/fixes 0.3.6socket.dev
- Socket file listing for @squawk/fixes 0.3.5socket.dev
- Socket file listing for @squawk/fixes 0.3.4socket.dev
- Socket file listing for @squawk/fixes 0.3.3socket.dev
- Socket file listing for @squawk/fixes 0.3.2socket.dev
- Socket file listing for @squawk/flight-math 0.5.8socket.dev
- Socket file listing for @squawk/flight-math 0.5.7socket.dev
- Socket file listing for @squawk/flight-math 0.5.6socket.dev
- Socket file listing for @squawk/flight-math 0.5.5socket.dev
- Socket file listing for @squawk/flight-math 0.5.4socket.dev
- Socket file listing for @squawk/flightplan 0.5.6socket.dev
- Socket file listing for @squawk/flightplan 0.5.5socket.dev
- Socket file listing for @squawk/flightplan 0.5.4socket.dev
- Socket file listing for @squawk/flightplan 0.5.3socket.dev
- Socket file listing for @squawk/flightplan 0.5.2socket.dev
- Socket file listing for @squawk/geo 0.4.8socket.dev
- Socket file listing for @squawk/geo 0.4.7socket.dev
- Socket file listing for @squawk/geo 0.4.6socket.dev
- Socket file listing for @squawk/geo 0.4.5socket.dev
- Socket file listing for @squawk/geo 0.4.4socket.dev
- Socket file listing for @squawk/icao-registry 0.5.6socket.dev
- Socket file listing for @squawk/icao-registry 0.5.5socket.dev
- Socket file listing for @squawk/icao-registry 0.5.4socket.dev
- Socket file listing for @squawk/icao-registry 0.5.3socket.dev
- Socket file listing for @squawk/icao-registry 0.5.2socket.dev
- Socket file listing for @squawk/icao-registry-data 0.8.8socket.dev
- Socket file listing for @squawk/icao-registry-data 0.8.6socket.dev
- Socket file listing for @squawk/icao-registry-data 0.8.7socket.dev
- Socket file listing for @squawk/icao-registry-data 0.8.5socket.dev
- Socket file listing for @squawk/icao-registry-data 0.8.4socket.dev
- Socket file listing for @squawk/mcp 0.9.5socket.dev
- Socket file listing for @squawk/mcp 0.9.4socket.dev
- Socket file listing for @squawk/mcp 0.9.3socket.dev
- Socket file listing for @squawk/mcp 0.9.2socket.dev
- Socket file listing for @squawk/mcp 0.9.1socket.dev
- Socket file listing for @squawk/navaid-data 0.6.8socket.dev
- Socket file listing for @squawk/navaid-data 0.6.7socket.dev
- Socket file listing for @squawk/navaid-data 0.6.6socket.dev
- Socket file listing for @squawk/navaid-data 0.6.5socket.dev
- Socket file listing for @squawk/navaid-data 0.6.4socket.dev
- Socket file listing for @squawk/navaids 0.4.6socket.dev
- Socket file listing for @squawk/navaids 0.4.5socket.dev
- Socket file listing for @squawk/navaids 0.4.4socket.dev
- Socket file listing for @squawk/navaids 0.4.3socket.dev
- Socket file listing for @squawk/navaids 0.4.2socket.dev
- Socket file listing for @squawk/notams 0.3.10socket.dev
- Socket file listing for @squawk/notams 0.3.9socket.dev
- Socket file listing for @squawk/notams 0.3.8socket.dev
- Socket file listing for @squawk/notams 0.3.7socket.dev
- Socket file listing for @squawk/notams 0.3.6socket.dev
- Socket file listing for @squawk/procedure-data 0.7.7socket.dev
- Socket file listing for @squawk/procedure-data 0.7.5socket.dev
- Socket file listing for @squawk/procedure-data 0.7.6socket.dev
- Socket file listing for @squawk/procedure-data 0.7.4socket.dev
- Socket file listing for @squawk/procedure-data 0.7.3socket.dev
- Socket file listing for @squawk/procedures 0.5.6socket.dev
- Socket file listing for @squawk/procedures 0.5.4socket.dev
- Socket file listing for @squawk/procedures 0.5.5socket.dev
- Socket file listing for @squawk/procedures 0.5.3socket.dev
- Socket file listing for @squawk/procedures 0.5.2socket.dev
- Socket file listing for @squawk/types 0.8.5socket.dev
- Socket file listing for @squawk/types 0.8.3socket.dev
- Socket file listing for @squawk/types 0.8.4socket.dev
- Socket file listing for @squawk/types 0.8.2socket.dev
- Socket file listing for @squawk/types 0.8.1socket.dev
- Socket file listing for @squawk/units 0.4.7socket.dev
- Socket file listing for @squawk/units 0.4.5socket.dev
- Socket file listing for @squawk/units 0.4.6socket.dev
- Socket file listing for @squawk/units 0.4.4socket.dev
- Socket file listing for @squawk/units 0.4.3socket.dev
- Socket file listing for @squawk/weather 0.5.10socket.dev
- Socket file listing for @squawk/weather 0.5.8socket.dev
- Socket file listing for @squawk/weather 0.5.9socket.dev
- Socket file listing for @squawk/weather 0.5.7socket.dev
- Socket file listing for @squawk/weather 0.5.6socket.dev
- Clean predecessor Socket file listing for @squawk/airport-data 0.7.3socket.dev
- Clean predecessor jsDelivr manifest for @squawk/airport-data 0.7.3data.jsdelivr.com
- Clean predecessor Socket file listing for @squawk/airspace-data 0.5.2socket.dev
- Clean predecessor jsDelivr manifest for @squawk/airspace-data 0.5.2data.jsdelivr.com
- Clean predecessor Socket file listing for @squawk/airway-data 0.5.3socket.dev
- Clean predecessor jsDelivr manifest for @squawk/airway-data 0.5.3data.jsdelivr.com
- Clean predecessor Socket file listing for @squawk/fix-data 0.6.3socket.dev
- Clean predecessor jsDelivr manifest for @squawk/fix-data 0.6.3data.jsdelivr.com
- npm registry metadata for clean @squawk/airport-data 0.7.3registry.npmjs.org
- npm registry metadata for clean @squawk/airspace-data 0.5.2registry.npmjs.org
- npm registry metadata for clean @squawk/airway-data 0.5.3registry.npmjs.org
- npm registry metadata for clean @squawk/fix-data 0.6.3registry.npmjs.org
Source record: oss/attacks/shai-hulud-squawk-npm/meta.yaml