AI Slop Code Risk Monitor

0xERR0R/blocky

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

Fast and lightweight DNS proxy as ad-blocker for local network with many features

0.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for 0xERR0R/blocky, a Go project with 7,080 GitHub stars. SynthScan examined 108,678 lines of code across 423 source files, recording 67 pattern matches distributed across 5 syntactic categories. The legacy adjusted pattern signal is 0.7 (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.

0.7
Adjusted Signal
0.7
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
7.1K
Stars
Go
Language
108.7K
Lines of Code
423
Files
67
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.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.5/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 3.4/100 · LOW

Which changes need focused human review? 67 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 1HIGH 0MEDIUM 0LOW 66

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 67 distinct pattern matches across 5 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 Block63 hits · 62 pts
SeverityFileLineSnippetContext
LOWtools/schemagen/overrides.go81COMMENT
LOWcache/stringcache/chained_grouped_cache.go21 sum += cache.ElementCount(group)COMMENT
LOWcache/stringcache/golden_test.go21// against a checked-in reference. The exact and wildcard caches only keepCOMMENT
LOWcache/stringcache/string_caches_benchmark_test.go161 cache = factory.create()COMMENT
LOWutil/dnssec.go21 return falseCOMMENT
LOWlists/parsers/hosts_funcs_test.go181 if net.ParseIP(s) != nil && !MightBeIP(s) {COMMENT
LOWlists/parsers/hosts.go21)COMMENT
LOWlists/parsers/hosts.go321// Only entries with non-ASCII (Unicode) characters or an "xn--" ACE prefixCOMMENT
LOWlists/parsers/parser.go21 // Position returns a string that gives an user readable indicationCOMMENT
LOWconfig/config.go41 // IsEnabled returns true when the receiver is configured.COMMENT
LOWconfig/config.go101// QueryLogType type of the query log ENUM(COMMENT
LOWconfig/config.go901COMMENT
LOWconfig/upstream_fuzz_test.go1package configCOMMENT
LOWserver/server.go581 // adopts the ECS subnet as the internal client IP (ecs.useAsClient) before theCOMMENT
LOWserver/http3.go21COMMENT
LOWserver/client_query.go101 // RFC 6891 §6.1.1: a response to an EDNS0 query must carry an OPT record. Cache hitsCOMMENT
LOWserver/freebind/freebind_others.go1//go:build !linuxCOMMENT
LOWdocs/config.yml1# yaml-language-server: $schema=https://raw.githubusercontent.com/0xERR0R/blocky/main/docs/config.schema.jsonCOMMENT
LOWdocs/config.yml21 - https://dns.digitale-gesellschaft.ch/dns-queryCOMMENT
LOWdocs/config.yml141 # refused: return REFUSED as return code, for every query type. Note that stub resolvers commonly treat REFUSEDCOMMENT
LOWdocs/config.yml161 writeTimeout: 60sCOMMENT
LOWdocs/config.yml181 # optional: Maximum number of lists to process in parallel.COMMENT
LOWdocs/config.yml201 # If 0, use TTLCOMMENT
LOWdocs/config.yml241 # enabled if trueCOMMENT
LOWdocs/config.yml261 # optional: Which fields should be logged. You can choose one or more from: clientIP, clientName, responseReason, respCOMMENT
LOWdocs/config.yml321# optional: drop all queries with following query types. Default: emptyCOMMENT
LOWdocs/config.yml341rateLimit:COMMENT
LOWdocs/config.yml381 - https://example.com/hostsCOMMENT
LOWdocs/config.yml401 # optional: Maximum download attemptsCOMMENT
LOWdocs/config.yml421 # default: 5COMMENT
LOWdocs/config.yml441 # example: [4000, :4000, 127.0.0.1:4000, [::1]:4000]COMMENT
LOWdocs/config.yml501 # optional: if the request contains a ecs option it will be forwarded to the upstream resolverCOMMENT
LOWdocs/config.yml521 # Prevents DoS with deeply nested domains (e.g., a.b.c.d.e.f.g.h.i.j.example.com)COMMENT
LOWdocs/config.yml541 # default: 150COMMENT
LOWdocs/config.yml561 # Only override this for testing, private zones, or lab environmentsCOMMENT
LOWdocs/config.yml581 enable: falseCOMMENT
LOWdocs/config.yml601 #COMMENT
LOWdocs/config.yml621 # - 2001:db8::/32 # Custom exclusion rangeCOMMENT
LOW.github/workflows/sponsors.yml81 file: README.mdCOMMENT
LOWmodel/models.go1package modelCOMMENT
LOWmodel/models_enum.go101 ResponseTypeCACHEDCOMMENT
LOWapi/api_server.gen.go21 // (GET /blocking/disable)COMMENT
LOWapi/api_server.gen.go541 // (GET /blocking/enable)COMMENT
LOWlog/logger_enum.go121 // Local use facility 1.COMMENT
LOWlog/logger.go21const prefixField = "prefix"COMMENT
LOWlog/logger.go61}COMMENT
LOWquerylog/database_writer_sqlite.go21COMMENT
LOWresolver/dnssec_resolver.go101 return nil, errCOMMENT
LOWresolver/mock_doh_upstream_server_test.go21// dohConnKey carries the accepted connection into the handler, so it can tellCOMMENT
LOWresolver/mock_doh_upstream_server_test.go221// the connection as reused, and the round trip then fails with an unexpectedCOMMENT
LOWresolver/connpool.go21 conn *dns.ConnCOMMENT
LOWresolver/upstream_resolver.go261// do sends the packed query to the upstream, retrying on a fresh connection whenCOMMENT
LOWresolver/upstream_resolver.go461// exchangeUDPWithTCPFallback queries the upstream over UDP first and only re-queries over TCP whenCOMMENT
LOWresolver/dnssec/validator.go1// Package dnssec implements DNSSEC validation per RFC 4033, 4034, 4035, and 5155.COMMENT
LOWresolver/dnssec/validator.go21// upstream,COMMENT
LOWresolver/dnssec/validator.go61COMMENT
LOWresolver/dnssec/validator.go141 metrics.RegisterMetric(v.cacheHitMetrics)COMMENT
LOWresolver/dnssec/validator.go201COMMENT
LOWresolver/dnssec/validator.go901 // trust-anchor-aware default (fail closed under a trust anchor).COMMENT
LOWresolver/dnssec/chain.go61 return statusCOMMENT
3 more matches not shown…
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALweb/static/rapidoc-min.js2(()=>{var e,t,r={656:(e,t,r)=>{"use strict";const n=window,o=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadowCODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW.github/workflows/build-bin.yml70 # Check if the repository is forked and add upstream for correct versioningCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWresolver/dnssec/validator.go8// Example usage:COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWweb/static/rapidoc-min.js1355`;function AP(e){return void 0===e?"":null===e?"null":""===e?"∅":"boolean"==typeof e||"number"==typeof e?`${e}`:Array.isCODE