OIDC Configured but GitHub Actions Still Vulnerable: Megalodon and actions-cool Attacks Expose Runner Risks
Two years of advising teams to replace static AWS_ACCESS_KEY_ID secrets with OIDC in GitHub Actions remains valid advice, yet recent incidents show that OIDC alone is no longer enough. After the May 2026 attacks on actions-cool/issues-helper and the Megalodon campaign targeting 5,561 repositories, the recommendation must be expanded to include multiple defensive layers around OIDC.
The core problem is that temporary credentials issued via OIDC become usable data inside the runner for the duration of the job. These credentials can appear as environment variables exported by aws-actions/configure-aws-credentials, as files on disk, or as tokens requested by individual steps. Any code running on the same runner—malicious third-party actions, compromised post-install scripts, or direct memory reads from /proc—can extract them.
Megalodon directly injected malicious workflows that collected environment variables, credential files, kubeconfig files, SSH keys, and OIDC tokens. A 15-to-60-minute token lifetime proved sufficient for automated exfiltration and reuse before expiration. The actions-cool/issues-helper attack instead substituted action tags to run a malicious commit capable of reading Runner.Worker process memory.
Four protection layers are now considered mandatory. First, cloud trust policies must use StringEquals on the exact sub claim, for example limiting access to repo:my-org/my-repo:environment:production. Second, the id-token: write permission must be granted only at the job level, never at the workflow level. Third, outbound traffic from runners must be restricted using Harden-Runner in block mode or equivalent firewall rules on self-hosted runners. Fourth, the .github/workflows directory must be treated as production code with CODEOWNERS requiring security-team review and all third-party actions pinned by SHA.
GitHub Environments provide an additional control often overlooked: mandatory reviewers, deployment timers, and branch restrictions. When a trust policy also requires the environment claim, an attacker who can push to main still cannot obtain a production token without passing human approval.
The updated checklist after Megalodon includes moving id-token: write to job scope, binding production jobs to protected environments, tightening trust policies, adding CODEOWNERS, and controlling runner egress. Workflows named SysDiag or Optimize-Build should be treated as indicators of compromise.
Related articles
Passwordless Kubernetes Image Pulling with Artifact Keeper via ServiceAccount Tokens
Kubernetes 1.34 and later enables kubelet to forward a pod's ServiceAccount token to an external image credential provider plugin, allowing the plugin to exchange it for short-lived read-only credentials from a compatible registry. Artifact Keeper, an open-source Rust-based OCI and package registry, implements an OIDC provider that validates these tokens and issues temporary credentials without requiring imagePullSecrets in manifests. The approach follows zero-trust principles by eliminating long-lived secrets that can leak across namespaces or clusters. A custom credential provider binary handles the token exchange, enforces audience restrictions, and redacts sensitive data from logs. The solution requires specific ClusterRole permissions for nodes, kubelet flags, and registry-side OIDC mappings that bind Kubernetes namespaces to read-only groups. Testing on kind 1.34.3 confirmed successful pulls for authorized ServiceAccounts and clear 401 errors for unauthorized ones when imagePullPolicy is set to Always.
Malicious Code Injected into LiteLLM Open Source AI Package via Supply Chain Attack
The open-source generative AI tool LiteLLM had malicious code inserted into its official distribution packages, enabling credential theft and remote code execution. The compromise affected version 1.107.0 released on October 21, 2026, and was delivered through legitimate channels in a classic software supply chain attack. Seven malicious wheel files were uploaded to PyPI, while official container images on Docker Hub and GitHub Container Registry were also tainted. Security firm JFrog discovered that the malware steals a wide range of secrets including cloud credentials, SSH private keys, browser-stored passwords, development tokens, and AI service API keys from LiteLLM's database. The code also supports execution of externally fetched payloads and abuses Python's startup mechanisms to run even when the application itself is not loaded. This marks the second supply chain incident involving the project in 2026, following a separate event in March.
GhostAction Campaign Compromises 790 GitHub Repositories via Malicious Workflows
Researchers from OpenSourceMalware have identified 790 publicly accessible GitHub repositories containing malicious workflows planted by the GhostAction campaign as of October 9. The campaign abuses trusted maintainer accounts to inject workflows that automatically exfiltrate secrets including AWS access keys and tokens for GitHub, GitLab, Google, Slack, SendGrid, OpenAI, Anthropic, and OpenRouter. Earlier counts by GitGuardian recorded 772 repositories between August 31 and September 30, though the datasets differ and are not cumulative. A separate wave on October 8 impacted 346 repositories linked to two maintainer accounts, including a project belonging to Uber. The malicious workflow runs on code pushes or manual triggers, scans repository files and full Git history for credentials, and sends findings in plaintext to attacker infrastructure. Removing the workflow file does not mitigate exposure, as successful executions already leak credentials and old commits may still contain secrets.
SberTech Launches Platform V Orchestrator for Security Services to Scan Software Before Corporate Deployment
SberTech has announced the launch of a new direction focused on analyzing the security of software prior to its integration into corporate infrastructures. The initiative is built around the company's own Laboratory for Software Verification and the technological platform Platform V Orchestrator for Security Services. This platform combines components for working with both built-in and external analysis tools, enabling checks of digital artifacts, control over software composition and changes, and detection of vulnerabilities, hidden threats, and defects in source code and repositories. SberTech aims to replace fragmented checks and manual result processing with a single managed process, allowing scaled verification without proportional team growth. The move responds to the adoption of hundreds of products from various vendors, widespread use of open-source components, and rising attacks on software supply chains. Primary customers include banks, industrial enterprises, telecom operators, energy companies, and the public sector. The solution is offered as a standalone product that supports on-premises deployment and operation in isolated environments such as private clouds and dedicated data processing contours.