AI Slop Code Risk Monitor

kubeovn/kube-ovn

SlopCodeMonitor badge for kubeovn/kube-ovn Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A Bridge between SDN and Cloud Native (Project under CNCF)

0.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for kubeovn/kube-ovn, a Go project with 2,415 GitHub stars. SynthScan examined 361,294 lines of code across 1333 source files, recording 237 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 0.9 (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.

0.9
Adjusted Signal
0.9
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
2.4K
Stars
Go
Language
361.3K
Lines of Code
1.3K
Files
237
Pattern Hits
2026-10-31
Scan Date
0.01
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 3.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.6/100 · LOW

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

Agent Over-Engineering Ratio 0.8/100 · LOW

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

PR Review Velocity Impact 4.6/100 · LOW

Which changes need focused human review? 237 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 3HIGH 10MEDIUM 13LOW 211

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 237 distinct pattern matches across 15 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 Block172 hits · 154 pts
SeverityFileLineSnippetContext
LOWtest/e2e/framework/log.go61COMMENT
LOWtest/e2e/framework/expect.go101 // - The complete error object is logged because it may containCOMMENT
LOWtest/e2e/iptables-vpc-nat-gw/e2e_test.go3501 // input shape per validateSnatRule in vpc_nat_gw_nat.go. iptables normalizesCOMMENT
LOWtest/e2e/ha/ha_test.go121// Role: followerCOMMENT
LOWtest/e2e/iptables-eip-qos/e2e_test.go481// From the NOTES section:COMMENT
LOWtest/e2e/iptables-eip-qos/e2e_test.go501// │ Safe burst value: rate × 1 second (ensures burst >> MTU for low rates) │COMMENT
LOWtest/e2e/iptables-eip-qos/e2e_test.go901}COMMENT
LOWtest/e2e/iptables-eip-qos/e2e_test.go1061}COMMENT
LOWtest/e2e/iptables-eip-qos/e2e_test.go1301 vpcQosParams.subnetProvider,COMMENT
LOWtest/e2e/kube-ovn/underlay/underlay.go1461 // - underlay pod -> overlay pod: hit existing 31000 dst overlay CIDR allow.COMMENT
LOWtest/e2e/kube-ovn/optional_crd/optional_crd.go21 evpnConfCRDName = "evpn-confs.kubeovn.io"COMMENT
LOWcharts/kube-ovn-v2/values.yaml21# @section -- Global parametersCOMMENT
LOWcharts/kube-ovn-v2/values.yaml41# Note: This feature uses Helm "lookup" function, which is not compatible with tools such as ArgoCD.COMMENT
LOWcharts/kube-ovn-v2/values.yaml61 pods:COMMENT
LOWcharts/kube-ovn-v2/values.yaml81 v4: "10.16.0.1"COMMENT
LOWcharts/kube-ovn-v2/values.yaml101 # @section -- Network parameters of the CNICOMMENT
LOWcharts/kube-ovn-v2/values.yaml121 # -- Name of the join subnet once it gets generated in the cluster.COMMENT
LOWcharts/kube-ovn-v2/values.yaml141 enableSsl: falseCOMMENT
LOWcharts/kube-ovn-v2/values.yaml161 # @section -- Network parameters of the CNICOMMENT
LOWcharts/kube-ovn-v2/values.yaml181 # @section -- Network parameters of the CNICOMMENT
LOWcharts/kube-ovn-v2/values.yaml201 id: "100"COMMENT
LOWcharts/kube-ovn-v2/values.yaml221 enableNetworkPolicies: trueCOMMENT
LOWcharts/kube-ovn-v2/values.yaml241 # @section -- Opt-in/out FeaturesCOMMENT
LOWcharts/kube-ovn-v2/values.yaml281 # -- Location of the CNI configuration to be mounted inside the pod.COMMENT
LOWcharts/kube-ovn-v2/values.yaml301 # @section -- CNI configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml321 # -- Override image settings for kube-ovn-webhook. Empty fields fall back to the global kube-ovn image.COMMENT
LOWcharts/kube-ovn-v2/values.yaml341 labels: {}COMMENT
LOWcharts/kube-ovn-v2/values.yaml361# (`controller.serviceMonitor.enabled`, `monitor.serviceMonitor.enabled`,COMMENT
LOWcharts/kube-ovn-v2/values.yaml381 # `release` selector of a kube-prometheus-stack installation.COMMENT
LOWcharts/kube-ovn-v2/values.yaml401# @section -- Grafana dashboards configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml421 datasource: "Prometheus"COMMENT
LOWcharts/kube-ovn-v2/values.yaml441 # @section -- NAT gateways configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml461 # -- Image repository.COMMENT
LOWcharts/kube-ovn-v2/values.yaml481 # Enforcement "standard" blocks everything except what is allowed by the network policies.COMMENT
LOWcharts/kube-ovn-v2/values.yaml501 # @section -- ACL sampling configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml521# @section -- API Network Attachment Definition configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml541 # @section -- API Network Attachment Definition configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml561 # @section -- OVS/OVN daemons configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml641 # ref: https://kubeovn.github.io/docs/v1.12.x/en/advance/dpdk/COMMENT
LOWcharts/kube-ovn-v2/values.yaml701 # @section -- BGP speaker configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml721COMMENT
LOWcharts/kube-ovn-v2/values.yaml741 requests:COMMENT
LOWcharts/kube-ovn-v2/values.yaml761# @section -- Ping daemon configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml781 annotations: {}COMMENT
LOWcharts/kube-ovn-v2/values.yaml821 serviceMonitor:COMMENT
LOWcharts/kube-ovn-v2/values.yaml841 # -- Domains to resolve and to ping.COMMENT
LOWcharts/kube-ovn-v2/values.yaml861 # -- Override image settings for kube-ovn-monitor. Empty fields fall back to the global kube-ovn image.COMMENT
LOWcharts/kube-ovn-v2/values.yaml881 labels: {}COMMENT
LOWcharts/kube-ovn-v2/values.yaml901 memory: "200Mi"COMMENT
LOWcharts/kube-ovn-v2/values.yaml921 # -- Each entry should look like the following:COMMENT
LOWcharts/kube-ovn-v2/values.yaml941 serviceMonitor:COMMENT
LOWcharts/kube-ovn-v2/values.yaml961 retryPeriod: ""COMMENT
LOWcharts/kube-ovn-v2/values.yaml981 # @section -- Kube-OVN controller configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml1001 cpu: "200m"COMMENT
LOWcharts/kube-ovn-v2/values.yaml1021 # -- User-required node affinity matchExpressions. Each entry should be a series of match expressions to be AND'd toCOMMENT
LOWcharts/kube-ovn-v2/values.yaml1041 # @default -- "{}"COMMENT
LOWcharts/kube-ovn-v2/values.yaml1061 # @section -- OVN-central daemon configurationCOMMENT
LOWcharts/kube-ovn-v2/values.yaml1121 # -- - key: topology.kubernetes.io/zoneCOMMENT
LOWcharts/kube-ovn-v2/values.yaml1141 # @section -- OVN-central daemon configuration.COMMENT
LOWcharts/kube-ovn-v2/values.yaml1161 # -- Tag override for this component image. Defaults to `.global.images.kubeovn.tag`.COMMENT
112 more matches not shown…
Empty Error Handlers7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHhack/network_e2e_diagnostics.py738except ProcessLookupError:CODE
HIGHhack/network_e2e_diagnostics.py500except ProcessLookupError:CODE
HIGHhack/network_e2e_diagnostics.py678except ProcessLookupError:CODE
HIGHhack/network_e2e_diagnostics.py687except ProcessLookupError:CODE
HIGHhack/network_e2e_diagnostics.py734except ProcessLookupError:CODE
HIGHhack/network_e2e_diagnostics.py769except ProcessLookupError:CODE
HIGHhack/network_e2e_diagnostics.py69except ProcessLookupError:CODE
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALpkg/webhook/static_ip.go96 staticIPSAnno := o.Spec.JobTemplate.Spec.Template.GetAnnotations()[util.IPPoolAnnotation]CODE
CRITICALpkg/webhook/static_ip.go101 return v.validateIP(ctx, o.Spec.JobTemplate.Spec.Template.GetAnnotations(), o.Kind, o.GetName(), o.GetNamespace())CODE
CRITICALpkg/controller/ipsec_cleanup.go129 if status.Name == "ipsec-cleanup" && status.State.Terminated != nil && status.State.Terminated.ExitCode == 0 && !statCODE
Self-Referential Comments5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUM…ary-cni/testconfigs/LogicalNetwork/00-lnet-simple.yaml7# Create a namespaceCOMMENT
MEDIUM…e2e/non-primary-cni/testconfigs/VPC/00-vpc-simple.yaml5# Create the test namespaceCOMMENT
MEDIUM…e2e/non-primary-cni/testconfigs/VPC/01-vpc-nat-gw.yaml4# Create a namespaceCOMMENT
MEDIUM…e2e/non-primary-cni/testconfigs/VPC/01-vpc-nat-gw.yaml12# Create a VPCCOMMENT
MEDIUM…e2e/non-primary-cni/testconfigs/VPC/01-vpc-nat-gw.yaml44# Create a subnetCOMMENT
Cross-Language Confusion3 hits · 12 pts
SeverityFileLineSnippetContext
HIGHhack/network_e2e_diagnostics.py218 case "$(cat "$proc/comm" 2>/dev/null)" inSTRING
HIGHhack/network_e2e_diagnostics.py451trap 'if [ -n "$child" ]; then kill -TERM "$child" 2>/dev/null || true; fi; rm -f "$pidfile"' EXITCODE
HIGHhack/test-ovn-db-mode.py100 db-name) [[ "$2" == *ovnnb* ]] && echo OVN_Northbound || echo OVN_Southbound ;;CODE
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMtest/e2e/non-primary-cni/e2e_test.go731 // name is absent. This is more robust across iptables variantsCOMMENT
MEDIUMhack/test-ipsec-runtime.sh4# This harness uses private Docker network namespaces. It never attaches anCOMMENT
MEDIUMpkg/ovs/ovn-nb-nat.go52// addOrUpdateDnatAndSnat is the robust path for dnat_and_snat.COMMENT
MEDIUMpkg/controller/switch_lb_rule.go252 // the VIP cleanup path robust when a concurrent service-delete event races aheadCOMMENT
Hyper-Verbose Identifiers14 hits · 11 pts
SeverityFileLineSnippetContext
LOWhack/test-ipsec-monitor.py30 def test_current_children_are_not_mistaken_for_obsolete_interfaces(self):CODE
LOWhack/test-ipsec-monitor.py61 def test_intent_records_versions_and_refuses_a_different_lease(self):CODE
LOWhack/test-ovn-db-mode.py135 def test_new_single_instance_uses_standalone(self):STRING
LOW⚡hack/test-ovn-db-mode.py146 def test_multiple_instances_keep_raft(self):STRING
LOW⚡hack/test-ovn-db-mode.py154 def test_multiple_replicas_accept_standalone_files(self):STRING
LOW⚡hack/test-ovn-db-mode.py162 def test_existing_standalone_restarts_without_rewriting_data(self):STRING
LOW⚡hack/test-ovn-db-mode.py169 def test_existing_raft_retains_cluster_mode(self):STRING
LOW⚡hack/test-ovn-db-mode.py177 def test_healthcheck_uses_database_model(self):STRING
LOWhack/test-ovn-db-mode.py190 def test_unsafe_or_unknown_modes_stop_before_starting_servers(self):STRING
LOWhack/test-ipsec-container.py90def validate_signer_permissions(text):CODE
LOWhack/test-ipsec-container.py161def validate_installer_discovery_failures():CODE
LOWhack/test-ipsec-container.py172def validate_cleanup_ovs_assertions():CODE
LOWhack/test-ipsec-container.py196def validate_cleanup_xfrm_assertions():STRING
LOWhack/test-ipsec-container.py232def validate_talos_installation():STRING
Decorative Section Separators3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMtest/e2e/iptables-eip-qos/e2e_test.go490// ┌─────────────────────────────────────────────────────────────────────────────┐COMMENT
MEDIUMtest/e2e/iptables-eip-qos/e2e_test.go502// └─────────────────────────────────────────────────────────────────────────────┘COMMENT
MEDIUMpkg/controller/vpc_nat_gw_nat.go327// ──────────────── ────────────────────── ──────────────────────────────────────────COMMENT
Deep Nesting9 hits · 9 pts
SeverityFileLineSnippetContext
LOWhack/network_e2e_diagnostics.py53CODE
LOWhack/network_e2e_diagnostics.py88CODE
LOWhack/network_e2e_diagnostics.py693CODE
LOWhack/network_e2e_diagnostics.py396CODE
LOWhack/network_e2e_diagnostics.py437CODE
LOWhack/network_e2e_diagnostics.py579CODE
LOWhack/test-tproxy-container.py76CODE
LOWhack/test-ipsec-container.py90CODE
LOWhack/test_network_e2e_diagnostics.py227CODE
Verbosity Indicators3 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡pkg/controller/vpc_egress_gateway_test.go907 // Step 1: verify routes annotation key exists on internal provider.COMMENT
LOW⚡pkg/controller/vpc_egress_gateway_test.go912 // Step 2: verify routes annotation is populated.COMMENT
LOW⚡pkg/controller/vpc_egress_gateway_test.go915 // Step 3: verify route payload includes destination and gateway fields.COMMENT
Structural Annotation Overuse3 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡pkg/controller/vpc_egress_gateway_test.go907 // Step 1: verify routes annotation key exists on internal provider.COMMENT
LOW⚡pkg/controller/vpc_egress_gateway_test.go912 // Step 2: verify routes annotation is populated.COMMENT
LOW⚡pkg/controller/vpc_egress_gateway_test.go915 // Step 3: verify route payload includes destination and gateway fields.COMMENT
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOWcharts/kube-ovn/values.yaml255 # Set existingClaim to skip in-chart PVC creation and point theCOMMENT
LOWhack/cherry-pick.sh37# Check if working directory is cleanCOMMENT
LOWhack/cherry-pick.sh43# Verify if merge commit existsCOMMENT
LOWhack/cherry-pick.sh61 # Check if remote branch existsCOMMENT
Excessive Try-Catch Wrapping5 hits · 4 pts
SeverityFileLineSnippetContext
LOWhack/network_e2e_diagnostics.py632 except Exception as error:STRING
LOWhack/network_e2e_diagnostics.py658 except Exception as error:STRING
LOWhack/network_e2e_diagnostics.py807 except Exception as error:STRING
LOWhack/network_e2e_diagnostics.py818 except Exception as error:STRING
MEDIUMhack/network_e2e_diagnostics.py53def capture(command, seconds=10, cancel=None):CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWhack/backup.sh10# Usage:COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpkg/controller/ipsec_pod_template_test.go76 {"fake-token-secret", func(p *corev1.Pod) {CODE