diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 9535d441740b..c6471101f4ac 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -978,6 +978,15 @@
true.
+
+
+ services.github-runner has been hardened.
+ Notably address families and system calls have been
+ restricted, which may adversely affect some kinds of testing,
+ e.g. using AF_BLUETOOTH to test bluetooth
+ devices.
+
+
The terraform 0.12 compatibility has been removed and the
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 377dd1b5cae1..ad9532adff5c 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -357,6 +357,10 @@ In addition to numerous new and upgraded packages, this release has the followin
- The Tor SOCKS proxy is now actually disabled if `services.tor.client.enable` is set to `false` (the default). If you are using this functionality but didn't change the setting or set it to `false`, you now need to set it to `true`.
+- `services.github-runner` has been hardened. Notably address families and
+ system calls have been restricted, which may adversely affect some kinds of
+ testing, e.g. using `AF_BLUETOOTH` to test bluetooth devices.
+
- The terraform 0.12 compatibility has been removed and the `terraform.withPlugins` and `terraform-providers.mkProvider` implementations simplified. Providers now need to be stored under
`$out/libexec/terraform-providers/////_/terraform-provider-_v` (which mkProvider does).
diff --git a/nixos/modules/services/continuous-integration/github-runner.nix b/nixos/modules/services/continuous-integration/github-runner.nix
index a7645e1f56e9..30dd919b81a3 100644
--- a/nixos/modules/services/continuous-integration/github-runner.nix
+++ b/nixos/modules/services/continuous-integration/github-runner.nix
@@ -299,6 +299,16 @@ in
RestrictRealtime = true;
RestrictSUIDSGID = true;
UMask = "0066";
+ ProtectProc = "invisible";
+ ProcSubset = "pid";
+ SystemCallFilter = [
+ "~@debug"
+ "~@mount"
+ "~@privileged"
+ "~@cpu-emulation"
+ "~@obsolete"
+ ];
+ RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ];
# Needs network access
PrivateNetwork = false;