AI Slop Code Risk Monitor

kejilion/sh

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

KEJILION.SH 一款全功能的Linux管理脚本!An all-in-one Linux management script!

5.9 Moderate pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for kejilion/sh, a Shell project with 3,511 GitHub stars. SynthScan examined 45,675 lines of code across 116 source files, recording 228 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 5.9 (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.

5.9
Adjusted Signal
5.9
Raw Pattern Score
100%
Time Factor
2026-11-01
Last Push
3.5K
Stars
Shell
Language
45.7K
Lines of Code
116
Files
228
Pattern Hits
2026-10-31
Scan Date
0.11
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 15.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.5/100 · LOW

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

Agent Over-Engineering Ratio 20.6/100 · LOW

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

PR Review Velocity Impact 29.6/100 · MEDIUM

Which changes need focused human review? 228 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 13MEDIUM 14LOW 201

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

Hyper-Verbose Identifiers169 hits · 131 pts
SeverityFileLineSnippetContext
LOWtranslate.py23def process_content_with_vars(content, target_lang):CODE
LOWir/to-fa.py18def translate_line_preserving_variables(line):CODE
LOWtests/test_kpanel_app_parallel.py41 def test_atomic_marker_add_remove(self):CODE
LOW⚡tests/test_kpanel_app_parallel.py53 def test_excludes_concurrent_system_writes(self):CODE
LOW⚡tests/test_kpanel_app_parallel.py58 def test_nested_lock_keeps_shell_state_and_does_not_export_guard(self):CODE
LOW⚡tests/test_kpanel_app_parallel.py63 def test_inherited_background_fd_does_not_hold_lock(self):CODE
LOW⚡tests/test_kpanel_app_parallel.py67 def test_lock_failure_stops_caller(self):CODE
LOW⚡tests/test_kpanel_app_parallel.py72 def test_callback_failure_releases_lock(self):CODE
LOW⚡tests/test_kpanel_app_parallel.py77 def test_config_snapshot_keeps_input_exit_code_and_releases_catalog_lock(self):CODE
LOWtests/test_kpanel_app_parallel.py92 def test_unsafe_lock_and_marker_paths_are_rejected(self):CODE
LOWtests/test_kpanel_light_node_update.py201 def test_inherited_installer_lock_spans_child_update_and_home_removal(self):STRING
LOWtests/test_kpanel_light_node_update.py236 def test_real_join_control_flow_excludes_join_update_and_uninstall_until_activation(self):STRING
LOWtests/test_kpanel_light_node_update.py311 def test_updates_reject_downgrades_and_invalid_version_identities(self):STRING
LOWtests/test_kpanel_light_node_update.py329 def test_version_order_preserves_upgrade_and_same_version_repair(self):STRING
LOWtests/test_kpanel_light_node_update.py345 def test_quiet_mode_suppresses_progress_but_preserves_errors(self):STRING
LOWtests/test_kpanel_light_node_update.py359 def test_upgrade_optional_failure_does_not_rollback_and_delayed_exec_is_accepted(self):STRING
LOWtests/test_kpanel_light_node_update.py370 def test_openrc_update_restarts_current_binary_and_repairs_file_service(self):STRING
LOWtests/test_kpanel_light_node_update.py422 def test_procd_update_repairs_service_and_keeps_backend(self):STRING
LOWtests/test_kpanel_light_node_update.py440 def test_procd_failed_core_rolls_back_but_optional_failure_is_degraded(self):STRING
LOWtests/test_kpanel_light_node_update.py464 def test_procd_running_false_is_not_treated_as_healthy_pid(self):STRING
LOWtests/test_kpanel_light_node_update.py473 def test_procd_cron_preserves_unrelated_jobs_and_rejects_symlinks(self):STRING
LOWtests/test_kpanel_light_node_update.py496 def test_monitoring_relay_cleanup_preserves_unknown_entries_and_symlinks(self):STRING
LOWtests/test_kpanel_light_node_update.py516 def test_failed_core_rolls_back_and_restart_failure_cannot_be_masked(self):STRING
LOWtests/test_kpanel_light_node_update.py525 def test_update_status_is_private_bounded_and_tracks_checks(self):STRING
LOWtests/test_kpanel_light_node_update.py544 def test_update_status_rejects_symlink_without_overwriting_target(self):STRING
LOWtests/test_kpanel_light_node_update.py552 def test_running_status_survives_kill_and_next_check_recovers(self):STRING
LOWtests/test_kpanel_light_node_update.py578 def test_current_file_with_old_process_recovers_without_binary_download(self):STRING
LOWtests/test_kpanel_light_node_update.py589 def test_legacy_config_permissions_recover_for_real_service_uid(self):STRING
LOWtests/test_kpanel_light_node_update.py597 def test_known_legacy_file_unit_is_repaired_and_current_broker_restarts(self):STRING
LOWtests/test_kpanel_light_node_update.py610 def test_custom_and_symlink_file_units_are_preserved(self):STRING
LOWtests/test_kpanel_light_node_update.py624 def test_original_historical_file_unit_migrates_but_custom_variant_is_preserved(self):STRING
LOWtests/test_kpanel_light_node_update.py641 def test_bad_checksum_and_network_failure_preserve_binary_then_retry_recovers(self):STRING
LOWtests/test_kpanel_light_node_update.py653 def test_sigkill_releases_lock_and_legacy_handoff_blocks_only_live_process(self):STRING
LOWtests/test_kpanel_light_node_update.py670 def test_orphaned_empty_lock_recovers_on_install_and_network_failure_releases_it(self):STRING
LOWtests/test_kpanel_light_node_update.py682 def test_live_legacy_script_without_marker_is_preserved_even_after_replacement(self):STRING
LOWtests/test_kpanel_light_node_update.py703 def test_unknown_lock_contents_and_symlinks_are_never_removed(self):STRING
LOWtests/test_kpanel_light_node_update.py718 def test_invalid_legacy_identity_has_an_explicit_error(self):STRING
LOWtests/test_kpanel_light_node_update.py724 def test_update_bridges_legacy_lock_and_recovers_after_sigkill(self):STRING
LOWtests/test_kpanel_light_node_update.py743 def test_missing_or_untrusted_release_redirect_fails_visibly_before_binary_download(self):STRING
LOWtests/test_kpanel_light_node_update.py755 def test_interrupt_reports_retry_and_releases_compatibility_lock(self):STRING
LOWtests/test_kpanel_light_node_update.py774 def test_delivery_proxy_rewriting_keeps_release_origin_and_download_errors_are_visible(self):STRING
LOWtests/test_kpanel_light_node_update.py789 def test_unreachable_github_installs_through_the_mirror(self):STRING
LOWtests/test_kpanel_light_node_update.py800 def test_unreachable_release_cdn_keeps_the_manifest_release_through_the_mirror(self):STRING
LOWtests/test_kpanel_light_node_update.py811 def test_mirror_downloads_are_still_verified_and_failures_name_both_sources(self):STRING
LOWtests/test_kpanel_light_node_update.py828 def test_github_redirect_is_still_required_when_github_answers(self):STRING
LOWtests/test_kpanel_light_node_update.py835 def test_unsafe_config_is_rejected_without_widening_permissions(self):STRING
LOWtests/test_stats_json.py47 def test_escape_round_trips_quotes_backslashes_unicode_and_all_control_characters(self):STRING
LOWtests/test_stats_json.py53 def test_payload_is_valid_and_network_requests_have_deadlines(self):STRING
LOW⚡tests/test_stats_json.py65 def test_non_country_provider_response_cannot_inject_into_json(self):STRING
LOW⚡tests/test_stats_json.py70 def test_rapid_repeated_calls_send_only_one_request(self):STRING
LOW⚡tests/test_stats_json.py75 def test_disabled_telemetry_never_calls_network(self):STRING
LOWtests/test_web_backup_template.py51 def test_success_keeps_business_data_and_only_prunes_completed_web_backups(self):CODE
LOWtests/test_web_backup_template.py67 def test_transfer_failure_preserves_all_restore_points(self):CODE
LOWtests/test_web_backup_template.py74 def test_archive_failure_never_publishes_or_prunes(self):CODE
LOWtests/test_nginx_config_update_live.py16 def test_real_preflight_switch_and_old_image_recovery(self):CODE
LOW⚡tests/test_nginx_config_update.py38 def test_added_root_include_precedes_events_and_disabled_values_stay_disabled(self):CODE
LOW⚡tests/test_nginx_config_update.py47 def test_repeated_or_ambiguous_directives_are_preserved(self):CODE
LOW⚡tests/test_nginx_config_update.py54 def test_feature_switches_and_performance_mode_are_not_reset_by_new_defaults(self):CODE
LOW⚡tests/test_nginx_config_update.py60 def test_malformed_configuration_is_rejected(self):CODE
LOW⚡tests/test_nginx_config_update.py65 def test_real_upstream_templates_have_verified_hashes(self):CODE
109 more matches not shown…
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHir/to-fa.py0translate only chinese parts in echo/read/send_stats commands, excluding shell variablesSTRING
HIGHru/to-ru.py0translate only chinese parts in echo/read/send_stats commands, excluding shell variablesSTRING
HIGHtw/to-tw.py0translate only chinese parts in echo/read/send_stats commands, excluding shell variablesSTRING
HIGHkr/to-kr.py0translate only chinese parts in echo/read/send_stats commands, excluding shell variablesSTRING
HIGHjp/to-jp.py0translate only chinese parts in echo/read/send_stats commands, excluding shell variablesSTRING
HIGHen/to-en.py0translate only chinese parts in echo/read/send_stats commands, excluding shell variablesSTRING
Cross-Language Confusion5 hits · 29 pts
SeverityFileLineSnippetContext
HIGH⚡tests/test_kpanel_app_parallel.py61 'test "$value" = changed && test -z "$KJ_APP_LOCKS_HELD"')CODE
HIGH⚡tests/test_kpanel_app_parallel.py80 'flock -n "$(dirname "$1")/locks/catalog.lock" true || return 45\n'CODE
HIGHtests/test_nginx_config_update.py809nginx_update_transaction nginx || exit 91CODE
HIGH⚡tests/test_kpanel_light_node_dependencies.py302 self.assertIn('kpanel_node_ensure_dependencies || return 1', JOIN)STRING
HIGHtests/openclaw/test_api_secretrefs.py323 if (!value.source || path !== 'models.providers.demo.apiKey') throw Error('bad ref');CODE
Excessive Try-Catch Wrapping18 hits · 24 pts
SeverityFileLineSnippetContext
LOWhermes_manager.sh244 except Exception:CODE
LOWhermes_manager.sh265except Exception as e:CODE
LOWhermes_manager.sh354except Exception as e:CODE
LOWhermes_manager.sh915except Exception:CODE
LOWtranslate.py19 except Exception as e:CODE
LOWir/to-fa.py14 except Exception as e:CODE
MEDIUMir/to-fa.py11def translate_text(text):CODE
LOWru/to-ru.py14 except Exception as e:CODE
MEDIUMru/to-ru.py11def translate_text(text):CODE
LOWtw/to-tw.py14 except Exception as e:CODE
MEDIUMtw/to-tw.py11def translate_text(text):CODE
LOWkr/to-kr.py14 except Exception as e:CODE
MEDIUMkr/to-kr.py11def translate_text(text):CODE
LOW.github/workflows/translate.yml56 except Exception as e:CODE
LOWjp/to-jp.py14 except Exception as e:CODE
MEDIUMjp/to-jp.py11def translate_text(text):CODE
LOWen/to-en.py14 except Exception as e:CODE
MEDIUMen/to-en.py11def translate_text(text):CODE
Decorative Section Separators5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMnetwork-optimize.sh2# ============================================================================COMMENT
MEDIUMnetwork-optimize.sh6# ============================================================================COMMENT
MEDIUMnetwork-optimize.sh350# ============================================================================COMMENT
MEDIUMnetwork-optimize.sh356# ============================================================================COMMENT
MEDIUMnetwork-optimize.sh591# ========================COMMENT
Deep Nesting11 hits · 10 pts
SeverityFileLineSnippetContext
LOWir/to-fa.py38CODE
LOWtests/test_nginx_config_update.py133CODE
LOWtests/test_waf_auto_migration_live.py22CODE
LOWtests/test_nginx_config_update_stack_live.py18CODE
LOWtests/openclaw/test_api_secretrefs.py331CODE
LOWtests/openclaw/test_api_secretrefs.py418CODE
LOWru/to-ru.py38CODE
LOWtw/to-tw.py38CODE
LOWkr/to-kr.py38CODE
LOWjp/to-jp.py38CODE
LOWen/to-en.py38CODE
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHtests/test_kpanel_light_node_update.py303except ProcessLookupError: passCODE
HIGHtests/test_nginx_config_update_stack_live.py89except RuntimeError:CODE
AI Slop Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMdeepseek_harness_manager.sh3# 官方项目:https://github.com/deepseek-ai/deepseek-harnessCOMMENT
MEDIUMdeepseek_harness_manager.sh337 # kejilion-deepseek-harness-managed\\COMMENT
MEDIUMtests/test_deepseek_harness_manager.sh301grep -Fq '# kejilion-deepseek-harness-managed' "$webui_conf"CODE
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWdeepseek_harness_manager.sh326 # Open the file as the worker UID; BusyBox test -r may ignore POSIX ACLs.COMMENT
LOWir/kejilion.sh2411 # Check if the session already existsCOMMENT
LOWru/kejilion.sh2411 # Check if the session already existsCOMMENT
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests_openclaw_manager_smoke.sh137add-all-models-from-provider "cli-api" "https://example.com/v1" "dummy-token" >/tmp/add-models.outCODE
LOWtests/test_unified_cf_smoke.sh175assert json.load(open(sys.argv[1]))==dict(email='user@example.com',key='abcdefghijklmnopqrstuv')CODE
LOWtests/test_docker_image_update_smoke.sh34printf '%s\n' '{"digest":"placeholder","last_updated":"2026-07-28T00:00:00Z"}'CODE
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOWnetwork-optimize.sh581COMMENT
LOWru/kejilion.sh2521 echo "Отменен"COMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtranslate.py6CODE