AI Slop Code Risk Monitor

mack-a/v2ray-agent

SlopCodeMonitor badge for mack-a/v2ray-agent Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Xray、Tuic、hysteria2、sing-box 八合一一键脚本

8.3 Moderate pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for mack-a/v2ray-agent, a Shell project with 22,258 GitHub stars. SynthScan examined 32,338 lines of code across 26 source files, recording 135 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 8.3 (Moderate 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.

8.3
Adjusted Signal
8.3
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
22.3K
Stars
Shell
Language
32.3K
Lines of Code
26
Files
135
Pattern Hits
2026-10-31
Scan Date
0.31
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.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 4.9/100 · LOW

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

Agent Over-Engineering Ratio 26.9/100 · MEDIUM

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

PR Review Velocity Impact 37.8/100 · MEDIUM

Which changes need focused human review? 135 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 8MEDIUM 66LOW 61

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

Decorative Section Separators64 hits · 176 pts
SeverityFileLineSnippetContext
MEDIUMinstall.sh3# -------------------------------------------------------------COMMENT
MEDIUMinstall.sh1317# -------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality.sh51# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality.sh53# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality.sh56# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality.sh58# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh6# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh8# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh32# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh34# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh128# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh130# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh578# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh580# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh644# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh646# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh759# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh761# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh827# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh829# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh913# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh916# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh948# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh950# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh1989# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh1993# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh2053# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh2057# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh2100# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh2103# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh2432# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality.sh2434# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/install_en.sh2# -------------------------------------------------------------COMMENT
MEDIUMshell/install_en.sh1318# -------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality_en.sh51# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality_en.sh53# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality_en.sh56# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality_en.sh58# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality_en.sh2082# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡shell/docker_reality_en.sh2085# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh6# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh8# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh32# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh34# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh128# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh130# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh576# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh578# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh643# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh645# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh758# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh760# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh826# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh828# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh912# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh915# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh947# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh949# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh1971# ---------------------------------------------------------------------------COMMENT
MEDIUMshell/docker_reality_en.sh1975# ---------------------------------------------------------------------------COMMENT
4 more matches not shown…
Cross-Language Confusion8 hits · 32 pts
SeverityFileLineSnippetContext
HIGHchecks/socks5_standalone_test.py228 kill -0 "$pid" 2>/dev/null || return 1CODE
HIGHchecks/socks5_standalone_test.py309commitSocks5Inbound install {port} changed '["192.0.2.1/32"]' ipv4_only '*' 127.0.0.1 && exit 70CODE
HIGHchecks/socks5_standalone_test.py310socks5SingBoxService status && socks5SingBoxService enabledCODE
HIGH⚡checks/socks5_standalone_test.py285generateSocks5InboundConfig "$fixture/sing-box/conf/config" {free_port()} pass '["127.0.0.1/32"]' ipv4_only {shlex.quoteSTRING
HIGH⚡checks/socks5_standalone_test.py286singBoxMergeConfig || exit 2STRING
HIGH⚡checks/socks5_standalone_test.py287singBoxMergeConfig || exit 3STRING
HIGH⚡checks/socks5_standalone_test.py326 self.invoke(code, f'''commitSocks5Inbound install {free_port()} pass '["127.0.0.1/32"]' ipv4_only '*' 12STRING
HIGHchecks/socks5_standalone_test.py347 self.invoke(code, f'''commitSocks5Inbound install {free_port()} pass '["127.0.0.1/32"]' ipv4_only '*STRING
Hyper-Verbose Identifiers31 hits · 25 pts
SeverityFileLineSnippetContext
LOWchecks/test_socks5_outbound.py185 def test_dynamic_tags_use_contents_and_separate_cores(self):CODE
LOWchecks/test_socks5_outbound.py196 def test_compilers_expand_or_and_keep_tags_and_credentials(self):CODE
LOWchecks/test_socks5_outbound.py211 def test_shadowing_and_dangling_references_rejected(self):CODE
LOWchecks/test_socks5_outbound.py222 def test_english_engine_has_same_logic(self):CODE
LOWchecks/test_socks5_outbound.py229 def test_rule_set_inputs_and_legacy_singbox_syntax(self):CODE
LOWchecks/test_socks5_outbound.py247 def test_real_core_stage_and_default_order(self):CODE
LOWchecks/test_socks5_outbound.py263 def test_global_default_is_explicit_and_can_be_cleared(self):CODE
LOWchecks/test_socks5_outbound.py279 def test_core_validation_failure_does_not_publish(self):CODE
LOWchecks/test_socks5_outbound.py292 def test_uninstall_preserves_foreign_config(self):CODE
LOWchecks/test_socks5_outbound.py305 def test_pure_core_transactions_and_referenced_node_toggle(self):CODE
LOWchecks/test_socks5_outbound.py318 def test_xray_custom_blackhole_tag_precedes_selected_all(self):CODE
LOWchecks/test_socks5_outbound.py395 def test_transaction_rollback_after_second_core_reload_failure(self):CODE
LOWchecks/test_socks5_outbound.py406 def test_guard_preserved_with_injected_intersection(self):CODE
LOWchecks/test_socks5_outbound.py423 def test_inbound_edit_normalizes_with_candidate_guard(self):CODE
LOWchecks/test_socks5_outbound.py441 def test_migration_preserves_raw_rules_and_tags(self):CODE
LOWchecks/test_socks5_outbound.py455 def test_real_traffic_all_match_target_only_and_default(self):CODE
LOWchecks/socks5_standalone_test.py49 def test_sources_reject_bad_addresses(self):CODE
LOWchecks/socks5_standalone_test.py61 def test_existing_binary_never_queries_or_downloads(self):CODE
LOWchecks/socks5_standalone_test.py76 def test_empty_and_mixed_detection_and_readers(self):CODE
LOWchecks/socks5_standalone_test.py104 def test_fresh_menu_reaches_inbound_without_touching_outbound(self):CODE
LOWchecks/socks5_standalone_test.py110 def test_service_registration_defers_enabling_on_both_managers(self):CODE
LOWchecks/socks5_standalone_test.py392 def test_tcp_auth_source_domain_guard_and_other_inbound(self):CODE
LOW⚡checks/socks5_standalone_test.py294 def test_transactions_restore_exact_config_and_service_state(self):STRING
LOW⚡checks/socks5_standalone_test.py321 def test_first_install_failure_leaves_no_service_or_configuration(self):STRING
LOW⚡checks/socks5_standalone_test.py333 def test_invalid_candidate_does_not_stop_running_service(self):STRING
LOWchecks/socks5_standalone_test.py136 def test_service_start_only_calls_the_selected_service_manager(self):STRING
LOWchecks/socks5_standalone_test.py151 def test_uninstall_all_does_not_restart_an_empty_core(self):STRING
LOWchecks/socks5_standalone_test.py174 def test_firewall_ownership_and_failure(self):STRING
LOWchecks/socks5_standalone_test.py192 def test_cancel_and_invalid_input_do_not_publish_or_open_ports(self):STRING
LOWchecks/socks5_standalone_test.py270 def test_standalone_regular_merge_reuses_dns_and_http_client(self):STRING
LOWchecks/socks5_standalone_test.py354 def test_remote_rule_set_configuration_with_real_core(self):STRING
Over-Commented Block16 hits · 16 pts
SeverityFileLineSnippetContext
LOWinstall.sh141COMMENT
LOWinstall.sh1501 fiCOMMENT
LOWinstall.sh3961COMMENT
LOWinstall.sh4481# echoContent red " ---> Trojan暂不支持 xtls-rprx-vision"COMMENT
LOWinstall.sh4501# echoContent yellow "如果前置是Trojan,查看账号时则会出现两个Trojan协议的节点,有一个不可用xtls"COMMENT
LOWinstall.sh4521# elif [[ "${xtlsType}" == "VLESS" ]]; thenCOMMENT
LOWinstall.sh4841 # "protocol": "vless",COMMENT
LOWinstall.sh5001 # "tag": "VLESSRealityGRPC",COMMENT
LOWshell/install_en.sh141 totalProgress=1COMMENT
LOWshell/install_en.sh1501 exit 0COMMENT
LOWshell/install_en.sh3941COMMENT
LOWshell/install_en.sh4461# menuCOMMENT
LOWshell/install_en.sh4481# VLESSConfig=$(cat ${configPath}${frontingType}.json)COMMENT
LOWshell/install_en.sh4501# rm ${configPath}02_trojan_TCP_inbounds.jsonCOMMENT
LOWshell/install_en.sh4821 # "listen": "127.0.0.1",COMMENT
LOWshell/install_en.sh4981 # "listen": "127.0.0.1",COMMENT
Deep Nesting8 hits · 8 pts
SeverityFileLineSnippetContext
LOWchecks/test_socks5_outbound.py45CODE
LOWchecks/test_socks5_outbound.py329CODE
LOWchecks/test_socks5_outbound.py455CODE
LOWchecks/socks5_standalone_test.py110CODE
LOWchecks/socks5_standalone_test.py294CODE
LOWchecks/socks5_standalone_test.py372CODE
LOWchecks/socks5_standalone_test.py392CODE
LOWchecks/socks5_standalone_test.py431CODE
Self-Referential Comments2 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMshell/install_en.sh125#Initialize global variablesCOMMENT
MEDIUM⚡shell/docker_reality_en.sh2093 # Create the data directory; exit cleanly if the path cannot be createdCOMMENT
Excessive Try-Catch Wrapping4 hits · 2 pts
SeverityFileLineSnippetContext
LOWshell/docker_reality.sh1228except Exception:CODE
LOWshell/docker_reality.sh1408except Exception:CODE
LOWshell/docker_reality_en.sh1230except Exception:CODE
LOWshell/docker_reality_en.sh1399except Exception:CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWshell/install_en.sh6470# Check if 302 is successfulCOMMENT
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
LOWshell/install_en.sh11309 echoContent red "# You need to manually enter the md5 encrypted salt value. If you don't know, just use random"CODE