AI Slop Code Risk Monitor

facebook/zstd

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

Zstandard - Fast real-time compression algorithm

2.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for facebook/zstd, a C project with 28,134 GitHub stars. SynthScan examined 157,200 lines of code across 414 source files, recording 304 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 2.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.

2.1
Adjusted Signal
2.1
Raw Pattern Score
100%
Time Factor
2026-10-06
Last Push
28.1K
Stars
C
Language
157.2K
Lines of Code
414
Files
304
Pattern Hits
2026-10-31
Scan Date
0.01
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 8.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.1/100 · LOW

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

Agent Over-Engineering Ratio 1.3/100 · LOW

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

PR Review Velocity Impact 10.6/100 · LOW

Which changes need focused human review? 304 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 3MEDIUM 17LOW 284

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 304 distinct pattern matches across 11 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 Block236 hits · 228 pts
SeverityFileLineSnippetContext
LOWzlibWrapper/gzread.c421 }COMMENT
LOWzlibWrapper/gzguts.h21#elseCOMMENT
LOWzlibWrapper/gzguts.h41#elseCOMMENT
LOWzlibWrapper/gzguts.h61# define NO_GZCOMPRESSCOMMENT
LOWzlibWrapper/gzguts.h81COMMENT
LOWzlibWrapper/gzguts.h101# endifCOMMENT
LOWzlibWrapper/gzguts.h121# define local staticCOMMENT
LOWzlibWrapper/gzguts.h141# elseCOMMENT
LOWzlibWrapper/gzcompatibility.h21#elseCOMMENT
LOWzlibWrapper/gzcompatibility.h41#if defined(_WIN32) && !defined(Z_SOLO)COMMENT
LOWzlibWrapper/zstd_zlibwrapper.c21#include <stdarg.h> /* va_list, for z_gzprintf */COMMENT
LOWzlibWrapper/examples/example_original.c21*/COMMENT
LOWzlibWrapper/examples/zwrapbench.c41/*-************************************COMMENT
LOWzlibWrapper/examples/minigzip.c21#define _POSIX_SOURCE /* fileno */COMMENT
LOWzlibWrapper/examples/minigzip.c41# include <stdlib.h>COMMENT
LOWtests/paramgrill.c21COMMENT
LOWtests/paramgrill.c61# define DEBUG 0COMMENT
LOWtests/fuzzer.c21COMMENT
LOWtests/decodecorpus.c21#include "zstd.h"COMMENT
LOWtests/decodecorpus.c161* Constants and StructsCOMMENT
LOWtests/zstreamtest.c21COMMENT
LOWtests/DEPRECATED-test-zstd-speed.py1#! /usr/bin/env python3COMMENT
LOWtests/fullbench.c21#include <assert.h>COMMENT
LOWtests/roundTripCrash.c21#include <stddef.h> /* size_t */COMMENT
LOWtests/rateLimiter.py1#!/usr/bin/env python3COMMENT
LOWtests/gzip/mixed.sh1#!/bin/shCOMMENT
LOWtests/gzip/memcpy-abuse.sh1#!/bin/shCOMMENT
LOWtests/gzip/zdiff.sh1#!/bin/shCOMMENT
LOWtests/gzip/init.sh1# source this file; set up for testsCOMMENT
LOWtests/gzip/init.sh21# The typical skeleton of a test looks like this:COMMENT
LOWtests/gzip/init.sh41#COMMENT
LOWtests/gzip/init.sh61COMMENT
LOWtests/gzip/init.sh121 NULLCMD=:COMMENT
LOWtests/gzip/init.sh481 # As autoconf-generated configure scripts do, ensure that IFSCOMMENT
LOWtests/gzip/init.sh501# Failing that, we'll roll our own mktemp-like function:COMMENT
LOWtests/gzip/trailing-nul.sh1#!/bin/shCOMMENT
LOWtests/gzip/help-version.sh1#! /bin/shCOMMENT
LOWtests/gzip/stdin.sh1#!/bin/shCOMMENT
LOWtests/gzip/zgrep-context.sh1#!/bin/shCOMMENT
LOWtests/gzip/znew-k.sh1#!/bin/shCOMMENT
LOWtests/gzip/zgrep-signal.sh1#!/bin/shCOMMENT
LOWtests/gzip/gzip-env.sh1#!/bin/shCOMMENT
LOWtests/gzip/null-suffix-clobber.sh1#!/bin/shCOMMENT
LOWtests/gzip/zgrep-f.sh1#!/bin/shCOMMENT
LOWtests/gzip/hufts.sh1#!/bin/shCOMMENT
LOWtests/gzip/z-suffix.sh1#!/bin/shCOMMENT
LOWtests/gzip/list.sh1#!/bin/shCOMMENT
LOWtests/gzip/keep.sh1#!/bin/shCOMMENT
LOWtests/gzip/unpack-invalid.sh1#!/bin/shCOMMENT
LOWtests/gzip/helin-segv.sh1#!/bin/shCOMMENT
LOWtests/gzip/test-driver.sh1#! /bin/shCOMMENT
LOWtests/gzip/test-driver.sh141# mode: shell-scriptCOMMENT
LOWtests/fuzz/fuzz_helpers.h21#include "zstd.h"COMMENT
LOWtests/fuzz/fuzz_helpers.h41 ((cond) ? (void)0 \COMMENT
LOWcontrib/pzstd/Pzstd.cpp1/*COMMENT
LOWcontrib/pzstd/Pzstd.h1/*COMMENT
LOWcontrib/pzstd/utils/Likely.h21COMMENT
LOWcontrib/linux-kernel/btrfs-benchmark.sh1# !/bin/shCOMMENT
LOWcontrib/linux-kernel/btrfs-benchmark.sh61# noneCOMMENT
LOWcontrib/linux-kernel/btrfs-benchmark.sh81# zstd 3COMMENT
176 more matches not shown…
Fake / Example Data16 hits · 23 pts
SeverityFileLineSnippetContext
LOWtests/loremOut.h12 * Generate @size bytes of compressible data using lorem ipsum generator intoCOMMENT
LOWtests/fullbench.c933 * if @compressibility < 0.0, use Lorem Ipsum generatorCOMMENT
LOWtests/loremOut.c12 * Generates a stream of Lorem ipsum paragraphs to stdout,COMMENT
LOWcontrib/seekable_format/tests/seekable_tests.c272 { char const inBuffer[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididuCODE
LOWcontrib/seekable_format/tests/seekable_tests.c272 { char const inBuffer[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididuCODE
LOWprograms/lorem.h11/* lorem ipsum generator */COMMENT
LOWprograms/lorem.h17 * Generate @size bytes of compressible data using lorem ipsum generatorCOMMENT
LOWprograms/benchzstd.h128 * if @compressibility < 0.0, uses the lorem ipsum generatorCOMMENT
LOWprograms/README.md141If no file is provided, the benchmark will use a procedurally generated "lorem ipsum" content.CODE
LOWprograms/zstd.1.md675When no `FILE` is provided, the benchmark will use a procedurally generated `lorem ipsum` text.CODE
LOWprograms/benchzstd.c1004 name = "Lorem ipsum";CODE
LOW⚡programs/lorem.c13 * This is a very simple lorem ipsum generatorCOMMENT
LOW⚡programs/lorem.c20 * The resulting compression / ratio curve of the lorem ipsum generatorCOMMENT
LOW⚡programs/lorem.c25 * The compression ratio achievable on the generated lorem ipsumCOMMENT
LOWprograms/lorem.c240/* It's "common" for lorem ipsum generators to start with the same firstCOMMENT
LOWprograms/zstdcli.c906 double compressibility = -1.0; /* lorem ipsum generator */CODE
Excessive Try-Catch Wrapping18 hits · 22 pts
SeverityFileLineSnippetContext
LOWtests/DEPRECATED-test-zstd-speed.py74 except Exception:CODE
LOWtests/DEPRECATED-test-zstd-speed.py370 except Exception as e:CODE
MEDIUMtests/DEPRECATED-test-zstd-speed.py71def does_command_exist(command):CODE
LOWtests/fuzz/fuzz.py398 except Exception as e:STRING
LOWtests/fuzz/fuzz.py584 except Exception as e:STRING
LOWtests/fuzz/fuzz.py637 except Exception as e:STRING
LOWtests/fuzz/fuzz.py669 except Exception as e:STRING
LOWtests/fuzz/fuzz.py763 except Exception as e:STRING
LOWtests/fuzz/fuzz.py838 except Exception as e:STRING
LOWtests/fuzz/fuzz.py863 except Exception as e:STRING
MEDIUMtests/fuzz/fuzz.py929 print("Error: No such command {} (pass -h for help)".format(command))STRING
MEDIUMtests/fuzz/fuzz.py395def build(args):CODE
MEDIUMtests/fuzz/fuzz.py581def libfuzzer_cmd(args):CODE
MEDIUMtests/fuzz/fuzz.py634def afl(args):CODE
MEDIUMtests/fuzz/fuzz.py659def regression(args):CODE
MEDIUMtests/fuzz/fuzz.py760def gen(args):CODE
MEDIUMtests/fuzz/fuzz.py831def minimize(args):CODE
MEDIUMtests/fuzz/fuzz.py857def zip_cmd(args):CODE
Self-Referential Comments6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMtests/gzip/init.cfg1# This file is sourced by init.sh, *before* its initialization.COMMENT
MEDIUMtests/gzip/init.sh136# The following code attempts to find a shell with support for these features.COMMENT
MEDIUMtests/gzip/init.sh451 # Create an alias, FOO, for each FOO.exe in this directory.COMMENT
MEDIUMtests/gzip/init.sh495# Create a temporary directory, much like mktemp -d does.COMMENT
MEDIUMtests/gzip/help-version.sh147# Create a file in the current directory, not in $TMPDIR.COMMENT
MEDIUMtests/gzip/test-driver.sh26# This file is maintained in Automake, please reportCOMMENT
Deep Nesting11 hits · 11 pts
SeverityFileLineSnippetContext
LOWtests/automated_benchmarking.py260CODE
LOWtests/test-license.py136CODE
LOWtests/fuzz/fuzz.py760CODE
LOWtests/cli-tests/run.py132CODE
LOWtests/cli-tests/run.py583CODE
LOWcontrib/freestanding_lib/freestanding.py115CODE
LOWcontrib/freestanding_lib/freestanding.py149CODE
LOWcontrib/freestanding_lib/freestanding.py261CODE
LOWcontrib/freestanding_lib/freestanding.py523CODE
LOWcontrib/freestanding_lib/freestanding.py573CODE
LOWcontrib/freestanding_lib/freestanding.py614CODE
Cross-Language Confusion2 hits · 8 pts
SeverityFileLineSnippetContext
HIGHtests/automated_benchmarking.py103 os.system("cd ../ && make -j && cd tests")CODE
HIGHcontrib/freestanding_lib/freestanding.py55 Handles && and ||.STRING
Decorative Section Separators2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/gzip/init.sh19# =========================COMMENT
MEDIUMtests/gzip/init.sh40# ====================================COMMENT
Unused Imports5 hits · 5 pts
SeverityFileLineSnippetContext
LOWtests/check_size.py13CODE
LOWtests/test-zstd-versions.py19CODE
LOWtests/DEPRECATED-test-zstd-speed.py20CODE
LOWtests/test-license.py13CODE
LOWcontrib/freestanding_lib/freestanding.py13CODE
Hyper-Verbose Identifiers5 hits · 5 pts
SeverityFileLineSnippetContext
LOWtests/automated_benchmarking.py73def get_builds_for_latest_hash():CODE
LOWtests/automated_benchmarking.py145def benchmark_dictionary_single(executable, filenames_directory, dictionary_filename, level, iterations):CODE
LOWtests/automated_benchmarking.py172def parse_regressions_and_labels(old_cspeed, new_cspeed, old_dspeed, new_dspeed, baseline_build, test_build):CODE
LOWtests/automated_benchmarking.py221def get_regressions_dictionary(baseline_build, test_build, filenames_directory, dictionary_filename, levels, iterations)CODE
LOWtests/DEPRECATED-test-zstd-speed.py92def send_email_with_attachments(branch, commit, last_commit, args, text, results_files,CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtests/rateLimiter.py40except (KeyboardInterrupt, BrokenPipeError) as e:CODE
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/cli-tests/run.py489 def _setup_once(self) -> None:CODE
LOWtests/cli-tests/run.py505 def _setup(self, test_basename: str) -> None:CODE