diff --git a/build/analysis/staticcheck/generate_analyzers/BUILD.bazel b/build/analysis/staticcheck/generate_analyzers/BUILD.bazel
new file mode 100644
index 0000000..0280cdb
--- /dev/null
+++ b/build/analysis/staticcheck/generate_analyzers/BUILD.bazel
@@ -0,0 +1,21 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+load(":def.bzl", "generate_analyzers")
+
+generate_analyzers(
+    name = "analyzers",
+    visibility = ["//build/analysis/staticcheck:__pkg__"],
+)
+
+go_library(
+    name = "generate_analyzers_lib",
+    srcs = ["main.go"],
+    importpath = "source.monogon.dev/build/analysis/staticcheck/generate_analyzers",
+    visibility = ["//visibility:private"],
+    deps = ["//build/analysis/staticcheck:staticcheck_lib"],
+)
+
+go_binary(
+    name = "generate_analyzers",
+    embed = [":generate_analyzers_lib"],
+    visibility = ["//visibility:public"],
+)
diff --git a/build/analysis/staticcheck/generate_analyzers/def.bzl b/build/analysis/staticcheck/generate_analyzers/def.bzl
new file mode 100644
index 0000000..2356103
--- /dev/null
+++ b/build/analysis/staticcheck/generate_analyzers/def.bzl
@@ -0,0 +1,25 @@
+def _generate_analyzers_impl(ctx):
+    analyzers_file = ctx.actions.declare_file("analyzers.bzl")
+
+    args = ctx.actions.args()
+    args.add("-out")
+    args.add(analyzers_file)
+
+    ctx.actions.run(
+        outputs = [analyzers_file],
+        executable = ctx.executable._generate_analyzers,
+        arguments = [args],
+    )
+
+    return [DefaultInfo(files = depset([analyzers_file]), runfiles = ctx.runfiles(files = [analyzers_file]))]
+
+generate_analyzers = rule(
+    implementation = _generate_analyzers_impl,
+    attrs = {
+        "_generate_analyzers": attr.label(
+            default = ":generate_analyzers",
+            executable = True,
+            cfg = "exec",
+        ),
+    },
+)
diff --git a/build/analysis/staticcheck/generate_analyzers/main.go b/build/analysis/staticcheck/generate_analyzers/main.go
new file mode 100644
index 0000000..bcf96ff
--- /dev/null
+++ b/build/analysis/staticcheck/generate_analyzers/main.go
@@ -0,0 +1,44 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
+package main
+
+import (
+	"flag"
+	"fmt"
+	"log"
+	"maps"
+	"os"
+	"slices"
+	"sort"
+
+	"source.monogon.dev/build/analysis/staticcheck"
+)
+
+func main() {
+	out := flag.String("out", "", "The output file to write the list to")
+	flag.Parse()
+
+	if *out == "" {
+		log.Fatal("-out argument is required")
+	}
+
+	outFile, err := os.OpenFile(*out, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0655)
+	if err != nil {
+		log.Fatalf("failed opening file: %v", err)
+	}
+	defer outFile.Close()
+
+	const fileHeader = "# Generated by //build/analysis/staticcheck/generate_analyzers\n# Do not modify!\n\nANALYZER_NAMES = [\n"
+	fmt.Fprint(outFile, fileHeader)
+
+	analyzerNames := slices.Collect(maps.Keys(staticcheck.Analyzers))
+	sort.Strings(analyzerNames)
+
+	for _, name := range analyzerNames {
+		fmt.Fprintf(outFile, "    %q,\n", name)
+	}
+
+	const fileFooter = "]\n"
+	fmt.Fprint(outFile, fileFooter)
+}
