AI Slop Code Risk Monitor

containerd/containerd

SlopCodeMonitor badge for containerd/containerd Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

An open and reliable container runtime

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for containerd/containerd, a Go project with 21,448 GitHub stars. SynthScan examined 307,730 lines of code across 1567 source files, recording 336 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 1.3 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.3
Adjusted Signal
1.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
21.4K
Stars
Go
Language
307.7K
Lines of Code
1.6K
Files
336
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 5.5/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 324 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

Are imports declared and package/API names verified? 1 finding(s).

Agent Over-Engineering Ratio 0.7/100 · LOW

Are wrappers, guards, and repeated structures necessary? 11 finding(s).

PR Review Velocity Impact 6.1/100 · LOW

Which changes need focused human review? 336 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 6MEDIUM 11LOW 319

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 336 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block305 hits · 305 pts
SeverityFileLineSnippetContext
LOWcmd/containerd/server/server.go101// setTempDirEnv points the process' temp-directory environment variables atCOMMENT
LOWcmd/containerd/server/config/config.go61 Version int `toml:"version"`COMMENT
LOWcmd/containerd/server/config/config.go81 OOMScore int `toml:"oom_score"`COMMENT
LOWcmd/containerd/server/config/config.go101 // In configs prior to version 4, an unset TTRPC address is derived fromCOMMENT
LOWcmd/containerd/command/service_windows.go201 if runServiceFlag {COMMENT
LOWcmd/containerd/command/service_windows.go221 }COMMENT
LOWcmd/containerd-shim-runc-v2/task/service.go121 running map[int][]containerProcess // pid -> running process, guarded by lifecycleMuCOMMENT
LOWcmd/containerd-shim-runc-v2/task/service.go141}COMMENT
LOWcmd/containerd-shim-runc-v2/process/init.go41 "golang.org/x/sys/unix"COMMENT
LOWcore/metrics/cgroups/v1/metrics.go81 //COMMENT
LOWcore/metrics/cgroups/v2/metrics.go61 task common.StatableCOMMENT
LOWcore/metrics/cgroups/v2/metrics.go81 //COMMENT
LOWcore/snapshots/snapshotter.go41 // snapshot protocol). It is inherited by FilterInheritedLabels.COMMENT
LOWcore/snapshots/snapshotter.go161COMMENT
LOWcore/snapshots/snapshotter.go181// with Commit. Active snapshots never become committed snapshots and viceCOMMENT
LOWcore/snapshots/snapshotter.go201// # Importing a LayerCOMMENT
LOWcore/snapshots/snapshotter.go221// the active snapshot. Mount this to the temporary location with theCOMMENT
LOWcore/snapshots/snapshotter.go241//COMMENT
LOWcore/snapshots/snapshotter.go261//COMMENT
LOWcore/snapshots/snapshotter.go281type Snapshotter interface {COMMENT
LOWcore/snapshots/snapshotter.go301 // the calculation.COMMENT
LOWcore/snapshots/snapshotter.go321 // The changes may be saved to a committed snapshot by calling Commit. WhenCOMMENT
LOWcore/snapshots/snapshotter.go341COMMENT
LOWcore/snapshots/snapshotter.go361 // snapshotter which match the provided filters. If no filters areCOMMENT
LOWcore/snapshots/testsuite/issues.go241 return errCOMMENT
LOWcore/snapshots/testsuite/issues.go261// See https://github.com/docker/docker/issues/19082COMMENT
LOWcore/images/handlers.go181// handler may return `ErrSkipDesc` to signal to the dispatcher to not traverseCOMMENT
LOWcore/images/handlers.go261// ChildrenHandler decodes well-known manifest types and returns their children.COMMENT
LOWcore/images/image.go141// Manifest resolves a manifest from the image for the given platform.COMMENT
LOWcore/runtime/v2/task_mounts.go41 // runtime-allow-mounts annotation, for a shim that does not attach aCOMMENT
LOWcore/runtime/v2/task_mounts_deprecated.go21 "strings"COMMENT
LOWcore/runtime/v2/task_mounts_deprecated.go41// deprecatedAllowedMounts, so querying them for it is skipped entirely. ThisCOMMENT
LOWcore/runtime/v2/socket_windows.go21// terminator gives 107 usable characters. The socket path passed toCOMMENT
LOWcore/runtime/v2/socket_unix.go21// maxSocketDirLen is the maximum length of the socket directory path.COMMENT
LOWcore/runtime/v2/shim.go201// startup — so each call is bounded, and detached from the caller's context,COMMENT
LOWcore/runtime/v2/shim.go241 ID() stringCOMMENT
LOWcore/runtime/v2/shim.go261// that does not implement it is treated as having advertised nothing.COMMENT
LOWcore/runtime/v2/shim.go401 }COMMENT
LOWcore/runtime/v2/shim.go661 // closed, the shimErr will not be nil. For this case, the eventCOMMENT
LOWcore/runtime/v2/socket_linux.go21// null terminator gives 107 usable characters. The socket path passedCOMMENT
LOWcore/transfer/image/imagestore.go61type Reference struct {COMMENT
LOWcore/transfer/local/transfer.go181type TransferConfig struct {COMMENT
LOWcore/content/content.go21 "io"COMMENT
LOWcore/content/content.go61}COMMENT
LOWcore/remotes/handlers.go61// The returned key is used as a content-store reference to correlate ongoingCOMMENT
LOWcore/remotes/docker/registry.go21 "errors"COMMENT
LOWcore/remotes/docker/registry.go41// | Public Registry | yes | yes | yes |COMMENT
LOWcore/remotes/docker/resolver.go61 // contain large annotations or be non-images. A proper manifestCOMMENT
LOWcore/remotes/docker/resolver.go101 // since the registry does not have upload tracking and the existingCOMMENT
LOWcore/remotes/docker/resolver.go121 // Deprecated: use Hosts.COMMENT
LOWcore/remotes/docker/fetcher.go81// - Buffer Recycling: Retrieved from/pushed to a pool to minimize allocations, reducingCOMMENT
LOWcore/remotes/docker/config/hosts.go341 // - pullCOMMENT
LOWcore/remotes/docker/config/hosts_resolver_test.go61// The hosts.toml has a server and mirror.COMMENT
LOWcore/remotes/docker/auth/parse.go61 isToken octetType = 1 << iotaCOMMENT
LOWcore/mount/manager.go41// Handler is an interface for plugins to perform a mount which is managedCOMMENT
LOWcore/mount/manager.go61// to view a filesystem or preparing a filesystem for a container that mayCOMMENT
LOWcore/mount/mount.go41 // Target specifies an optional subdirectory as a mountpoint. It assumes thatCOMMENT
LOWcore/mount/manager/plan.go41 // original mount type comes first). nil if mounts[i] had no transformCOMMENT
LOWcore/mount/manager/plan.go61COMMENT
LOWcore/unpack/unpacker.go201COMMENT
245 more matches not shown…
Decorative Section Separators7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMcore/metadata/buckets.go137// └─────ingestsCOMMENT
MEDIUM…trib/checkpoint/checkpoint-restore-cri-disable-test.sh179# ==============================================================================COMMENT
MEDIUM…trib/checkpoint/checkpoint-restore-cri-disable-test.sh181# ==============================================================================COMMENT
MEDIUM…trib/checkpoint/checkpoint-restore-cri-disable-test.sh206# ==============================================================================COMMENT
MEDIUM…trib/checkpoint/checkpoint-restore-cri-disable-test.sh208# ==============================================================================COMMENT
MEDIUM…trib/checkpoint/checkpoint-restore-cri-disable-test.sh222# ==============================================================================COMMENT
MEDIUM…trib/checkpoint/checkpoint-restore-cri-disable-test.sh224# ==============================================================================COMMENT
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHreleases/v2.3.0.toml0\ ### which file should i download? * `containerd-<version>-<os>-<arch>.tar.gz`: ✅recommended. dynamically linked with gSTRING
HIGHreleases/v2.1.0.toml0\ ### which file should i download? * `containerd-<version>-<os>-<arch>.tar.gz`: ✅recommended. dynamically linked with gSTRING
HIGHreleases/v2.2.0.toml0\ ### which file should i download? * `containerd-<version>-<os>-<arch>.tar.gz`: ✅recommended. dynamically linked with gSTRING
HIGHreleases/v2.4.0.toml0\ ### which file should i download? * `containerd-<version>-<os>-<arch>.tar.gz`: ✅recommended. dynamically linked with gSTRING
Structural Annotation Overuse10 hits · 14 pts
SeverityFileLineSnippetContext
LOWcore/images/usage/calculator.go69// NOTE: This function is best used with the manifest limit set to get aCOMMENT
LOWcore/remotes/docker/registry.go101// NOTE: This function will not join configurations, as soon as a non-emptyCOMMENT
LOWcore/remotes/docker/registry.go161// NOTE: This function will always return a non-empty value or errorCOMMENT
LOWdocs/managed-opt.md851:M 01 Aug 15:59:52.870 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconCODE
LOWdocs/getting-started.md12#### Step 1: Installing containerdCOMMENT
LOWdocs/getting-started.md53#### Step 2: Installing runcCOMMENT
LOWdocs/getting-started.md64#### Step 3: Installing CNI pluginsCOMMENT
LOWdocs/getting-started.md5951:M 04 Aug 20:41:37.683 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconCODE
LOWdocs/historical/reports/2017-03-17.md1791:M 17 Mar 17:20:25.326 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconCODE
LOWclient/image.go106// NOTE: This function is best used with the manifest limit set to get aCOMMENT
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMcore/remotes/docker/resolver.go396 // more robust, we mostly get this information from a secure trust store.COMMENT
MEDIUMtest/init-buildx.sh81# Ensure we use a builder that can leverage it (the default on linux will not)COMMENT
MEDIUMinternal/cri/opts/spec_windows.go89 // Essentially this means firstArgFromImg should be true iff:COMMENT
LOWcontrib/gce/configure.sh23 # found python2, just use thatCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHCONTRIBUTING.md43## Automated and AI-generated contributionsCOMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHdocs/cri/config.md531 # In this example, 'runc' is the RuntimeHandler string to match.COMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWcore/images/usage/calculator_test.go73 // TODO: Add test with snapshotCOMMENT
LOWcore/transfer/streaming/stream.go195 // TODO: Handle error caseCOMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMscript/test/utils.sh280 # Create the containerd ROOT dir and set full access to be inherited for "CREATOR OWNER"COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWcore/transfer/image/imagestore_test.go71 Name: "placeholder",CODE