CSIDB logo
Incident

Xygeni

Incident posture

Attack window
Mar 2026
Location
Israel
Status
Unknown
CIA posture
Available to members
Updated
2026-08-17 04:57

Linked entities

Victim
Xygeni
Threat actors
0 actors
Sources
1 source

Timeline

Occurred
Mar 2026
Discovered
Mar 2026
Disclosed
Mar 2026
Resolved
Pending

Summary

Xygeni reported that threat actors compromised its xygeni/oxygeni-action GitHub Action by exploiting a GitHub App private key and a maintainer's personal access token to push malicious code via pull requests and then poison the v5 tag to point to a backdoored commit. The poisoned tag allowed workflows referencing xygeni/oxygeni-action@v5 to download a command‑and‑control implant for several days before the tag was removed and the malicious pull requests were closed, with no evidence that the main branch or customer data were affected.

Motives

Detailed motive labels are available to members.

0 motives

TTPs

Detailed technique labels are available to members.

1 technique

Description

On March 3, 2026, an attacker who had obtained a maintainer's personal access token and a GitHub App private key with broad permissions created a malicious commit containing a compact command-and-control implant in the xygeni/xygeni-action repository. The attacker opened three pull requests that introduced the malicious code, but existing branch protection rules prevented the requests from being merged into the main branch. After the pull requests were closed, the attacker moved the mutable v5 tag to point at the commit containing the implant, a change that was not recorded in GitHub's repository activity log. Workflows that referenced xygeni/xygeni-action@v5 began retrieving the compromised code without any visible alteration to the workflow definitions, allowing the implant to execute in continuous integration environments. The implant was disguised as a 'scanner version telemetry' step and operated as a reverse shell that communicated with an external command-and-control server.

Xygeni became aware of suspicious activity on March 9, 2026, after community reports and a blog post from StepSecurity highlighted the issue, and the vendor confirmed that the v5 tag had been poisoned sometime after the malicious commit was created and before the discovery date. The vendor removed the poisoned v5 tag, closed the three pull requests, and deleted any associated workflows from the repository as part of its incident response. Investigation showed that no malicious code was merged into the repository's main branch and there was no evidence of compromise to Xygeni's platform or customer data. The root cause was identified as the compromise of a GitHub App private key that had been installed on the repository with unnecessarily broad permissions, which the attacker used in conjunction with a maintainer's personal access token to create and approve the pull requests. The exact method by which the private key was exfiltrated remains under investigation, though such keys can be exposed through misconfigured workflows, compromised developer machines, or insecure secret storage.

Sources

Sources available to members: 1 source.

CSIDB