B49/100
Supply-chain attack · high
Malicious RubyGems package strutil-core is a Shai-Hulud descendant credential-stealing worm
Tier B · Patch this week – Put it in the sprint
Who’s exposed: Projects that install malicious strutil-core 1.0.1 from RubyGems
Tier B because: Exploited in the wild OR public exploit
Reach
Attack
Damage
Fix
Exploited in the wild · Full takeover · Secrets exposed · Supply chain
What to do
- Check whether strutil-core 1.0.1 is installed in your projects and remove it.
- Rotate any credentials that were present on systems where strutil-core 1.0.1 was installed.
The Brief
- Malicious RubyGems package strutil-core version 1.0.1 runs a 5.48 MB credential-stealing worm when installed.
- The RubyGems account jamnajiea published a clean strutil-core 1.0.0 on November 1, 2026, then pushed the malicious 1.0.1.
- Socket's Threat Research Team analyzed the malicious version and reports that it steals credentials and poisons AI tools.
Why it matters
Developers who install strutil-core 1.0.1 may have their credentials stolen by the worm, and the package is linked to the Shai-Hulud worm family.
The checklist behind the tier
Checklist · 5 of 10 yes
| Yes | Hits tech teams | RubyGems packages are installed and run by developers and ops teams. |
| No | Core infrastructure | A single malicious gem is not core infrastructure like OpenSSH or RubyGems itself. |
| No | Popular tool | strutil-core is an obscure gem, not a widely used framework or tool. |
| Yes | Exploited in the wild | Socket: malicious 1.0.1 was published and analyzed as a live credential-stealing worm. |
| No | Public exploit | Socket describes the malicious gem; no source says exploit code or PoC is published. |
| No | Remote, no login | Socket: the worm runs when the gem is installed; no network unauthenticated attack is described. |
| Yes | Full takeover | Socket: the gem runs a credential-stealing worm when installed, which means code execution. |
| Yes | Secrets exposed | Socket: the worm steals credentials from the systems where the gem is installed. |
| Yes | Supply chain | Socket: a malicious version 1.0.1 was pushed to RubyGems after a clean 1.0.0 was published. |
| No | No fix yet | Socket does not say the malicious version remains unpatched or unremoved. |
Timeline
Source
Shai-Hulud Descendant Surfaces in Malicious Ruby Gem That Steals Credentials and Poisons AI Tools ↗ Socket · 9h ago
First seen · 1 source · Full story page · How tiers are decided