Skip to content

Security3 publishers2 min readPublished Updated

Two actions-cool GitHub Actions resumed running the Mini Shai-Hulud stealer after coming back online

Two actions-cool GitHub Actions hijacked on May 18 came back online on September 16, still serving the Mini Shai-Hulud stealer to tag-pinned workflows. Only workflows pinned to a pre-May 18 commit SHA escaped; the rest have CI secrets to rotate.

The Watch · Security desk

Illustration accompanying Two actions-cool GitHub Actions resumed running the Mini Shai-Hulud stealer after coming back online

What happened

  • On May 18, 2026, two actions-cool GitHub Actions were altered to harvest credentials from the CI/CD pipelines that ran them and send them to an attacker-controlled server.
  • Both repositories became accessible again on September 16, 2026, at some point between 11:09 and 18:16 GMT+2.
  • Their release tags still pointed to the May 18 code, so any workflow referencing either action by version tag downloaded and ran the payload on its next run.
  • GitHub Staff have since disabled both repositories again, citing a violation of GitHub's terms of service.

Compiled by The WatchSomething wrong?How this is made

Why it matters

  • exposure Teams whose housekeeping workflows called either action by tag should treat every secret those jobs could read after September 16 as exposed, even though nobody on their side changed a line.
  • constraint A takedown that leaves poisoned tags in place holds only while the repository stays disabled; restoring access restarts credential theft without any attacker action.
  • decision Only full commit SHAs from before May 18 kept workflows clear; a version tag leaves every run dependent on whatever the upstream repository holds that day.

The attacker did nothing on September 16 [12]. "Most supply chain incidents involve something new: a newly published malicious version, a newly hijacked account, or a newly injected workflow," Socket researcher Karlo Zanki said. "This one did not. No new code was published and no configuration was changed." [16]

A workflow that calls an action by version tag fetches whatever that tag points to each time it runs [6]. Socket's guidance names actions-cool/[email protected] as affected [14]. It also tells teams to look in run history for workflows that started succeeding again after a prolonged period of Set up job failures, the trace a disabled action leaves behind [15].

Socket said the two actions handle housekeeping such as "closing inactive issues, checking newly opened ones, or keeping a single bot comment up to date" [11]. The workflows calling them "usually run on a daily schedule or whenever someone opens an issue or pull request," Socket said [12]. Its estimate is that "most affected repositories probably ran the payload within a day of the re-enablement, with no further action needed from the threat actor." [12]

The repositories came back 121 days after the May 18 compromise [18]. The time of the return is known only to within about seven hours [7][19]. The Hacker News reported that it is not known why the repositories became accessible again [8]. The report does not say when the second takedown happened or whether the exfiltration server was still receiving data [1].

Socket tied the May compromise to the Mini Shai-Hulud cluster through the exfiltration domain t.m-kosche[.]com, the same domain used in npm packages from the @antv ecosystem [4]. "That points to the same Mini Shai-Hulud activity cluster, not a separate npm-only incident," Philipp Burckhardt, Socket's head of threat intelligence, told The Hacker News at the time [5]. Nothing in the report shows the cluster doing anything new in September. The Hacker News describes no new exploit and no new infrastructure [10]. The malicious code was never cleaned out of the repositories, and making them downloadable again was enough to activate it [9].

"This incident shows that a mutable tag can be compromised, contained, and then reactivated without any change to your own workflow file," Zanki said [17]. Socket also advises auditing repository history for unexpected commits made after September 16 [15].

What to watch

  • Whether the actions-cool release tags are rewritten or deleted before the repositories are ever restored again, or stay pointed at the May 18 code.
  • Any explanation from GitHub of how a Staff-disabled repository was re-enabled on September 16 and what checks come before a restore.
  • Reports of CI credentials taken during the September runs turning up in use, the first evidence of downstream impact from the reactivation.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories