[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fs_PuIWeplwaVhJn4AUx9QOIoF2cIFruEk_--1WFs7yo":3},{"lesson":4},{"id":5,"slug":6,"article_id":7,"title":8,"body":9,"prevention":10,"framework_refs":11,"framework_notes":19,"status":27,"created_at":28,"published_at":29,"article":30,"tags":34,"podcasts":47,"controls":48},"14d6d87f-a495-4a68-8857-5ae7b19daba4","malicious-ruby-gem-worm-steals-credentials-and-poisons-ai-dev-tools","9e9721a1-5eca-4f33-9f2d-4861e8ec7487","Malicious Ruby Gem Worm Steals Credentials and Poisons AI Dev Tools","A trojanized Ruby gem (strutil-core 1.0.1) was published to a public package registry and immediately executed credential-stealing worm code upon installation, targeting developers who blindly trusted a package's apparent legitimacy. The worm self-propagates across platforms, poisons AI coding assistants, and includes a destructive wiper triggered by token revocation — meaning even a defensive response can cause data loss. This incident illustrates how software supply chain attacks exploit developer trust in public registries as a silent, high-impact delivery mechanism. The integration of AI tool poisoning raises the stakes further, as compromised suggestions can silently introduce malicious logic into downstream codebases.","**Immediate actions:**\n- Audit all recently installed Ruby gems and other third-party packages against known-good checksums and publisher identities before allowing them in production pipelines.\n- Revoke and rotate any credentials or tokens that may have been exposed on systems where strutil-core or similar untrusted packages were installed.\n\n**Long-term improvements:**\n- Implement a private or proxied package registry with allowlisting so that unapproved or unvetted open-source packages cannot be installed directly from public sources.\n- Enforce code-signing and provenance verification (e.g., Sigstore\u002FSigstore-ruby) for all third-party dependencies before they are admitted into the build pipeline.\n- Establish a formal dependency review process requiring security sign-off before new packages are introduced into any project.\n\n**Detection measures:**\n- Deploy runtime behavioural monitoring in CI\u002FCD environments to alert on unexpected network calls, file deletions, or credential-file access triggered during package installation.\n- Integrate software composition analysis (SCA) tooling into every pull request pipeline to flag new or updated dependencies for malicious indicators before they reach developer workstations.",[12,13,14,15,16,17,18],"CIS Control 7: Continuous Vulnerability Management","OWASP A06:2021 Vulnerable and Outdated Components","NIST SP 800-53 SI-2: Flaw Remediation","NIST CSF 2.0 PR.AA: Identity Management, Authentication, and Access Control","ISO\u002FIEC 27001:2022 A.8.8: Management of technical vulnerabilities","CIS Control 17: Incident Response Management","NIS2 Article 21(2)(b)",{"NIS2 Article 21(2)(b)":20,"NIST SP 800-53 SI-2: Flaw Remediation":21,"CIS Control 17: Incident Response Management":22,"OWASP A06:2021 Vulnerable and Outdated Components":23,"CIS Control 7: Continuous Vulnerability Management":24,"ISO\u002FIEC 27001:2022 A.8.8: Management of technical vulnerabilities":25,"NIST CSF 2.0 PR.AA: Identity Management, Authentication, and Access Control":26},"NIS2 mandates supply chain security measures covering relationships with suppliers and service providers; vetting public package registries as part of the software supply chain falls squarely within this obligation.","SI-2 requires organizations to identify, report, and remediate flaws in information systems and their components, which extends to validating the integrity of software supply chain artifacts before use.","The embedded wiper that fires upon token revocation means responders must have a pre-planned, tested incident response playbook that anticipates destructive countermeasures before initiating credential revocation.","This control directly addresses the risk of using unverified third-party libraries; enforcing component vetting and integrity checks would have blocked the malicious gem at intake.","Continuous monitoring of third-party components and package registries for newly identified malicious or vulnerable packages would have flagged strutil-core before widespread installation.","This control requires timely identification and remediation of technical vulnerabilities in software, including third-party components, which directly applies to screening public package registry submissions.","The worm exfiltrated credentials and leveraged stolen GitHub tokens; enforcing least-privilege access and rapid token revocation processes would have limited the blast radius of stolen secrets.","published","2026-11-06T19:23:09.703563+00:00","2026-11-06T19:23:09.664+00:00",{"id":7,"url":31,"slug":32,"title":33},"https:\u002F\u002Fsocket.dev\u002Fblog\u002Fshai-hulud-descendant-malicious-ruby-gem?utm_medium=feed","shai-hulud-descendant-surfaces-in-malicious-ruby-gem-that-steals-credentials-and-12cd4e","Shai-Hulud Descendant Surfaces in Malicious Ruby Gem That Steals Credentials and Poisons AI Tools",[35,41],{"id":36,"name":37,"slug":38,"description":39,"color":40},"7261eb8f-acd4-4d93-a489-7fdd652ec0ea","Security Awareness","security-awareness","Phishing, social engineering, human error","#22c55e",{"id":42,"name":43,"slug":44,"description":45,"color":46},"f0c2a0af-58aa-4128-87c9-6acd30f2dc48","Supply Chain","supply-chain","Third-party risk, compromised dependencies","#8b5cf6",[],[49,53,57],{"slug":50,"name":51,"problem":52},"secrets-management","Secrets management","API keys, tokens and passwords stop leaking from code, chat and configuration files.",{"slug":54,"name":55,"problem":56},"ai-security","AI application security","Prompt injection, data leaks through AI tools and unapproved AI use get caught.",{"slug":58,"name":59,"problem":60},"software-supply-chain","Software supply chain security","Malicious and vulnerable open-source packages are caught before they ship."]