AI Slop Code Risk Monitor

goodrain/rainbond

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

Rainbond is an open-source container platform that requires no Kubernetes expertise. Its core capabilities are 100% open source. It abstracts away infrastructure complexity and provides a unified way to deploy and manage business applications, AI-generated projects, open-source AI software, and large language model services. AI helps teams deploy

3.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for goodrain/rainbond, a Go project with 6,290 GitHub stars. SynthScan examined 492,653 lines of code across 2341 source files, recording 1643 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 3.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.

3.6
Adjusted Signal
3.6
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
6.3K
Stars
Go
Language
492.7K
Lines of Code
2.3K
Files
1.6K
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 15.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.5/100 · LOW

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

Agent Over-Engineering Ratio 1.4/100 · LOW

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

PR Review Velocity Impact 16.3/100 · LOW

Which changes need focused human review? 1643 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 5HIGH 0MEDIUM 34LOW 1604

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

Over-Commented Block1538 hits · 1517 pts
SeverityFileLineSnippetContext
LOWcmd/version.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/grctl/grctl.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/grctl/server/grctl.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/grctl/option/conf.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/init-probe/probe.go1// RAINBOND, Application Management PlatformCOMMENT
LOWcmd/init-probe/cmd/probe_cmd.go1// RAINBOND, Application Management PlatformCOMMENT
LOWcmd/init-probe/healthy/depends_health.go1// RAINBOND, Application Management PlatformCOMMENT
LOWcmd/api/main.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/api/option/option.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/mq/mq.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/worker/worker.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWcmd/builder/builder.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWgrctl/clients/kubernetes.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWgrctl/cmd/config.go1// RAINBOND, Application Management PlatformCOMMENT
LOWgrctl/cmd/cmd.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWgrctl/cmd/build.go1// RAINBOND, Application Management PlatformCOMMENT
LOWgrctl/cmd/registry.go1// Copyright (C) 2014-2021 Goodrain Co., Ltd.COMMENT
LOWgrctl/cmd/replace.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWgrctl/cluster/cluster.go1// RAINBOND, Application Management PlatformCOMMENT
LOWgrctl/registry/freeversion.go1// Copyright (C) 2014-2021 Goodrain Co., Ltd.COMMENT
LOWgrctl/registry/freeimage.go1// Copyright (C) 2014-2021 Goodrain Co., Ltd.COMMENT
LOWgrctl/registry/registry.go1// Copyright (C) 2014-2021 Goodrain Co., Ltd.COMMENT
LOWgrctl/registry/freecomponent.go1// Copyright (C) 2014-2021 Goodrain Co., Ltd.COMMENT
LOWutil/sshclient.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/ippool.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/command.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/uuid_test.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/pprofer.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/comman.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/hosts.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/constants.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/string_test.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/sshclient_test.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/chan.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/hash_test.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/language.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/ip.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/copyio.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/ip_test.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/comman_test.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/hash.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/uuid.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/bytes.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/string.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/prober/manager_test.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/prober/manager.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/prober/probes/http.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/prober/probes/probe.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/prober/types/v1/types.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/grpc/resolver.go1// Copyright 2016 The etcd AuthorsCOMMENT
LOWutil/retryutil/retry_util.go1// Copyright (C) 2014-2021 Goodrain Co., Ltd.COMMENT
LOWutil/leader/kube_leader.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/ansible/node.go1// Copyright (C) 2014-2018 Goodrain Co., Ltd.COMMENT
LOWutil/zip/register.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/zip/writer.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/zip/writer.go221COMMENT
LOWutil/zip/writer.go281 // Officially, the name and comment fields are supposed to be encodedCOMMENT
LOWutil/zip/reader.go1// RAINBOND, Application Management PlatformCOMMENT
LOWutil/zip/reader.go461 // signature, the value 0x08074b50 has commonly been adoptedCOMMENT
LOWutil/zip/struct.go1// RAINBOND, Application Management PlatformCOMMENT
1478 more matches not shown…
Decorative Section Separators28 hits · 90 pts
SeverityFileLineSnippetContext
MEDIUMhack/release/release.py88# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py90# --------------------------------------------------------------------------COMMENT
MEDIUM⚡hack/release/release.py103# --------------------------------------------------------------------------COMMENT
MEDIUM⚡hack/release/release.py105# --------------------------------------------------------------------------COMMENT
MEDIUM⚡hack/release/release.py169# --------------------------------------------------------------------------COMMENT
MEDIUM⚡hack/release/release.py171# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py204# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py206# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py235# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py237# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py258# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py260# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py280# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py282# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py345# --------------------------------------------------------------------------COMMENT
MEDIUMhack/release/release.py347# --------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml1# =============================================================================COMMENT
MEDIUM.github/workflows/dev-build.yml19# =============================================================================COMMENT
MEDIUM.github/workflows/dev-build.yml66 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml68 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml110 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml112 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml178 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml180 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml234 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml236 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml282 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/dev-build.yml286 # ---------------------------------------------------------------------------COMMENT
Hallucination Indicators5 hits · 50 pts
SeverityFileLineSnippetContext
CRITICALapi/handler/k8s_attribute_vm_runtime_test.go239 if updated.Spec.Template.Spec.Domain.Memory.Guest.Cmp(targetMemory) != 0 {CODE
CRITICALapi/handler/k8s_attribute_vm_runtime_test.go294 if updated.Spec.Template.Spec.Domain.Memory.Guest.Cmp(targetMemory) != 0 {CODE
CRITICALapi/handler/k8s_attribute_vm_runtime_test.go356 if updated.Spec.Template.Spec.Domain.Memory.Guest.Cmp(targetMemory) != 0 {CODE
CRITICALapi/handler/k8s_attribute_vm_runtime_test.go426 if updated.Spec.Template.Spec.Domain.Memory.Guest.Cmp(desiredMemory) != 0 {CODE
CRITICALapi/handler/service_vm_live_update.go150 if vm.Spec.Template.Spec.Domain.Memory.Guest == nil || vm.Spec.Template.Spec.Domain.Memory.Guest.Cmp(targetGuest) != 0CODE
Hyper-Verbose Identifiers37 hits · 40 pts
SeverityFileLineSnippetContext
LOW⚡hack/release/release.py111def validate_upgrade_versions(entries):CODE
LOW⚡hack/release/release.py163def release_date_from_timestamp(published_at, tz_hours=8):CODE
LOW⚡hack/release/release_test.py22 def test_parse_and_chart_version(self):CODE
LOW⚡hack/release/release_test.py26 def test_rejects_non_release_tags(self):CODE
LOW⚡hack/release/release_test.py33 def test_entry_matches_published_shape(self):CODE
LOW⚡hack/release/release_test.py49 def test_sorts_by_semver_not_string(self):CODE
LOW⚡hack/release/release_test.py54 def test_rerun_same_release_is_noop(self):CODE
LOW⚡hack/release/release_test.py60 def test_conflicting_existing_entry_is_refused(self):CODE
LOW⚡hack/release/release_test.py65 def test_foreign_image_is_refused(self):CODE
LOW⚡hack/release/release_test.py71 def test_unsorted_feed_is_refused(self):CODE
LOW⚡hack/release/release_test.py75 def test_china_date_from_utc_timestamp(self):CODE
LOW⚡hack/release/release_test.py79 def test_checked_in_feed_is_valid_and_round_trips(self):CODE
LOWhack/release/release_test.py91 def test_install_script_only_changes_version_line(self):CODE
LOWhack/release/release_test.py95 def test_install_script_requires_exactly_one_line(self):CODE
LOWhack/release/release_test.py109 def test_chart_never_moves_backwards(self):CODE
LOWhack/release/release_test.py115 def test_chart_bump_ignores_nested_version_keys(self):CODE
LOW⚡hack/release/release_test.py139 def test_patch_release_does_not_touch_docs(self):STRING
LOW⚡hack/release/release_test.py144 def test_new_minor_rolls_table(self):STRING
LOW⚡hack/release/release_test.py153 def test_older_release_leaves_docs_alone(self):STRING
LOW⚡hack/release/release_test.py209 def test_green_full_run_of_same_commits_passes(self):STRING
LOW⚡hack/release/release_test.py212 def test_failed_or_env_failure_blocks(self):STRING
LOW⚡hack/release/release_test.py216 def test_fast_tier_does_not_count(self):STRING
LOW⚡hack/release/release_test.py224 def test_nightly_without_sources_blocks(self):STRING
LOW⚡hack/release/release_test.py229 def test_signature_matches_feishu_algorithm(self):STRING
LOW⚡hack/release/release_test.py235 def test_payload_without_secret(self):STRING
LOW⚡hack/release/release_test.py244 def test_payload_with_secret_is_signed(self):STRING
LOW⚡hack/release/release_test.py249 def test_notify_without_webhook_is_a_no_op(self):STRING
LOW⚡hack/release/release_test.py257 def test_notify_failure_does_not_fail(self):STRING
LOWhack/release/release_test.py169 def test_single_arch_and_missing_are_reported(self):STRING
LOWhack/release/release_test.py180 def test_bearer_challenge_is_followed(self):STRING
LOW⚡…/contrib/docker/registry-gc/provision_identity_test.py13 def test_independent_keys_and_console_scope_are_consistent(self):CODE
LOW⚡…/contrib/docker/registry-gc/provision_identity_test.py23 def test_reuse_does_not_rotate_existing_credentials(self):CODE
LOW⚡…/contrib/docker/registry-gc/provision_identity_test.py31 def test_partial_installation_preserves_existing_key(self):CODE
LOW⚡…/contrib/docker/registry-gc/provision_identity_test.py41 def test_foreign_scope_or_corruption_blocks_all_writes(self):CODE
LOW⚡…/contrib/docker/registry-gc/provision_identity_test.py54 def test_reused_shared_key_is_rejected(self):CODE
LOW⚡…/contrib/docker/registry-gc/provision_identity_test.py60 def test_create_race_does_not_overwrite_or_print_credentials(self):CODE
LOW⚡…/contrib/docker/registry-gc/provision_identity_test.py69 def test_cli_requires_explicit_context_and_redacts_subprocess_errors(self):CODE
Structural Annotation Overuse14 hits · 21 pts
SeverityFileLineSnippetContext
LOWthird_party/process-exporter/proc/tracker.go419 // Step 1: track any new proc that should be tracked based on its name and cmdline.COMMENT
LOWthird_party/process-exporter/proc/tracker.go440 // Step 2: track any untracked new proc that should be tracked because its parent is tracked.COMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_5.md133#### Step 1: check upgrade requirementsCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_5.md161#### Step 2: download snapshot backup from leaderCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_5.md195#### Step 3: stop one existing etcd serverCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_5.md250#### Step 4: restart the etcd server with same configurationCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_5.md299#### Step 5: repeat *step 3* and *step 4* for rest of the membersCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_4.md257#### Step 1: check upgrade requirementsCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_4.md285#### Step 2: download snapshot backup from leaderCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_4.md319#### Step 3: stop one existing etcd serverCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_4.md367#### Step 4: restart the etcd server with same configurationCOMMENT
LOW…arty/coreos-etcd/Documentation/upgrades/upgrade_3_4.md418#### Step 5: repeat *step 3* and *step 4* for rest of the membersCOMMENT
LOWpkg/component/filepersistence/volcengine.go168 // Step 1: Find the file system ID by nameCOMMENT
LOWpkg/component/filepersistence/volcengine.go189 // Step 2: Delete the file system by IDCOMMENT
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMthird_party/coreos-etcd/etcdserver/server.go162 // The API/raft component can utilize ClusterVersion to determine ifCOMMENT
MEDIUMbuilder/parser/compose/version3.go154 // NOTE: V3 doesn't use IP (they utilize Swarm instead for host-networking).COMMENT
MEDIUMbuilder/sources/container_config.go80 // container, and the runtime should leverage this to ensure correctCOMMENT
Verbosity Indicators5 hits · 8 pts
SeverityFileLineSnippetContext
LOWthird_party/process-exporter/proc/tracker.go419 // Step 1: track any new proc that should be tracked based on its name and cmdline.COMMENT
LOWthird_party/process-exporter/proc/tracker.go440 // Step 2: track any untracked new proc that should be tracked because its parent is tracked.COMMENT
LOWpkg/apis/rainbond/v1alpha1/helmapp_status.go82 // We are updating an existing condition, so we need to check if it has changed.COMMENT
LOWpkg/component/filepersistence/volcengine.go168 // Step 1: Find the file system ID by nameCOMMENT
LOWpkg/component/filepersistence/volcengine.go189 // Step 2: Delete the file system by IDCOMMENT
Excessive Try-Catch Wrapping4 hits · 5 pts
SeverityFileLineSnippetContext
LOWhack/release/release.py447 except Exception as err: # noqa: BLE001CODE
LOWhack/contrib/docker/registry-gc/provision_identity.py60 except Exception:CODE
LOWhack/contrib/docker/registry-gc/provision_identity.py111 except Exception:CODE
MEDIUMhack/contrib/docker/registry-gc/provision_identity.py40def validate_secret(secret, name, enterprise, region):CODE
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWthird_party/coreos-etcd/pkg/proxy/server.go247// TODO: implement packet reordering from multiple TCP connectionsCOMMENT
LOW…_party/coreos-etcd/etcdserver/api/v3client/v3client.go48 // TODO: implement clientv3.Auth interface?COMMENT
LOWpkg/apis/rainbond/v1alpha1/third_component.go203 // TODO: implement a realistic TCP lifecycle hookCOMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/mimo.yml92 # Define the MiMo provider. apiKey uses {env:...} so the key is read atCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMpkg/common/scheme.go41 // +kubebuilder:scaffold:schemeCOMMENT
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/validate_test_manifest.py55CODE
LOWscripts/report_go_test_coverage.py60CODE
Fake / Example Data1 hit · 2 pts
SeverityFileLineSnippetContext
LOWutil/govalidator/validator_map.go14// e.g: data := map[string]interface{}{"name": "John Doe", "age": 30, "single": false}COMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/report_go_test_coverage.py4CODE