AI Slop Code Risk Monitor

aquasecurity/trivy

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

Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more

1.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for aquasecurity/trivy, a Go project with 38,869 GitHub stars. SynthScan examined 347,686 lines of code across 2439 source files, recording 173 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 1.1 (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.1
Adjusted Signal
1.1
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
38.9K
Stars
Go
Language
347.7K
Lines of Code
2.4K
Files
173
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 3.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.6/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 4.6/100 · LOW

Which changes need focused human review? 173 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 12HIGH 0MEDIUM 23LOW 138

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 173 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.

Hallucination Indicators12 hits · 180 pts
SeverityFileLineSnippetContext
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go160 assert.Equal(t, 15, cluster.Logging.Broker.Cloudwatch.Metadata.Range().GetStartLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go161 assert.Equal(t, 18, cluster.Logging.Broker.Cloudwatch.Metadata.Range().GetEndLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go163 assert.Equal(t, 16, cluster.Logging.Broker.Cloudwatch.Enabled.GetMetadata().Range().GetStartLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go164 assert.Equal(t, 16, cluster.Logging.Broker.Cloudwatch.Enabled.GetMetadata().Range().GetEndLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go166 assert.Equal(t, 19, cluster.Logging.Broker.Firehose.Metadata.Range().GetStartLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go167 assert.Equal(t, 22, cluster.Logging.Broker.Firehose.Metadata.Range().GetEndLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go169 assert.Equal(t, 20, cluster.Logging.Broker.Firehose.Enabled.GetMetadata().Range().GetStartLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go170 assert.Equal(t, 20, cluster.Logging.Broker.Firehose.Enabled.GetMetadata().Range().GetEndLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go172 assert.Equal(t, 23, cluster.Logging.Broker.S3.Metadata.Range().GetStartLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go173 assert.Equal(t, 27, cluster.Logging.Broker.S3.Metadata.Range().GetEndLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go175 assert.Equal(t, 24, cluster.Logging.Broker.S3.Enabled.GetMetadata().Range().GetStartLine())CODE
CRITICAL⚡pkg/iac/adapters/terraform/aws/msk/adapt_test.go176 assert.Equal(t, 24, cluster.Logging.Broker.S3.Enabled.GetMetadata().Range().GetEndLine())CODE
Over-Commented Block115 hits · 115 pts
SeverityFileLineSnippetContext
LOWintegration/sbom_test.go101 })COMMENT
LOWdocs/guide/advanced/modules.md261 // e.g. resultsCOMMENT
LOWdocs/guide/compliance/compliance.md121# - input: schema["kubernetes"]COMMENT
LOWdocs/guide/scanner/misconfiguration/index.md321COMMENT
LOWdocs/guide/scanner/misconfiguration/custom/index.md41A single package must contain only one policy.COMMENT
LOWdocs/guide/scanner/misconfiguration/custom/selectors.md1# Input SelectorsCOMMENT
LOWdocs/tutorials/misconfiguration/custom-checks.md21```COMMENT
LOWdocs/community/contribute/checks/overview.md21# scope: packageCOMMENT
LOWexamples/module/spring4shell/spring4shell.go141// PostScan takes results including custom resources and detected CVE-2022-22965.COMMENT
LOWexamples/module/spring4shell/spring4shell.go161// "FilePath": "/usr/local/tomcat/RELEASE-NOTES",COMMENT
LOWexamples/module/spring4shell/spring4shell.go181// "Layer": {COMMENT
LOWexamples/module/spring4shell/spring4shell.go201// "redhat": 3COMMENT
LOWrpc/cache/service.twirp.go1361}COMMENT
LOWrpc/cache/service.twirp.go1381// service. Those accessors are a low-level API for building reflection tools.COMMENT
LOWrpc/scanner/service.twirp.go521 return baseServicePath(s.pathPrefix, "trivy.scanner.v1", "Scanner")COMMENT
LOWrpc/scanner/service.twirp.go541// HTTP handlers with additional methods for accessing metadata about theCOMMENT
LOWhelm/trivy/values.yaml61 debugMode: falseCOMMENT
LOWhelm/trivy/values.yaml81 #COMMENT
LOWpkg/crypto/strength.go1package cryptoCOMMENT
LOWpkg/crypto/catalog.go1package cryptoCOMMENT
LOWpkg/crypto/catalog.go21 parameterNames []ftypes.CryptoAlgorithmParameterNameCOMMENT
LOWpkg/crypto/parser/pkcs12/parser_test.go281 }COMMENT
LOWpkg/crypto/parser/x509/parser.go161)COMMENT
LOWpkg/result/ignore.go21 "github.com/aquasecurity/trivy/pkg/log"COMMENT
LOWpkg/fingerprint/fingerprint.go21 // TODO: Future implementationCOMMENT
LOWpkg/sbom/core/bom.go121COMMENT
LOWpkg/sbom/core/bom.go141COMMENT
LOWpkg/sbom/core/bom.go161 // BOMRef:COMMENT
LOWpkg/sbom/io/encode.go181}COMMENT
LOWpkg/sbom/io/encode.go201 // -> Library component (bash-4.12) ------------------ #3COMMENT
LOWpkg/sbom/io/encode.go341// preserving the original structure, components, and relationshipsCOMMENT
LOWpkg/digest/source.go21 // It states the algorithm and the value, but not what the value covers, so the coveredCOMMENT
LOWpkg/digest/source.go41 // SourceJavaArchive is computed by Trivy over a Java archive (JAR/WAR/EAR/PAR,COMMENT
LOWpkg/fanal/types/package.go221COMMENT
LOWpkg/fanal/image/image.go81 layerIDs = append(layerIDs, d.String())COMMENT
LOWpkg/fanal/image/image.go101// In total, it would be like:COMMENT
LOWpkg/fanal/secret/keyword.go21// as U+212A KELVIN SIGN, is not found. A rule whose keyword holds a non-ASCIICOMMENT
LOWpkg/fanal/analyzer/const.go141 // LicenseCOMMENT
LOWpkg/fanal/walker/fs.go101 absBase, err := filepath.Abs(base)COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse_testcase.go601 // cd ./node_modules/lodash/COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/types.go1package pnpmCOMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go121COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go341//COMMENT
LOWpkg/dependency/parser/nodejs/npm/parse_testcase.go701 // npm install ms@2.0.0 --save-bundleCOMMENT
LOWpkg/dependency/parser/nodejs/npm/parse_testcase.go1361 // npm init --forceCOMMENT
LOWpkg/dependency/parser/python/uv/parse_testcase.go1package uvCOMMENT
LOWpkg/dependency/parser/python/poetry/parse_testcase.go1package poetryCOMMENT
LOWpkg/dependency/parser/golang/binary/parse.go161}COMMENT
LOWpkg/dependency/parser/golang/binary/parse.go221 if err := fset.Parse(flags); err != nil {COMMENT
LOWpkg/dependency/parser/java/pom/mirror.go121}COMMENT
LOWpkg/dependency/parser/java/pom/parse_test.go1401 },COMMENT
LOWpkg/dependency/parser/java/pom/parse_test.go1481 },COMMENT
LOWpkg/dependency/parser/java/pom/parse_test.go1501 //[INFO]COMMENT
LOWpkg/dependency/parser/java/pom/parse_test.go2161 },COMMENT
LOWpkg/dependency/parser/java/pom/parse_test.go2241 },COMMENT
LOWpkg/dependency/parser/java/pom/settings_test.go121 },COMMENT
LOWpkg/dependency/parser/java/pom/settings_test.go141 // <server>COMMENT
LOWpkg/dependency/parser/java/pom/settings_test.go161 // </snapshots>COMMENT
LOWpkg/dependency/parser/java/pom/settings_test.go181 // <repository>COMMENT
LOWpkg/dependency/parser/java/pom/parse.go841 // Do not try fetching pom.xml from remote repositories in offline modeCOMMENT
55 more matches not shown…
Self-Referential Comments16 hits · 52 pts
SeverityFileLineSnippetContext
MEDIUM⚡misc/backport/backport.sh24# Create a new branch with the PR number and branch nameCOMMENT
MEDIUM⚡misc/backport/backport.sh30# Create the pull request titleCOMMENT
MEDIUM⚡misc/backport/backport.sh33# Create the pull request descriptionCOMMENT
MEDIUMmisc/backport/backport.sh65# Create a new pull request with the original PR title, backport suffix, and descriptionCOMMENT
MEDIUM…alyzer/language/julia/pkg/testdata/happy/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…age/julia/pkg/testdata/shadowed_dep_v1.9/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…language/julia/pkg/testdata/dep_ext_v1.9/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…language/julia/pkg/testdata/no_deps_v1.6/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…lia/manifest/testdata/multiple-same-deps/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…ulia/manifest/testdata/shadowed_dep_v1.9/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…julia/manifest/testdata/missed-child-dep/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…ser/julia/manifest/testdata/dep_ext_v1.9/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…ser/julia/manifest/testdata/no_deps_v1.6/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…ser/julia/manifest/testdata/no_deps_v1.9/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…ser/julia/manifest/testdata/primary/Manifest_v1.8.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUM…ser/julia/manifest/testdata/primary/Manifest_v1.6.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
Structural Annotation Overuse12 hits · 18 pts
SeverityFileLineSnippetContext
LOWdocs/guide/supply-chain/vex/oci.md46### Step 1: Create a VEX DocumentCOMMENT
LOWdocs/guide/supply-chain/vex/oci.md106### Step 2: Generate and Upload a VEX Attestation to an OCI RegistryCOMMENT
LOWdocs/guide/supply-chain/vex/oci.md121### Step 3: Use VEX Attestation with TrivyCOMMENT
LOW…ute/vulnerability-database/add-vulnerability-source.md20### Step 1: Add Fetcher Script (vuln-list-update)COMMENT
LOW…ute/vulnerability-database/add-vulnerability-source.md39### Step 2: Add Parser (trivy-db)COMMENT
LOW…ute/vulnerability-database/add-vulnerability-source.md56### Step 3: Add OS/Ecosystem Support (Trivy)COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go132 // Step 1: Extract direct dependencies from the "importers" section.COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go153 // Step 2: Process each snapshot to create package entries.COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go171 // Step 3: Determine if this package is a direct or transitive dependency,COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go199 // Step 4: Build the dependency graph by recording what this package depends on.COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go217 // Step 5: Propagate the "production" status to all transitive dependencies.COMMENT
LOWpkg/vex/vex.go78 // NOTE: This method call has a side effect on the reportCOMMENT
Slop Phrases6 hits · 12 pts
SeverityFileLineSnippetContext
LOWhelm/trivy/values.yaml109 # In case you specify redis as backend, make sure you installed a redis server yourself, e.g.COMMENT
MEDIUMpkg/vex/testdata/csaf.json8 "text": "Example Company VEX document. Unofficial content for demonstration purposes only.",CODE
MEDIUMpkg/iac/adapters/terraform/aws/apigateway/apiv1_test.go23 description = "This is my API for demonstration purposes"CODE
MEDIUMpkg/iac/adapters/terraform/aws/apigateway/apiv1_test.go50 description = "This is my API for demonstration purposes"CODE
MEDIUMpkg/iac/adapters/terraform/aws/apigateway/adapt_test.go29 description = "This is my API for demonstration purposes"CODE
MEDIUMpkg/iac/adapters/terraform/aws/apigateway/adapt_test.go142 description = "This is my API for demonstration purposes"CODE
Verbosity Indicators5 hits · 8 pts
SeverityFileLineSnippetContext
LOWpkg/dependency/parser/nodejs/pnpm/parse.go132 // Step 1: Extract direct dependencies from the "importers" section.COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go153 // Step 2: Process each snapshot to create package entries.COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go171 // Step 3: Determine if this package is a direct or transitive dependency,COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go199 // Step 4: Build the dependency graph by recording what this package depends on.COMMENT
LOWpkg/dependency/parser/nodejs/pnpm/parse.go217 // Step 5: Propagate the "production" status to all transitive dependencies.COMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMpkg/fanal/artifact/image/image.go204 // TODO(knqyf263): refactor to use a more robust method instead of suffix-based detectionCOMMENT
MEDIUMpkg/iac/scanners/terraform/parser/funcs/datetime.go147 // be robust here.COMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWpkg/fanal/vm/filesystem/filesystem.go39 // TODO: implement LVM handlerCOMMENT
LOWpkg/iac/scanners/ansible/parser/template.go24// TODO: implement support for a subset of popular Ansible filter plugins.COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpkg/x/json/jsonc.go60// Usage example:COMMENT
Hyper-Verbose Identifiers2 hits · 1 pts
SeverityFileLineSnippetContext
LOW…eDir/.conan/data/openssl/3.0.5/_/_/export/conanfile.py572 def _create_cmake_module_variables(self, module_file):STRING
LOW…stdata/cacheDir_v2/p/opens464b5c427ce9d/e/conanfile.py572 def _create_cmake_module_variables(self, module_file):STRING