AI Slop Code Risk Monitor

schollz/croc

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

Easily and securely send things from one computer to another :crocodile: :package:

1.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for schollz/croc, a Go project with 40,813 GitHub stars. SynthScan examined 102,717 lines of code across 378 source files, recording 88 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 1.6 (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.6
Adjusted Signal
1.6
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
40.8K
Stars
Go
Language
102.7K
Lines of Code
378
Files
88
Pattern Hits
2026-10-31
Scan Date
0.02
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 2.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 5.5/100 · LOW

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

PR Review Velocity Impact 7.9/100 · LOW

Which changes need focused human review? 88 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 26LOW 56

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 88 distinct pattern matches across 8 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.

Decorative Section Separators26 hits · 78 pts
SeverityFileLineSnippetContext
MEDIUM⚡src/install/default.txt27#===============================================================================COMMENT
MEDIUM⚡src/install/default.txt30#-------------------------------------------------------------------------------COMMENT
MEDIUM⚡src/install/default.txt32#-------------------------------------------------------------------------------COMMENT
MEDIUM⚡src/install/default.txt43#-------------------------------------------------------------------------------COMMENT
MEDIUM⚡src/install/default.txt45#-------------------------------------------------------------------------------COMMENT
MEDIUM⚡src/install/default.txt53#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt2#===============================================================================COMMENT
MEDIUMsrc/install/default.txt77#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt102#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt135#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt164#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt188#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt212#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt241#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt274#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt325#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt386#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt428#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt455#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt485#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt551#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt577#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt841#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt843#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt857#-------------------------------------------------------------------------------COMMENT
MEDIUMsrc/install/default.txt859#-------------------------------------------------------------------------------COMMENT
Over-Commented Block25 hits · 22 pts
SeverityFileLineSnippetContext
LOWmain.go21 // for {COMMENT
LOWinternal/tailcat/tailcat.go1// Copyright (c) Tailscale Inc & contributorsCOMMENT
LOWinternal/tailcat/tailcat.go81)COMMENT
LOWinternal/tailcat/tailcat.go101// Implementations just store bytes; the freshness policy lives in theCOMMENT
LOWinternal/tailcat/tailcat.go141 // Region, if non-empty, lists the regions of a DERPMap.COMMENT
LOWinternal/tailcat/tailcat.go261// defaults for anything unset.COMMENT
LOWinternal/tailcat/tailcat.go301 // OnTCP, if non-nil, specifies a func that returns a handler to handleCOMMENT
LOWinternal/tailcat/tailcat.go321 OnTCPForward func(netip.AddrPort) (handler func(net.Conn))COMMENT
LOWinternal/tailcat/tailcat.go521func (s *Server) Close() error {COMMENT
LOWinternal/tailcat/tailcat.go901 return nilCOMMENT
LOWinternal/tailcat/tailcat.go1381// picking defaults for any unset fields. [Client.Ping] does the sameCOMMENT
LOWinternal/tailcat/wire.go1// Copyright (c) Tailscale Inc & contributorsCOMMENT
LOWinternal/cli/command.go21 // A longer explanation of how the command worksCOMMENT
LOWinternal/cli/app.go41 Commands []*CommandCOMMENT
LOWinternal/cli/app.go61 // It is run even if Action() panicsCOMMENT
LOWinternal/cli/app.go81 // is used as the default behavior.COMMENT
LOWinternal/cli/cli.go1// Package cli provides a minimal framework for creating and organizing command lineCOMMENT
LOWinternal/cli/funcs.go21// customized usage error messages. This function is able to replace theCOMMENT
LOWinternal/cli/help.go41}COMMENT
LOWsrc/install/default.txt1#!/bin/bash - COMMENT
LOWsrc/install/default.txt21#COMMENT
LOWsrc/install/default.txt441COMMENT
LOWsrc/install/default.txt541#--- FUNCTION ----------------------------------------------------------------COMMENT
LOWsrc/install/default.txt821 # *) autocomplete_install_rcode="1";;COMMENT
LOWsrc/croc/croc.go2181COMMENT
Empty Error Handlers4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHscripts/bundle_bench_common.py55except ProcessLookupError:CODE
HIGHscripts/bundle_bench_common.py65except ProcessLookupError:CODE
HIGHscripts/benchmark-bundles.py69except FileNotFoundError:CODE
HIGHscripts/benchmark-bundles.py100except FileNotFoundError:CODE
Hyper-Verbose Identifiers19 hits · 19 pts
SeverityFileLineSnippetContext
LOWpackaging/test_release.py14 def test_exact_assets_and_corruption(self):CODE
LOWpackaging/test_release.py33 def test_unexpected_assets_block_publication(self):CODE
LOWpackaging/test_release.py42 def test_remote_release_must_be_draft_with_exact_assets(self):CODE
LOWpackaging/test_release.py59 def test_archive_must_contain_one_regular_binary(self):CODE
LOWpackaging/test_release.py71 def test_stable_versions_only(self):CODE
LOWpackaging/test_verify.py53 def test_invalid_entries_are_rejected_before_extraction(self):CODE
LOWpackaging/test_verify.py78 def test_duplicate_file_is_rejected(self):CODE
LOWpackaging/test_verify.py83 def test_missing_file_is_rejected(self):CODE
LOWweb/e2e/transfers.spec.ts251async function expectCompletedTransferMetrics(panel: Locator) {CODE
LOWweb/src/stored-ui.tsx32export function storedExpirationValueLimit(CODE
LOWweb/src/App.tsx1209 async function revokeCurrentStoredUpload() {CODE
LOWweb/src/public-relay.ts61export function clearBestRelayOnConnectionError(CODE
LOWweb/src/protocol/storage.ts296function waitForDownloadController() {CODE
LOWweb/src/protocol/storage.ts542export function supportsDirectoryDestination() {CODE
LOWweb/src/protocol/storage.ts546export function supportsStreamingDownloadDestination() {CODE
LOWweb/src/protocol/storage.ts597export async function chooseStoredReceiveDestination(offer: TransferOffer) {CODE
LOWweb/src/protocol/compression.ts44export function checkProtocolCapabilities() {CODE
LOWweb/src/protocol/metadata.ts96export function normalizeOutgoingFileName(value: string) {CODE
LOWweb/src/protocol/metadata.ts133function validateDestinationAncestors(destinations: Map<string, Destination>) {CODE
Deep Nesting11 hits · 11 pts
SeverityFileLineSnippetContext
LOWpackaging/release.py184CODE
LOWpackaging/release.py249CODE
LOWpackaging/release.py295CODE
LOWpackaging/verify.py164CODE
LOWpackaging/distributions/map-debian.py15CODE
LOWscripts/benchmark-bundles-wan.py50CODE
LOWscripts/benchmark-bundles-wan.py307CODE
LOWscripts/test-bundle-compatibility.py53CODE
LOWscripts/test-bundle-compatibility.py135CODE
LOWscripts/benchmark-bundles.py105CODE
LOWscripts/benchmark-bundles.py275CODE
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHsrc/utils/utils.go436// If the file size is not the same as requested, it returns an empty chunk list (all chunks).COMMENT
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHscripts/benchmark-bundles-wan.py223 ssh(config, "kill -TERM " + str(event["pid"]) + " 2>/dev/null || true")CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/bundle_remote_runner.py4CODE