AI Slop Code RIsk Monitor

kejilion/sh

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

4.6 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for kejilion/sh, a Shell project with 3,401 GitHub stars. SynthScan examined 42,072 lines of code across 98 source files, recording 147 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 4.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.

4.6
Adjusted Signal
4.6
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
3.4K
Stars
Shell
Language
42.1K
Lines of Code
98
Files
147
Pattern Hits
2026-10-12
Scan Date
0.11
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 10.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.1/100 · LOW

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

Agent Over-Engineering Ratio 15.3/100 · LOW

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

PR Review Velocity Impact 24.1/100 · LOW

Which changes need focused human review? 147 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 11MEDIUM 15LOW 121

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 147 distinct pattern matches across 13 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 Identifiers93 hits · 66 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.py199 def test_inherited_installer_lock_spans_child_update_and_home_removal(self):STRING
LOWtests/test_kpanel_light_node_update.py234 def test_real_join_control_flow_excludes_join_update_and_uninstall_until_activation(self):STRING
LOWtests/test_kpanel_light_node_update.py309 def test_quiet_mode_suppresses_progress_but_preserves_errors(self):STRING
LOWtests/test_kpanel_light_node_update.py323 def test_upgrade_optional_failure_does_not_rollback_and_delayed_exec_is_accepted(self):STRING
LOWtests/test_kpanel_light_node_update.py334 def test_openrc_update_restarts_current_binary_and_repairs_file_service(self):STRING
LOWtests/test_kpanel_light_node_update.py386 def test_procd_update_repairs_service_and_keeps_backend(self):STRING
LOWtests/test_kpanel_light_node_update.py404 def test_procd_failed_core_rolls_back_but_optional_failure_is_degraded(self):STRING
LOWtests/test_kpanel_light_node_update.py428 def test_procd_running_false_is_not_treated_as_healthy_pid(self):STRING
LOWtests/test_kpanel_light_node_update.py437 def test_procd_cron_preserves_unrelated_jobs_and_rejects_symlinks(self):STRING
LOWtests/test_kpanel_light_node_update.py460 def test_monitoring_relay_cleanup_preserves_unknown_entries_and_symlinks(self):STRING
LOWtests/test_kpanel_light_node_update.py480 def test_failed_core_rolls_back_and_restart_failure_cannot_be_masked(self):STRING
LOWtests/test_kpanel_light_node_update.py489 def test_update_status_is_private_bounded_and_tracks_checks(self):STRING
LOWtests/test_kpanel_light_node_update.py508 def test_update_status_rejects_symlink_without_overwriting_target(self):STRING
LOWtests/test_kpanel_light_node_update.py516 def test_running_status_survives_kill_and_next_check_recovers(self):STRING
LOWtests/test_kpanel_light_node_update.py542 def test_current_file_with_old_process_recovers_without_binary_download(self):STRING
LOWtests/test_kpanel_light_node_update.py553 def test_legacy_config_permissions_recover_for_real_service_uid(self):STRING
LOWtests/test_kpanel_light_node_update.py561 def test_known_legacy_file_unit_is_repaired_and_current_broker_restarts(self):STRING
LOWtests/test_kpanel_light_node_update.py574 def test_custom_and_symlink_file_units_are_preserved(self):STRING
LOWtests/test_kpanel_light_node_update.py588 def test_original_historical_file_unit_migrates_but_custom_variant_is_preserved(self):STRING
LOWtests/test_kpanel_light_node_update.py605 def test_bad_checksum_and_network_failure_preserve_binary_then_retry_recovers(self):STRING
LOWtests/test_kpanel_light_node_update.py617 def test_sigkill_releases_lock_and_legacy_handoff_blocks_only_live_process(self):STRING
LOWtests/test_kpanel_light_node_update.py634 def test_orphaned_empty_lock_recovers_on_install_and_network_failure_releases_it(self):STRING
LOWtests/test_kpanel_light_node_update.py646 def test_live_legacy_script_without_marker_is_preserved_even_after_replacement(self):STRING
LOWtests/test_kpanel_light_node_update.py667 def test_unknown_lock_contents_and_symlinks_are_never_removed(self):STRING
LOWtests/test_kpanel_light_node_update.py682 def test_invalid_legacy_identity_has_an_explicit_error(self):STRING
LOWtests/test_kpanel_light_node_update.py688 def test_update_bridges_legacy_lock_and_recovers_after_sigkill(self):STRING
LOWtests/test_kpanel_light_node_update.py707 def test_missing_or_untrusted_release_redirect_fails_visibly_before_binary_download(self):STRING
LOWtests/test_kpanel_light_node_update.py719 def test_interrupt_reports_retry_and_releases_compatibility_lock(self):STRING
LOWtests/test_kpanel_light_node_update.py738 def test_delivery_proxy_rewriting_keeps_release_origin_and_download_errors_are_visible(self):STRING
LOWtests/test_kpanel_light_node_update.py753 def test_unreachable_github_installs_through_the_mirror(self):STRING
LOWtests/test_kpanel_light_node_update.py764 def test_unreachable_release_cdn_keeps_the_manifest_release_through_the_mirror(self):STRING
LOWtests/test_kpanel_light_node_update.py775 def test_mirror_downloads_are_still_verified_and_failures_name_both_sources(self):STRING
LOWtests/test_kpanel_light_node_update.py792 def test_github_redirect_is_still_required_when_github_answers(self):STRING
LOWtests/test_kpanel_light_node_update.py799 def test_unsafe_config_is_rejected_without_widening_permissions(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py149 def test_complete_dependencies_do_not_identify_family_or_run_manager(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py155 def test_openwrt_opkg_batches_split_packages_once(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py161 def test_openwrt_apk_uses_openwrt_names(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py167 def test_procd_derivative_metadata_selects_openwrt(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py174 def test_alpine_uses_minimal_flock_package_and_keeps_busybox_account_tools(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py182 def test_alpine_missing_addgroup_installs_account_provider(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py189 def test_debian_deduplicates_coreutils_and_installs_account_provider(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py194 def test_debian_openrc_logger_comes_from_bsdutils(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py200 def test_rpm_dnf_and_yum_mappings(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py209 def test_id_like_parsing_is_data_only(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py216 def test_unknown_family_does_not_guess_from_available_manager(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py225 def test_entware_manager_is_not_selected(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py233 def test_ambiguous_openwrt_managers_are_not_guessed(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py240 def test_index_failure_preserves_error_and_does_not_install(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py249 def test_install_failure_preserves_error_and_missing_commands(self):STRING
LOW⚡tests/test_kpanel_light_node_dependencies.py258 def test_success_exit_without_restored_tools_fails_recheck(self):STRING
33 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
Excessive Try-Catch Wrapping18 hits · 24 pts
SeverityFileLineSnippetContext
LOWhermes_manager.sh231 except Exception:CODE
LOWhermes_manager.sh252except Exception as e:CODE
LOWhermes_manager.sh341except Exception as e:CODE
LOWhermes_manager.sh873except 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
Cross-Language Confusion4 hits · 24 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
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
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
AI Slop Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMdeepseek_harness_manager.sh3# 官方项目:https://github.com/deepseek-ai/deepseek-harnessCOMMENT
MEDIUMdeepseek_harness_manager.sh310 # kejilion-deepseek-harness-managed\\COMMENT
MEDIUMtests/test_deepseek_harness_manager.sh220grep -Fq '# kejilion-deepseek-harness-managed' "$webui_conf"CODE
Deep Nesting8 hits · 8 pts
SeverityFileLineSnippetContext
LOWir/to-fa.py38CODE
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 Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtests/test_kpanel_light_node_update.py301except ProcessLookupError: passCODE
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWdeepseek_harness_manager.sh299 # Open the file as the worker UID; BusyBox test -r may ignore POSIX ACLs.COMMENT
LOWir/kejilion.sh2316 # Check if the session already existsCOMMENT
LOWru/kejilion.sh2316 # Check if the session already existsCOMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbeifen.sh3# Create a tar archive of the web directoryCOMMENT
Fake / Example Data2 hits · 2 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_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.sh2441# rx_units = "Bytes";COMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtranslate.py6CODE