AI Slop Code Risk Monitor

kimwang1978/collect-txt

SlopCodeMonitor badge for kimwang1978/collect-txt Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

源 (自动整理)

0.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for kimwang1978/collect-txt, a Python project with 1,965 GitHub stars. SynthScan examined 317,055 lines of code across 221 source files, recording 138 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 0.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.

0.6
Adjusted Signal
0.6
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
2.0K
Stars
Python
Language
317.1K
Lines of Code
221
Files
138
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 0.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 2.0/100 · LOW

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

PR Review Velocity Impact 3.5/100 · LOW

Which changes need focused human review? 138 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 41LOW 96

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

Excessive Try-Catch Wrapping75 hits · 115 pts
SeverityFileLineSnippetContext
LOWfilter.py22 except Exception as e:CODE
MEDIUMfilter.py23 print(f"An error occurred: {e}")CODE
LOWfilter.py61 except Exception as e:CODE
MEDIUMfilter.py62 print(f"Error checking url: {e},{url}")CODE
MEDIUMfilter.py99# print(f"Error getting resolution: {e},{url}")COMMENT
LOWfilter.py141except Exception as e:CODE
MEDIUMfilter.py13def read_txt_to_array(file_name):CODE
MEDIUMmain.py36 print(f"An error occurred: {e}")CODE
MEDIUMmain.py26def read_txt_to_array(file_name):CODE
MEDIUMmain.py491def process_url(url):CODE
MEDIUMmain.py1194def make_m3u(txt_file, m3u_file):CODE
LOWmain.py35 except Exception as e:CODE
LOWmain.py536 except Exception as e:CODE
LOWmain.py734 except Exception as e:CODE
LOWmain.py1145except Exception as e:STRING
LOWmain.py1240 except Exception as e:STRING
LOWassets/m3u_to_txt.py68except Exception as e:CODE
LOWassets/snapshot/snapshot.py16 except Exception as e:CODE
MEDIUMassets/snapshot/snapshot.py17 print(f"An error occurred: {e}")CODE
LOWassets/snapshot/snapshot.py64 except Exception as e:CODE
MEDIUMassets/snapshot/snapshot.py7def read_txt_to_array(file_name):CODE
LOWassets/freetv/freetv.py44 except Exception as e:CODE
MEDIUMassets/freetv/freetv.py45 print(f"An error occurred: {e}")CODE
LOWassets/freetv/freetv.py83 except Exception as e:CODE
LOWassets/freetv/freetv.py127except Exception as e:CODE
LOWassets/freetv/freetv.py181except Exception as e:CODE
MEDIUMassets/freetv/freetv.py35def read_txt_to_array(file_name):CODE
MEDIUMassets/freetv/freetv.py57def process_url(url):CODE
LOWassets/blacklist2/blacklist2.py38 except Exception as e:CODE
LOWassets/blacklist2/blacklist2.py98 except Exception as e:CODE
MEDIUMassets/blacklist2/blacklist2.py99 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist2/blacklist2.py112 except Exception as e:CODE
MEDIUMassets/blacklist2/blacklist2.py113 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist2/blacklist2.py159 except Exception as e:CODE
MEDIUMassets/blacklist2/blacklist2.py160 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist2/blacklist2.py187 except Exception as e:CODE
MEDIUMassets/blacklist2/blacklist2.py188 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist2/blacklist2.py297 except Exception as e:CODE
MEDIUMassets/blacklist2/blacklist2.py105def check_rtmp_url(url, timeout):CODE
MEDIUMassets/blacklist2/blacklist2.py116def check_rtp_url(url, timeout):CODE
MEDIUMassets/blacklist2/blacklist2.py163def check_p2p_url(url, timeout):CODE
MEDIUMassets/blacklist2/blacklist2.py268def process_url(url):CODE
LOWassets/special/special.py16 except Exception as e:CODE
MEDIUMassets/special/special.py17 print(f"An error occurred: {e}")CODE
LOWassets/special/special.py73 except Exception as e:CODE
LOWassets/special/special.py105except Exception as e:CODE
MEDIUMassets/special/special.py7def read_txt_to_array(file_name):CODE
MEDIUMassets/special/special.py42def process_url(url):CODE
LOWassets/blacklist1/blacklist-test.py72 except Exception as e:CODE
MEDIUMassets/blacklist1/blacklist-test.py73 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist1/blacklist-test.py86 except Exception as e:CODE
MEDIUMassets/blacklist1/blacklist-test.py87 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist1/blacklist-test.py133 except Exception as e:CODE
MEDIUMassets/blacklist1/blacklist-test.py134 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist1/blacklist-test.py161 except Exception as e:CODE
MEDIUMassets/blacklist1/blacklist-test.py162 print(f"Error checking {url}: {e}")CODE
LOWassets/blacklist1/blacklist-test.py264 except Exception as e:CODE
MEDIUMassets/blacklist1/blacklist-test.py79def check_rtmp_url(url, timeout): CODE
MEDIUMassets/blacklist1/blacklist-test.py90def check_rtp_url(url, timeout):CODE
MEDIUMassets/blacklist1/blacklist-test.py137def check_p2p_url(url, timeout):CODE
15 more matches not shown…
Deep Nesting20 hits · 20 pts
SeverityFileLineSnippetContext
LOWfilter.py38CODE
LOWmain.py70CODE
LOWmain.py354CODE
LOWmain.py491CODE
LOWmain.py1194CODE
LOWassets/txt_to_m3u.py3CODE
LOWassets/freetv/freetv.py57CODE
LOWassets/blacklist2/blacklist2.py65CODE
LOWassets/blacklist2/blacklist2.py206CODE
LOWassets/blacklist2/blacklist2.py268CODE
LOWassets/blacklist2/blacklist2.py332CODE
LOWassets/special/special.py42CODE
LOWassets/blacklist1/blacklist-test.py46CODE
LOWassets/blacklist1/blacklist-test.py180CODE
LOWassets/blacklist1/blacklist-test.py241CODE
LOWassets/blacklist1/blacklist-test.py299CODE
LOWassets/blacklist1/blacklist1.py27CODE
LOWassets/blacklist1/blacklist1.py172CODE
LOWassets/blacklist1/blacklist1.py234CODE
LOWassets/blacklist1/blacklist1.py290CODE
Over-Commented Block16 hits · 16 pts
SeverityFileLineSnippetContext
LOWfilter.py81 cap.release()COMMENT
LOWmain.py1121 # with open(output_file_simple, 'w', encoding='utf-8') as f:COMMENT
LOWmain.py1161 if name == channel_name:COMMENT
LOWmain.py1181# if logo_url is None: #not found logoCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1461济宁综合,http://lives.jnnews.tv/video/s10001-JNTV-1/index.m3u8?shanddCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1481#广饶科教文艺,http://8.137.59.151:3000/shandong/qilu.php?id=dygrkjCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1501#安丘综合,http://8.137.59.151:3000/shandong/qilu.php?id=wfaqzhCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1521#海阳综合,http://8.137.59.151:3000/shandong/qilu.php?id=ythyzhCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1541#临淄新闻综合,http://8.137.59.151:3000/shandong/qilu.php?id=zblzxwCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1561#惠民综合,http://8.137.59.151:3000/shandong/qilu.php?id=bzhmzhCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1581#庆云生活,http://8.137.59.151:3000/shandong/qilu.php?id=dzqyshCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1601#嘉祥综合,http://8.137.59.151:3000/shandong/qilu.php?id=jijiazhCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1621#茌平综合,http://8.137.59.151:3000/shandong/qilu.php?id=lccpzhCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1641#河东综合,http://8.137.59.151:3000/shandong/qilu.php?id=lyhdzhCOMMENT
LOW…s/snapshot/2024-11-09(M)/20241109093830_live202405.txt1661#莒县综合,http://8.137.59.151:3000/shandong/qilu.php?id=rzjx1COMMENT
LOWassets/fofa/fofa.py61# time.sleep(random.uniform(1, 5)) # 延迟 1 到 5 秒之间的随机时间COMMENT
Unused Imports16 hits · 16 pts
SeverityFileLineSnippetContext
LOWfilter.py5CODE
LOWassets/snapshot/snapshot.py3CODE
LOWassets/iptv-org/iptv-org.py2CODE
LOWassets/iptv-org/iptv-org.py3CODE
LOWassets/iptv-org/iptv-org.py4CODE
LOWassets/iptv-org/iptv-org.py5CODE
LOWassets/iptv-org/iptv-org.py6CODE
LOWassets/iptv-org/iptv-org.py6CODE
LOWassets/iptv-org/iptv-org.py6CODE
LOWassets/freetv/freetv.py2CODE
LOWassets/freetv/freetv.py3CODE
LOWassets/freetv/freetv.py4CODE
LOWassets/special/special.py2CODE
LOWassets/special/special.py3CODE
LOWassets/special/special.py3CODE
LOWassets/special/special.py3CODE
Hyper-Verbose Identifiers9 hits · 9 pts
SeverityFileLineSnippetContext
LOWmain.py14def traditional_to_simplified(text: str) -> str:CODE
LOWmain.py70def load_active_failure_blacklist():CODE
LOWmain.py126def load_active_host_blacklist():CODE
LOWmain.py328def normalize_failure_cache_url(url):CODE
LOWtools/stream-check-state.js143function seedHostHistoryFromFailureCache(state) {CODE
LOWassets/m3u_to_txt.py7def traditional_to_simplified(text: str) -> str:CODE
LOWassets/blacklist2/blacklist2.py206def process_urls_multithreaded(lines, max_workers=10):CODE
LOWassets/blacklist1/blacklist-test.py180def process_urls_multithreaded(lines, max_workers=18):CODE
LOWassets/blacklist1/blacklist1.py172def process_urls_multithreaded(lines, max_workers=30):CODE
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHmain.py809 function gtag(){dataLayer.push(arguments);}CODE
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMassets/fofa/fofa.py55# --------------------------------------COMMENT