AI Slop Code RIsk Monitor

blackboxo/CleanMyWechat

自动删除 Windows 和 Mac 电脑端微信缓存数据,包括从所有聊天中自动下载的大量文件、视频、图片等数据内容,解放你的空间。

21.5 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for blackboxo/CleanMyWechat, a Python project with 5,580 GitHub stars. SynthScan examined 5,976 lines of code across 12 source files, recording 105 pattern matches distributed across 5 syntactic categories. The legacy adjusted pattern signal is 21.5 (Elevated 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.

21.5
Adjusted Signal
21.5
Raw Pattern Score
100%
Time Factor
2026-08-28
Last Push
5.6K
Stars
Python
Language
6.0K
Lines of Code
12
Files
105
Pattern Hits
2026-10-12
Scan Date
0.75
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 14.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 9.2/100 · LOW

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

Agent Over-Engineering Ratio 59.2/100 · HIGH

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

PR Review Velocity Impact 77.5/100 · CRITICAL

Which changes need focused human review? 105 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 9MEDIUM 14LOW 82

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 105 distinct pattern matches across 5 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 Wrapping53 hits · 53 pts
SeverityFileLineSnippetContext
MEDIUMmain.py198def load_json(path, default_value):CODE
MEDIUMmain.py213def format_size(size):CODE
MEDIUMmain.py325def merge_detected_accounts(config):CODE
MEDIUMmain.py382def safe_file_size(path):CODE
MEDIUMmain.py390def is_sub_path(path, root):CODE
MEDIUMmain.py467def mouseMoveEvent(self, QMouseEvent):CODE
MEDIUMmain.py515def center_on_screen(self):CODE
MEDIUMmain.py1131def add_file_if_match(self, file_path, now, day, category, file_list, file_set, CODE
MEDIUMmain.py1887def finish_smart_detect_wechat_path(self, show_config_on_fail=False):CODE
MEDIUMmain.py1913def check_auto_clean_after_start(self):CODE
LOW⚡main.py30 except Exception:CODE
LOW⚡main.py40 except Exception:CODE
LOW⚡main.py49 except Exception:CODE
LOWmain.py203 except Exception as e:CODE
LOWmain.py216 except Exception:CODE
LOWmain.py272 except Exception:CODE
LOWmain.py320 except Exception:CODE
LOWmain.py344 except Exception:CODE
LOWmain.py385 except Exception:CODE
LOWmain.py395 except Exception:CODE
LOWmain.py444 except Exception:CODE
LOWmain.py472 except Exception:CODE
LOWmain.py496 except Exception:CODE
LOWmain.py519 except Exception:CODE
LOWmain.py817 except Exception as e:STRING
LOWmain.py828 except Exception as e:STRING
LOWmain.py834 except Exception as e:STRING
LOWmain.py1165 except Exception:STRING
LOWmain.py1183 except Exception:STRING
LOWmain.py1222 except Exception:STRING
LOWmain.py1272 except Exception:STRING
LOWmain.py1274 except Exception:STRING
LOWmain.py1301 except Exception:STRING
LOWmain.py1583 except Exception:STRING
LOWmain.py1782 except Exception:STRING
LOWmain.py1789 except Exception:STRING
LOWmain.py1890 except Exception:STRING
LOWmain.py1907 except Exception:STRING
LOWmain.py1924 except Exception:STRING
LOW⚡utils/deleteThread.py47 except Exception:CODE
LOW⚡utils/deleteThread.py57 except Exception:CODE
LOW⚡utils/deleteThread.py64 except Exception as e:CODE
LOWutils/selectVersion.py30 except Exception:CODE
LOWutils/selectVersion.py75 except Exception:CODE
LOWutils/selectVersion.py87 except Exception:CODE
LOWutils/selectVersion.py114 except Exception as e:CODE
MEDIUMutils/selectVersion.py115 print("Error occurred:", str(e))CODE
MEDIUMutils/selectVersion.py80def check_dir(file_path):CODE
LOWutils/scanThread.py103 except Exception as e:CODE
MEDIUMutils/scanThread.py104 print(f"Error processing file {file_path}: {e}")CODE
LOWutils/scanThread.py184 except Exception as e:CODE
MEDIUMutils/scanThread.py31def get_file_size(self, path):CODE
LOWutils/multiDeleteThread.py46 except Exception:CODE
Empty Error Handlers9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHmain.py49except Exception:CODE
HIGHmain.py40except Exception:CODE
HIGHmain.py496except Exception:CODE
HIGHmain.py519except Exception:CODE
HIGHmain.py1222except Exception:CODE
HIGHmain.py441except FileNotFoundError:CODE
HIGHutils/selectVersion.py75except Exception:CODE
HIGHutils/scanThread.py45except:CODE
HIGHutils/scanThread.py42except:CODE
Unused Imports19 hits · 12 pts
SeverityFileLineSnippetContext
LOWmain.py55CODE
LOWmain.py55CODE
LOWmain.py55CODE
LOWmain.py55CODE
LOWmain.py58CODE
LOWmain.py58CODE
LOWmain.py58CODE
LOWmain.py59CODE
LOWmain.py62CODE
LOWmain.py63CODE
LOWmain.py64CODE
LOWmain.py64CODE
LOWmain.py64CODE
LOWmain.py66CODE
LOWmain.py68CODE
LOWutils/deleteThread.py1CODE
LOWutils/deleteThread.py1CODE
LOWutils/deleteThread.py1CODE
LOWutils/deleteThread.py2CODE
Deep Nesting14 hits · 10 pts
SeverityFileLineSnippetContext
LOWmain.py258CODE
LOWmain.py277CODE
LOWmain.py325CODE
LOWmain.py583CODE
LOWmain.py808CODE
LOWmain.py1226CODE
LOWmain.py1469CODE
LOWmain.py1552CODE
LOWutils/selectVersion.py47CODE
LOWutils/selectVersion.py156CODE
LOWutils/selectVersion.py180CODE
LOWutils/scanThread.py31CODE
LOWutils/scanThread.py77CODE
LOWutils/scanThread.py107CODE
Hyper-Verbose Identifiers10 hits · 9 pts
SeverityFileLineSnippetContext
LOW⚡main.py21def install_early_crash_logging():CODE
LOWmain.py675 def apply_global_config_to_ui(self, global_config):STRING
LOWmain.py1531 def parse_preview_detail_line(self, line):STRING
LOWmain.py1887 def finish_smart_detect_wechat_path(self, show_config_on_fail=False):STRING
LOWmain.py1913 def check_auto_clean_after_start(self):STRING
LOW⚡tests/test_select_version_macos.py22 def test_detects_macos_xwechat_account_root(self):CODE
LOW⚡tests/test_select_version_macos.py32 def test_detects_macos_wxwork_users_root(self):CODE
LOW⚡tests/test_select_version_macos.py42 def test_find_all_wechat_paths_includes_macos_candidates(self):CODE
LOWutils/selectVersion.py21def is_wechat_like_account_dir(file_path):CODE
LOWutils/selectVersion.py156def request_macos_private_data_access():CODE