What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
In a 2023 investigation reported by SecurityWeek in January 2024, researchers described how an outside contributor’s pull request could run attacker-controlled workflow code on a public project’s self-hosted CI runner. That created possible routes to persistent runner access, secret exposure or interference with build and release processes—but the reporting does not establish that poisoned releases reached users.
How a pull request could reach a self-hosted runner
GitHub Actions runs automated jobs on runners. A self-hosted runner is a machine operated by a repository or organization owner, rather than a temporary machine supplied by GitHub. It may have access to project-specific build tools, internal resources or credentials, so running untrusted code on it can have consequences beyond the job itself.
The reported attack path depended on configuration. A contributor could edit a workflow YAML file in a fork and open a pull request. If the repository’s workflow triggers, approval policy and runner access allowed that job to run on an attached self-hosted runner, the workflow could execute the contributor’s code on the runner. A public repository or a fork pull request alone does not mean that this execution will happen: the outcome depends on the repository’s actual settings and workflow behavior.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches- A public repository has an attached self-hosted runner available to relevant workflows.
- An outside contributor submits a pull request that changes workflow behavior or otherwise causes a job to run.
- Repository approval rules and runner access permit the job to execute on that runner.
- Untrusted code runs in the runner’s environment. What it can do depends on the machine’s isolation, available secrets and workflow token permissions.
- If the runner is persistent or has access to sensitive build or release assets, an attacker may have a path to retain access or affect later work.
This is a conditional chain, not a claim that every link occurred in every project named in the reports.
#1 Best Overall
- Compact and Efficient Design: The FortiGate 40F is designed for small to mid-sized businesses and enterprise branch offices, featuring a compact, fanless desktop form factor that ensures quiet operation and minimizes space usage.
- Robust Connectivity Options: Equipped with 5 GE RJ45 ports, including 1 WAN port and 4 internal ports, this model provides essential connectivity and flexibility for various network configurations in a small-scale environment.
- High-Performance Security: Offers up to 1 Gbps IPS throughput and 600 Mbps threat protection throughput, using Fortinet’s purpose-built security processor technology to deliver industry-leading performance and protection for SSL encrypted traffic.
- Advanced Threat Protection: Integrated with Fortinet’s AI-powered FortiGuard Labs, the FortiGate 40F offers comprehensive cybersecurity, identifying and mitigating both known and unknown threats to maintain robust security across your network.
- Simplified Management and Deployment: Features a user-friendly management console that provides comprehensive network automation and visibility, coupled with Zero Touch Integration with Fortinet’s Security Fabric for easy deployment.
Why approval-once policies and persistent runners matter
Approval for first-time contributors may not cover later changes
Adnan Khan described a route in which a small, apparently harmless contribution was accepted first. In the scenario he reported, that could make a contributor eligible to run later workflows without the same first-time approval friction. An approval policy limited to first-time contributors therefore may not provide the same barrier as requiring approval for every outside contributor’s fork pull request.
A persistent runner can carry state between jobs
A runner that remains in service after a job ends may retain files or background processes. If an untrusted workflow can alter that environment, later jobs on the same machine may encounter a changed runner. Ephemeral runners, which are discarded after use, reduce that particular persistence path by starting subsequent work in a clean environment.
Rank #2
- HARDWARE PLUS SECURITY SERVICES: FortiGate-60F Firewall Appliance bundled with 1 year of FortiCare Premium and FortiGuard Unified Threat Protection.
- UNIFIED THREAT PROTECTION (UTP): Secures against advanced online threats with comprehensive web filtering and anti-botnet technologies.
- OPTIMIZED FOR MEDIUM-SIZED BUSINESSES: Tailored for businesses needing robust security without the infrastructure of larger enterprises.
- RELIABLE CUSTOMER SUPPORT: FortiCare Premium ensures high-quality support and service continuity.
- EFFECTIVE PROTECTION: Employs advanced filtering technologies to safeguard against sophisticated threats.
Permissions and runner access determine the potential impact
Code running in a job can act only within the permissions and resources available to it. A broadly permissioned workflow token, accessible secrets, or a runner that can reach sensitive build systems can increase the potential impact. Isolating untrusted pull-request jobs from trusted release work is important because a shared machine or permission boundary can connect the two.
What researchers reported—and what they did not establish
GitHub’s runner-images repository
Khan’s December 2023 account says he began the attack sequence against GitHub’s actions/runner-images repository on July 18, 2023, reported the issue on July 22, and that GitHub deployed initial mitigations on July 25. SecurityWeek reported that his access lasted five days and that he received a $20,000 bug bounty. These are researcher and news-report accounts of a compromise path and the potential to poison runner images; they are not evidence that customers received malicious images.
Rank #3
- 【Up to 1100 Mbps VPN Speed 】 Hardware-accelerated WireGuard and OpenVPN-DCO deliver up to 1100 Mbps VPN throughput, over 3× faster than Brume 2 for smooth remote access and file transfers.
- 【Three 2.5G Ports & Multi-WAN】Tri-port 2.5GbE design with flexible WAN LAN configuration supports multi-gigabit wired setups, dual-ISP Multi-WAN and failover to keep home and SOHO networks online.
- 【Stealth VPN Obfuscation】VPN obfuscation disguises VPN traffic as regular HTTPS, helping you evade blocking, bypass restrictive networks and maintain stable, private connections.
- 【DPI protection】Deep Packet Inspection with visual dashboards blocks adult/gambling/malicious sites, while SQM and QoS prioritize gaming, calls, and video when bandwidth is tight
- 【OpenWrt & USB 3.0 Expansion】OpenWrt with 1GB DDR4 and 8GB eMMC lets you install plugins and build VPN, ad-blocking or NAS, while USB 3.0 Type‑C connects high-speed storage or 4G/5G dongles
Other projects identified in the investigation
SecurityWeek reported that Khan and John Stawinski identified thousands of public repositories they considered vulnerable in work spanning GitHub Actions, Buildkite, Jenkins and CircleCI. The reporting named potential or demonstrated impacts involving PyTorch, Microsoft DeepSpeed, a Cloudflare application, blockchain projects and a TensorFlow release path. These project references describe the researchers’ investigation as reported by SecurityWeek, not a finding that each project published a compromised release.
The repository figure is a historical estimate from the researchers’ 2023 investigation, reported by SecurityWeek on January 8, 2024. SecurityWeek revised its initial “tens of thousands” wording after Khan said “thousands” was the more confident estimate. It should not be read as a verified current count or a measure of today’s exposure.
Rank #4
- Runs UniFi Network for full-stack network management
- Manages 30+ UniFi Network devices and 300+ clients
- 1 Gbps routing with IDS/IPS
- Multi-WAN load balancing
- 0.96" LCM status display
TensorFlow’s reported route and response
In a January 15, 2024 report, Praetorian described a possible route to compromise TensorFlow releases on GitHub and PyPI through a malicious pull request and build agents. Praetorian reported that TensorFlow subsequently required approval for all fork pull-request workflows, including those from previous contributors, and made GITHUB_TOKEN permissions read-only for workflows on self-hosted runners. The report documents an attack path and reported mitigations; it does not establish that a malicious TensorFlow release was published.
Free tools Windows power users keep installed
One-click scans. No signup required.
Controls to reduce this exposure
| Control | Weaker boundary | Safer approach |
|---|---|---|
| Pull-request approval | Approval is required only for a contributor’s first workflow, leaving later outside contributions with less friction. | Require approval for workflows from all outside contributors or fork pull requests, including contributors whose earlier changes were accepted. |
| Runner lifecycle | A persistent machine may retain processes or file changes across jobs. | Prefer ephemeral runners, or ensure each job starts from a clean environment. |
| Workflow token | A workflow receives permissions it does not need. | Grant the minimum permissions required. Praetorian reported read-only GITHUB_TOKEN permissions for TensorFlow workflows on self-hosted runners as part of its described remediation. |
| Environment boundary | Untrusted pull-request jobs share runners, secrets or release access with trusted build work. | Keep untrusted CI separate from sensitive environments, secrets and release credentials; avoid self-hosted runners for untrusted public pull requests where possible. |
| Runner access and workflow behavior | Runner access or workflow triggers are assumed safe without checking the configuration. | Audit workflow triggers, repository runner access and organization runner-group access to confirm which jobs can reach which machines. |
These controls address the attack path described in the reports; they do not eliminate every CI/CD supply-chain risk. Third-party action dependencies and other workflow-injection risks are separate areas for review.
What the reports mean for project owners
The practical question is not simply whether a repository is public or uses GitHub Actions. Owners should determine whether an outside contributor can cause a workflow to reach a self-hosted runner, what that runner can access, and whether any state or credentials survive the job. Review those boundaries together: approval rules are less effective if a runner remains exposed, and runner isolation is less effective if untrusted workflows receive sensitive permissions.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

