GitHub is introducing a native egress firewall for GitHub-hosted Actions runners. We welcome this feature. Bringing network controls to more runners is good for software supply chain security and reinforces the approach we have been building at StepSecurity since 2022: runners need runtime visibility and network protection.
That need extends beyond GitHub Actions. Whether your organization uses GitLab CI, Azure DevOps, Buildkite, or another platform, your runners execute third-party code, handle credentials, and produce software that reaches customers. Runtime and network security should be a standard part of protecting those runners.
For teams using GitHub Actions, the new firewall raises a practical question: how does it compare with Harden-Runner?
Harden-Runner is StepSecurity’s purpose-built runtime security agent for CI/CD runners. It combines network controls with behavioral detection, process visibility, and file-write monitoring. Since its introduction in 2022, its Community tier has grown to protect more than 19,000 open-source projects. It has detected real supply chain attacks, including compromises involving tj-actions/changed-files, Nx, and Sha1-Hulud, giving teams protection tested against actual attacker behavior.
Both products offer outbound network controls. The following five differences help explain what Harden-Runner provides beyond an egress firewall.
1. Protection across runner environments
Platform teams choose runners based on performance, cost, and infrastructure requirements. Security teams need to protect those runners wherever they operate. These decisions often belong to different teams and happen on different timelines.
Moving a workload to self-hosted runners should not require replacing its security solution or accepting a coverage gap.
GitHub’s current firewall preview supports GitHub-hosted Linux runners. Harden-Runner supports Linux, Windows, and macOS across both GitHub-hosted and self-hosted runners, with deployment options including Actions Runner Controller on Kubernetes, virtual machines, and bare-metal servers.
Even if all your builds use GitHub-hosted runners today, your security strategy should give platform teams flexibility to make different infrastructure choices tomorrow.

2. Network baselines and anomaly detection with investigation context
An allowlist defines where a job may connect. A network baseline shows where that job normally connects, helping teams recognize unexpected behavior.
Harden-Runner builds baselines from previous workflow runs and flags new destinations. A centralized dashboard brings these insights together across repositories, with collected network, process, and file events correlated to the specific workflow step responsible. Teams can also access the insights through an API (Application Programming Interface) and MCP (Model Context Protocol) server.

Harden-Runner’s behavioral monitoring has surfaced multiple supply chain attacks. The tj-actions/changed-files compromise is one example: the compromised action contacted gist.githubusercontent.com to download a script that read secrets from runner memory and printed them into workflow logs. Harden-Runner flagged the destination because it differed from the workflow’s established behavior. Our incident analysis shows the execution sequence.
The destination was a familiar hosting service, the kind of GitHub-owned domain an allowlist is likely to permit. The warning sign was that this particular workflow had started contacting it unexpectedly.

When Harden-Runner flags a new destination like this, the alert reaches teams in the tools they already use: email, Slack, and Microsoft Teams notifications; SIEM (Security Information and Event Management) integration through Amazon S3 (Simple Storage Service) and webhooks for security teams; and GitHub Checks that surface the detection directly in developers’ pull requests. Suppression rules filter out expected activity, so the alerts that remain are worth investigating.
3. Threat intelligence and automatic response
StepSecurity has a dedicated threat intelligence team and a 24×7 Security Operations Center (SOC) continuously investigating new supply chain attacks. We identify malicious infrastructure, including command-and-control and exfiltration endpoints, and add it to Harden-Runner’s Global Block List to protect our customers.
Harden-Runner blocks connections to those endpoints even in audit mode, without requiring customers to have their own egress block policies in place.
When a new incident is disclosed, Harden-Runner’s insights also help teams answer “Are we impacted?” Threat intelligence alerts flag jobs that have contacted identified command-and-control endpoints. Teams can also search historical network activity for any endpoint through the centralized dashboard, API, or MCP server, identifying the jobs and workflow runs that need investigation.

For example, our investigation of the compromised pgserve npm package identified two exfiltration domains. After adding them to the Global Block List, we demonstrated Harden-Runner blocking both connections in audit mode. The published analysis includes the network events.

Harden-Runner can also respond to suspicious activity inside the runner. Lockdown Mode, enabled by default, can terminate the offending process and stop the job when it detects behavior such as a process reading Runner.Worker memory.
These capabilities turn attack research and runtime detections into protection, including for teams that are still developing their network policies.

4. File-write monitoring to detect build tampering
An attacker can compromise a release by changing what gets built, without making a new outbound connection.
In the SolarWinds breach, SUNSPOT malware replaced a source file during compilation to insert a backdoor, then restored the original afterward. Checking files only before and after the build could miss that temporary modification.

Harden-Runner monitors file writes during the job and flags changes to checked-out source files, with workflow context for investigation. This helps teams identify unexpected modifications while the build is executing.
An external egress firewall cannot observe local file modifications through network traffic alone. Visibility inside the runner is necessary to understand that activity.
Running inside the VM does not, by itself, make a security solution less secure overall. Many endpoint detection and response solutions use this same approach: an agent runs on the machine it monitors to observe processes, file activity, and other local behavior. Harden-Runner applies that approach to CI/CD runners, adding the workflow context needed to investigate build activity.
5. Centralized visibility and enforcement for registry adoption
Many organizations are moving package downloads through approved registries such as StepSecurity Secure Registry or JFrog Artifactory. Discovering which jobs still contact public registries directly is a practical challenge.
Harden-Runner’s centralized dashboard lets teams search network baselines across repositories for destinations such as registry.npmjs.org and pypi.org, then identify the jobs contacting them. The same insights are accessible through an API and MCP server, supporting automated searches and investigations.
This gives security and platform teams a concrete migration list and a way to track progress. Once jobs use an approved registry, Harden-Runner’s deny policies can block direct access to public registry endpoints, helping prevent scripts or configuration overrides from bypassing the approved path.
We are also working on centralized registry configuration through the Harden-Runner Policy Store, so teams can configure approved registries without asking developers to update each job individually. Registry visibility and deny policies are available today; centralized registry configuration is upcoming.

Every organization must make runtime and network security part of its runner security strategy. GitHub’s native firewall is a welcome step toward wider adoption. Harden-Runner provides broader protection for teams that need coverage across runner environments, behavioral detection, file-write monitoring, automatic threat response, and centralized visibility.
Get started with Harden-Runner to understand and protect what happens inside your runners.


.png)

