AI Slop Code Risk Monitor

hoothin/UserScripts

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

Greasemonkey scripts ( Pagetual / Picviewer CE+ / DownloadAllContent ) 油猴腳本集 ユーザースクリプト集

1.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for hoothin/UserScripts, a JavaScript project with 4,351 GitHub stars. SynthScan examined 51,830 lines of code across 83 source files, recording 72 pattern matches distributed across 6 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-07
Last Push
4.4K
Stars
JavaScript
Language
51.8K
Lines of Code
83
Files
72
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 6.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.2/100 · LOW

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

Agent Over-Engineering Ratio 0.4/100 · LOW

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

PR Review Velocity Impact 7.5/100 · LOW

Which changes need focused human review? 72 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 71

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 72 distinct pattern matches across 6 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 Block62 hits · 62 pts
SeverityFileLineSnippetContext
LOWRandomSexyPic/randomSexyPic.user.js1// ==UserScript==COMMENT
LOWEasy offline/Easy offline pikpak.user.js1// ==UserScript==COMMENT
LOWEasy offline/Easy offline.user.js1// ==UserScript==COMMENT
LOWEasy offline/Easy offline.user.js21// @exclude *://*.iqiyi.com/w_*COMMENT
LOWEasy offline/Easy offline.user.js41// @exclude *://m.v.qq.com/x/page/*COMMENT
LOWEasy offline/Easy offline.user.js61// @grant GM_registerMenuCommandCOMMENT
LOWT66y tool/T66y tool.user.js1// ==UserScript==COMMENT
LOWAppinn Comment/AppinnComment.user.js1// ==UserScript==COMMENT
LOWTrue URL downloads/True URL downloads.user.js1// ==UserScript==COMMENT
LOWTrue URL downloads/True URL downloads.user.js21// @grant GM_getValueCOMMENT
LOWPicviewer CE+/pvcep_pdf_addon.user.js1// ==UserScript==COMMENT
LOWPicviewer CE+/GM_config CN.js1// ==UserScript==COMMENT
LOWMouse Gestures/Mouse Gestures.user.js1// ==UserScript==COMMENT
LOWFlashViewer-HTML5 Video/flashViewer.user.js1// ==UserScript==COMMENT
LOWFlashViewer-HTML5 Video/flashViewer.user.js101 url: /^https?:\/\/(?:static|player)\.youku\.com\/.+/i,COMMENT
LOWMoreSteamRatings/MoreSteamRatings.user.js1// ==UserScript==COMMENT
LOWHighlight Every Code/Highlight Every Code.user.js1// ==UserScript==COMMENT
LOWX-Downloader/X-Downloader.user.js1// ==UserScript==COMMENT
LOWDownloadAllContent/DownloadAllContent.user.js1// ==UserScript==COMMENT
LOWDownloadAllContent/DownloadAllContent.user.js21// @grant GM_setClipboardCOMMENT
LOWDownloadAllContent/DownloadAllContentSavaAsZIP.user.js1// ==UserScript==COMMENT
LOWDisable AD of ThisAV/Disable AD of ThisAV.user.js1// ==UserScript==COMMENT
LOW…-pic-stealing-link/Anti-anti-pic-stealing-link.user.js1// ==UserScript==COMMENT
LOW…tch Traditional Chinese and Simplified Chinese.user.js1// ==UserScript==COMMENT
LOW…tch Traditional Chinese and Simplified Chinese.user.js21// @grant GM_deleteValueCOMMENT
LOWBingBgForBaidu/BingBgForBaidu.user.js1// ==UserScript==COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js1// ==UserScript==COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js21// @match *://www.google.ad/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js41// @match *://www.google.com.bn/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js61// @match *://www.google.com.cu/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js81// @match *://www.google.ge/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js101// @match *://www.google.is/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js121// @match *://www.google.lv/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js141// @match *://www.google.ne/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js161// @match *://www.google.ro/*COMMENT
LOWBingBgForBaidu/BingBgForGoogle.user.js181// @match *://www.google.co.th/*COMMENT
LOWKill Baidu AD/Kill Baidu AD.user.js1// ==UserScript==COMMENT
LOWSearchJumper/searchJumperPinyinAddon.lib.js1// ==UserScript==COMMENT
LOWSearchJumper/HideSaladict.user.js1// ==UserScript==COMMENT
LOWSearchJumper/searchJumperLevenshteinAddon.lib.js1// ==UserScript==COMMENT
LOWHacgGodTurn/HacgGodTurn.user.js1// ==UserScript==COMMENT
LOWHacgGodTurn/HacgGodTurn.user.js21// @include http*://okloli.*COMMENT
LOWHacgGodTurn/HacgGodTurn.user.js41// @include http*://*.hacg.*/wp/*COMMENT
LOWHacgGodTurn/HacgGodTurn.user.js61// @include http*://www.acg15.com/*COMMENT
LOWHacgGodTurn/HacgGodTurn.user.js81// @include http*://www.uraban.me/*COMMENT
LOWHacgGodTurn/HacgGodTurn.user.js101// @include http*://www.l-sj.cc/*COMMENT
LOWHacgGodTurn/HacgGodTurn.user.js121// @grant GM_setClipboardCOMMENT
LOW.github/workflows/main.yml21 # wget --no-cache -O "Pagetual/items_all.json" http://wedata.net/databases/AutoPagerize/items_all.jsonCOMMENT
LOWPagetual/pagetual.user.js1// ==UserScript==COMMENT
LOWPagetual/pagetual.user.js21// @name:fi PagetualCOMMENT
LOWPagetual/pagetual.user.js41// @description:ru Автоматическая подгрузка следующих страниц и вставка их содержимого в текущую страницу. ПоддерживCOMMENT
LOWPagetual/pagetual.user.js61// @description:uk Автоматичне отримання наступних веб-сторінок із розбивкою на сторінки та вставка на поточну сторіCOMMENT
LOWPagetual/pagetual.user.js81// @grant GM.registerMenuCommandCOMMENT
LOW…asyfork Search with Sleazyfork Results include.user.js1// ==UserScript==COMMENT
LOW…asyfork Search with Sleazyfork Results include.user.js21// @grant GM_notificationCOMMENT
LOWMessi/messi.user.js1// ==UserScript==COMMENT
LOWBilibili Bangumi Cover/Bilibili Bangumi Cover.user.js1// ==UserScript==COMMENT
LOWInvite Code Tool/Invite Code Tool.user.js1// ==UserScript==COMMENT
LOWSelect All Checkboxes/Select All Checkboxes.user.js1// ==UserScript==COMMENT
LOWKill TieBa AD/Kill TieBa AD.user.js1// ==UserScript==COMMENT
2 more matches not shown…
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALPagetual/pagetualRules.json6492 "pagePre": "let evalData=response.match(/\\*<!\\[CDATA\\[\\*\\/\\s+(window\\.[\\s\\S]*?)window\\.__PRELOADED_STATE_PCODE
Hyper-Verbose Identifiers4 hits · 4 pts
SeverityFileLineSnippetContext
LOWPagetual/pagetual.user.js4220 function extractCharsetFromContentType(contentType) {CODE
LOWPagetual/pagetual.user.js4225 function decodeArrayBufferByCharset(buffer, preferredCharset) {CODE
LOWPagetual/pagetual.user.js4268 function detectCharsetFromHtmlHead(buffer) {CODE
LOWPagetual/pagetual.user.js10701 function switchToWedataMirrorOnFail(rule) {CODE
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…tch Traditional Chinese and Simplified Chinese.user.js1003 let _placeholder = child.getAttribute('placeholder');CODE
LOW…tch Traditional Chinese and Simplified Chinese.user.js1007 child.setAttribute('placeholder', placeholder);CODE
LOW…tch Traditional Chinese and Simplified Chinese.user.js1778 testInput.setAttribute('placeholder', "輸入文字后,按下快速鍵");CODE
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…itch Traditional Chinese and Simplified Chinese/run.py33CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWPagetual/pagetual.user.js4500 async function getData(key) {CODE