AI Slop Code RIsk Monitor

openwrt/openwrt

This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.

4.7 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for openwrt/openwrt, a C project with 28,703 GitHub stars. SynthScan examined 342,586 lines of code across 1130 source files, recording 1793 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 4.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.

4.7
Adjusted Signal
4.7
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
28.7K
Stars
C
Language
342.6K
Lines of Code
1.1K
Files
1.8K
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 20.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 0.2/100 · LOW

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

PR Review Velocity Impact 23.4/100 · LOW

Which changes need focused human review? 1793 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 1MEDIUM 16LOW 1776

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 1793 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 Block1743 hits · 1508 pts
SeverityFileLineSnippetContext
LOWtools/mklibs/include/elf.h121COMMENT
LOWtools/mklibs/include/elf.h141#define ELFOSABI_NETBSD 2 /* NetBSD. */COMMENT
LOWtools/mklibs/include/elf.h161#define ET_EXEC 2 /* Executable file */COMMENT
LOWtools/mklibs/include/elf.h181#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian */COMMENT
LOWtools/mklibs/include/elf.h201#define EM_H8_300 46 /* Hitachi H8/300 */COMMENT
LOWtools/mklibs/include/elf.h221#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */COMMENT
LOWtools/mklibs/include/elf.h241#define EM_V850 87 /* NEC v850 */COMMENT
LOWtools/mklibs/include/elf.h301 (Solaris). */COMMENT
LOWtools/mklibs/include/elf.h321#define SHT_REL 9 /* Relocation entries, no addends */COMMENT
LOWtools/mklibs/include/elf.h341#define SHT_HIOS 0x6fffffff /* End OS-specific type */COMMENT
LOWtools/mklibs/include/elf.h421#define SYMINFO_NUM 2COMMENT
LOWtools/mklibs/include/elf.h441#define STB_LOOS 10 /* Start of OS-specific */COMMENT
LOWtools/mklibs/include/elf.h561#define PT_SHLIB 5 /* Reserved */COMMENT
LOWtools/mklibs/include/elf.h581#define PF_R (1 << 2) /* Segment is readable */COMMENT
LOWtools/mklibs/include/elf.h641#define DT_RELASZ 8 /* Total size of Rela relocs */COMMENT
LOWtools/mklibs/include/elf.h661#define DT_FINI_ARRAYSZ 28 /* Size in bytes of DT_FINI_ARRAY */COMMENT
LOWtools/mklibs/include/elf.h681#define DT_CHECKSUM 0x6ffffdf8COMMENT
LOWtools/mklibs/include/elf.h701#define DT_GNU_LIBLIST 0x6ffffef9 /* Library list */COMMENT
LOWtools/mklibs/include/elf.h721#define DT_VERDEF 0x6ffffffc /* Address of version definitionCOMMENT
LOWtools/mklibs/include/elf.h741#define DF_BIND_NOW 0x00000008 /* No lazy binding for this object */COMMENT
LOWtools/mklibs/include/elf.h921COMMENT
LOWtools/mklibs/include/elf.h1041#define ELF32_M_SYM(info) ((info) >> 8)COMMENT
LOWtools/mklibs/include/elf.h1061#define R_68K_PC32 4 /* PC relative 32 bit */COMMENT
LOWtools/mklibs/include/elf.h1081#define R_68K_NUM 23COMMENT
LOWtools/mklibs/include/elf.h1101 block offset */COMMENT
LOWtools/mklibs/include/elf.h1121#define R_386_TLS_LDM_32 28 /* Direct 32 bit for local dynamicCOMMENT
LOWtools/mklibs/include/elf.h1141COMMENT
LOWtools/mklibs/include/elf.h1161#define R_SPARC_16 2 /* Direct 16 bit */COMMENT
LOWtools/mklibs/include/elf.h1181#define R_SPARC_RELATIVE 22 /* Adjust by program base */COMMENT
LOWtools/mklibs/include/elf.h1201#define R_SPARC_PC_LM22 39 /* Low miggle 22 bits of ... */COMMENT
LOWtools/mklibs/include/elf.h1221#define R_SPARC_TLS_LDM_HI22 60COMMENT
LOWtools/mklibs/include/elf.h1261COMMENT
LOWtools/mklibs/include/elf.h1281/* The following are non-official names and should not be used. */COMMENT
LOWtools/mklibs/include/elf.h1301#define SHT_MIPS_LIBLIST 0x70000000 /* Shared objects used in link */COMMENT
LOWtools/mklibs/include/elf.h1321#define SHT_MIPS_OPTSYM 0x70000017COMMENT
LOWtools/mklibs/include/elf.h1341/* Legal values for sh_flags field of Elf32_Shdr. */COMMENT
LOWtools/mklibs/include/elf.h1401COMMENT
LOWtools/mklibs/include/elf.h1421#define OEX_PRECISEFP OEX_FPDBUGCOMMENT
LOWtools/mklibs/include/elf.h1461#define R_MIPS_HI16 5 /* High 16 bit */COMMENT
LOWtools/mklibs/include/elf.h1481#define R_MIPS_DELETE 27COMMENT
LOWtools/mklibs/include/elf.h1501/* Special program header types. */COMMENT
LOWtools/mklibs/include/elf.h1521#define DT_MIPS_GOTSYM 0x70000013 /* First GOT entry in DYNSYM */COMMENT
LOWtools/mklibs/include/elf.h1541#define DT_MIPS_CXX_FLAGS 0x70000022 /* Flags indicating for C++ flavor. */COMMENT
LOWtools/mklibs/include/elf.h1561/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */COMMENT
LOWtools/mklibs/include/elf.h1621#define EF_PARISC_EXT 0x00020000 /* Program uses arch. extensions. */COMMENT
LOWtools/mklibs/include/elf.h1661COMMENT
LOWtools/mklibs/include/elf.h1681#define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */COMMENT
LOWtools/mklibs/include/elf.h1701#define R_PARISC_DIR16F 85 /* 16 bits of eff. address. */COMMENT
LOWtools/mklibs/include/elf.h1721#define R_PARISC_PLTOFF16WF 118 /* 16 bits PLT-rel. address. */COMMENT
LOWtools/mklibs/include/elf.h1741#define R_PARISC_TPREL14DR 220 /* TP-rel. address, right 14 bits. */COMMENT
LOWtools/mklibs/include/elf.h1761#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)COMMENT
LOWtools/mklibs/include/elf.h1801COMMENT
LOWtools/mklibs/include/elf.h1821#define R_ALPHA_SREL64 11 /* PC relative 64 bit */COMMENT
LOWtools/mklibs/include/elf.h1861#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag*/COMMENT
LOWtools/mklibs/include/elf.h1881#define R_PPC_GOT16_LO 15COMMENT
LOWtools/mklibs/include/elf.h1901#define R_PPC_SECTOFF_HI 35COMMENT
LOWtools/mklibs/include/elf.h1921#define R_PPC_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */COMMENT
LOWtools/mklibs/include/elf.h1941#define R_PPC_EMB_NADDR16_LO 103COMMENT
LOWtools/mklibs/include/elf.h1961#define R_PPC_DIAB_RELSDA_HI 184 /* like EMB_RELSDA, but high 16 bit */COMMENT
LOWtools/mklibs/include/elf.h1981#define R_PPC64_REL14 R_PPC_REL14 /* PC relative 16 bit */COMMENT
1683 more matches not shown…
Self-Referential Comments14 hits · 42 pts
SeverityFileLineSnippetContext
MEDIUMscripts/slugimage.pl202# Create an empty jffs2 block.COMMENT
MEDIUMscripts/slugimage.pl620 # Define the skip region for the initial Sercomm header.COMMENT
MEDIUMscripts/slugimage.pl629 # Define the skip region for the inline Sercomm header.COMMENT
MEDIUMscripts/slugimage.pl1130 # Create an empty partition of the requested size.COMMENT
MEDIUMscripts/mkits-qsdk-ipq-image.sh31# Create a default, fully populated DTS fileCOMMENT
MEDIUMscripts/symlink-tree.sh2# Create a new openwrt tree with symlinks pointing at the current treeCOMMENT
MEDIUMscripts/dl_cleanup.py283 # Create a directory listing and parse the file names.COMMENT
MEDIUMscripts/dl_cleanup.py299 # Create a map of programsCOMMENT
MEDIUMscripts/mkits-zyxel-fit.sh19# Create a default, fully populated DTS fileCOMMENT
MEDIUMscripts/mkits-zyxel-fit-filogic.sh19# Create a default, fully populated DTS fileCOMMENT
MEDIUMscripts/checkpatch.pl592#Create a search pattern for all these functions to speed up a loop belowCOMMENT
MEDIUMscripts/checkpatch.pl613#Create a search pattern for all these strings to speed up a loop belowCOMMENT
MEDIUMscripts/checkpatch.pl648#Create a search pattern for all these strings to speed up a loop belowCOMMENT
MEDIUMscripts/mkits.sh199# Create a default, fully populated DTS fileCOMMENT
Redundant / Tautological Comments9 hits · 13 pts
SeverityFileLineSnippetContext
LOWtarget/linux/gemini/base-files/lib/upgrade/platform.sh77# Check if we have the new partition scheme, else do it the oldCOMMENT
LOWscripts/brcmImage.pl78 local $/; # Set input to "slurp" mode.CODE
LOWscripts/checkpatch.pl2613# Check if the commit log has what seems like a diff which can confuse patchCOMMENT
LOWscripts/checkpatch.pl2659# Check if MAINTAINERS is being updated. If so, there's probably no need toCOMMENT
LOWscripts/checkpatch.pl2764# Check if the commit log is in a possible stack dumpCOMMENT
LOWscripts/checkpatch.pl2888# Check if it's the start of a commit logCOMMENT
LOWscripts/checkpatch.pl2898# Check if there is UTF-8 in a commit log when a mail header has explicitlyCOMMENT
LOWscripts/checkpatch.pl3761 # Check if either of these lines are modified, elseCOMMENT
LOWpackage/base-files/files/lib/upgrade/nand.sh480# Check if passed file is a valid one for NAND sysupgrade.COMMENT
AI Slop Vocabulary5 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM…get/linux/pistachio/base-files/lib/upgrade/platform.sh19 # fact we don't even want to reboot as part of seamlessCOMMENT
LOW…get/linux/pistachio/base-files/lib/upgrade/platform.sh21 # the next reboot to boot from that partition. Could just callCOMMENT
LOWtarget/linux/bcm4908/base-files/lib/upgrade/platform.sh84 # JFFS2) so just use bcm4908img instead of bash hacks.COMMENT
LOWtarget/linux/econet/image/tclinux-trx.sh154 # creating their TRX header, so we just use that.COMMENT
LOWscripts/xxdi.pl46# to '_', or, if this is stdin, just use "stdin" as the name.COMMENT
Deep Nesting7 hits · 7 pts
SeverityFileLineSnippetContext
LOWtarget/linux/realtek/image/hasivo-stock-patch.py255CODE
LOWscripts/dl_cleanup.py222CODE
LOWscripts/dl_github_archive.py133CODE
LOWscripts/dl_github_archive.py253CODE
LOWscripts/make-sbom.py53CODE
LOWscripts/make-sbom.py106CODE
LOWscripts/flashing/jungo-image.py94CODE
Unused Imports6 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/belkin-header.py26CODE
LOWscripts/belkin-header.py27CODE
LOWscripts/dl_cleanup.py10CODE
LOWscripts/cameo-imghdr.py10CODE
LOWscripts/cameo-imghdr.py11CODE
LOWscripts/flashing/jungo-image.py30CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHscripts/dl_cleanup.py296except EntryParseError as e:CODE
Excessive Try-Catch Wrapping4 hits · 5 pts
SeverityFileLineSnippetContext
LOWscripts/dl_github_archive.py279 except Exception:CODE
LOWscripts/dl_github_archive.py366 except Exception as e:CODE
LOWscripts/dl_github_archive.py428 except Exception as ex:CODE
MEDIUMscripts/flashing/jungo-image.py73 print("Error: No linux support for A0 stepping!")CODE
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/size_compare.sh17### Usage:COMMENT
LOWpackage/base-files/files/lib/upgrade/tar.sh3# Example usage:COMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpackage/base-files/files/lib/upgrade/nand.sh318 # WARNING: This fails if tar contains more than one 'sysupgrade-*' directory.COMMENT
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/dl_github_archive.py370 def _init_commit_ts_remote_get(self, url, attrpath):CODE