AI Slop Code Risk Monitor

648540858/wvp-GB28181-pro

SlopCodeMonitor badge for 648540858/wvp-GB28181-pro Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将普通摄像机/直播流/直播推流转国标共享到国标平台。

0.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for 648540858/wvp-GB28181-pro, a Java project with 7,403 GitHub stars. SynthScan examined 187,812 lines of code across 1197 source files, recording 143 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 0.8 (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.8
Adjusted Signal
0.8
Raw Pattern Score
100%
Time Factor
2026-10-27
Last Push
7.4K
Stars
Java
Language
187.8K
Lines of Code
1.2K
Files
143
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 3.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 0.6/100 · LOW

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

PR Review Velocity Impact 4.0/100 · LOW

Which changes need focused human review? 143 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 1HIGH 0MEDIUM 1LOW 141

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 143 distinct pattern matches across 6 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 Block115 hits · 102 pts
SeverityFileLineSnippetContext
LOWdocker/wvp/wvp/application-docker.yml21 port: ${REDIS_PORT:6379}COMMENT
LOWdocker/wvp/wvp/application-docker.yml61 # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)COMMENT
LOWweb/tests/unit/components/Breadcrumb.spec.js81 // const second = breadcrumbArray.at(1)COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js1var WasmModule = (() => {COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js221// end include: shell.jsCOMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js241COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js801 // all RuntimeErrors are from traps; it decides whether a RuntimeError is fromCOMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js1061/** @type{function(number, (number|boolean), ...number)} */ var proxyToMainThread = (funcIndex, emAsmAddr, sync, ...callCOMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js1201 },COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js1401 // them would block forever.COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js5421 var summerOffset = summer.getTimezoneOffset();COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js5581 // to next page multiple.COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js6921 name = UTF8ToString(name);COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js7481 }COMMENT
LOWweb/public/static/js/h265web2/h265web_wasm.js8881 // Compiler settings do not allow exiting the runtime, so flushingCOMMENT
LOWweb/src/icons/svgo.yml1# replace default configCOMMENT
LOWweb/src/views/dialog/recordDownload.vue121 // url: `/api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`COMMENT
LOWweb/src/views/dialog/recordDownload.vue141 // } else {COMMENT
LOWweb/src/views/common/MapComponent_bak.vue201 // if (status === 'ON') {COMMENT
LOWweb/src/views/common/MapComponent_bak.vue221 // style: webglStyleCOMMENT
LOWweb/src/views/common/MapComponent_bak.vue681 }COMMENT
LOWweb/src/views/common/MapComponent_bak.vue701 // let lng = minLngCOMMENT
LOWweb/src/views/common/MapComponent.vue201 // // 'icon-anchor': [0.5, 1],COMMENT
LOWweb/src/views/common/MapComponent.vue661 return toLonLat([diff, diff])[0]COMMENT
LOWweb/src/views/common/MapComponent.vue681 //COMMENT
LOWsrc/main/resources/application-docker.yml41 port: ${WVP_PORT:5060}COMMENT
LOWsrc/main/resources/application-dev.yml41 # sql:COMMENT
LOWsrc/main/resources/配置详情.yml41 poolMaxIdle: 500COMMENT
LOWsrc/main/resources/配置详情.yml81# 修改分页插件为 postgresql, 数据库类型为mysql不需要COMMENT
LOWsrc/main/resources/配置详情.yml101 # 私钥文件COMMENT
LOWsrc/main/resources/配置详情.yml121 # 3701020049标识山东济南历下区 信息行业接入COMMENT
LOWsrc/main/resources/配置详情.yml261 - http://192.168.1.3:8008COMMENT
LOW…oft/iot/vmp/gb28181/transmit/SIPProcessorObserver.java141// if (clientTransaction != null) {COMMENT
LOW…l/message/query/cmd/RecordInfoQueryMessageHandler.java201 log.info("[国标级联] 录像查询收到数据, 通道: {},准备转发===", channelId);COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java221COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java241// // 除了ADD和update情况下需要识别全部内容,COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java261// return deviceChannel;COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java281// String civilCode = getText(itemDevice, "CivilCode");COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java301// }COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java321// try {COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java341// deviceChannel.setCivilCode(civilCode);COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java361// }COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java381// }COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java401// if (!ObjectUtils.isEmpty(parental)) {COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java421// deviceChannel.setParentId(parentID);COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java441// logger.warn("[xml解析] 从通道数据获取registerWay失败: {}", registerWay);COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java461// deviceChannel.setCertNum(certNum);COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java481// }COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java501// deviceChannel.setPort(Integer.parseInt(port));COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java521// if (status.equalsIgnoreCase("OFF") || status.equalsIgnoreCase("Off") || status.equalsIgnoreCasCOMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java541// } else {COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java561// try {COMMENT
LOW…/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java581// // TODO 摄像机安装位置室外、室内属性。1-室外、2-室内。COMMENT
LOW…ersoft/iot/vmp/gb28181/controller/GroupController.java101// }COMMENT
LOW…iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java861 }COMMENT
LOW…a/com/genersoft/iot/vmp/web/gb28181/ApiController.java61// result.put("APIAuth","false");COMMENT
LOW…java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java1//package com.genersoft.iot.vmp.utils.redis;COMMENT
LOW…java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java21// static {COMMENT
LOW…java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java41// e.printStackTrace();COMMENT
LOW…java/com/genersoft/iot/vmp/utils/redis/RedisUtil2.java61// */COMMENT
55 more matches not shown…
Hyper-Verbose Identifiers22 hits · 22 pts
SeverityFileLineSnippetContext
LOWweb/public/static/js/ZLMRTCClient.js870 function shimSenderReceiverGetStats(window) {CODE
LOWweb/public/static/js/ZLMRTCClient.js978 function shimAddTrackRemoveTrackWithNative(window) {CODE
LOWweb/public/static/js/ZLMRTCClient.js2403 function isActionAllowedInSignalingState(action, type, signalingState) {CODE
LOWweb/public/static/js/ZLMRTCClient.js2453 function addTrackToStreamAndFireEvent(track, stream) {CODE
LOWweb/public/static/js/ZLMRTCClient.js2459 function removeTrackFromStreamAndFireEvent(track, stream) {CODE
LOWweb/public/static/js/ZLMRTCClient.js4881 function shimTrackEventTransceiver(window) {CODE
LOWweb/public/static/js/ZLMRTCClient.js5321 function shimAddIceCandidateNullOrEmpty(window, browserDetails) {CODE
LOWweb/public/static/js/ZLMRTCClient.js5626 function isVideoConstrainsForScreenCast(constraints) {CODE
LOWweb/public/static/js/ZLMRTCClient.js7178 function throwIfCancellationRequested(config) {CODE
LOWweb/public/static/js/ZLMRTCClient.js7494 this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {CODE
LOWweb/public/static/js/h265web/missile.js599function updateGlobalBufferAndViews(buf) {CODE
LOWweb/public/static/js/h265web/missile.js911 function receiveInstantiatedSource(output) {CODE
LOWweb/public/static/js/h265web2/h265web_wasm.js366function isExportedByForceFilesystem(name) {CODE
LOWweb/public/static/js/h265web2/h265web_wasm.js932 function receiveInstantiationResult(result) {CODE
LOWweb/public/static/js/h265web2/h265web_wasm.js5919function setCanvasElementSizeMainThread(target, width, height) {CODE
LOWweb/public/static/js/h265web2/extwasm.js2var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnPropeCODE
LOWweb/src/api/device.js242export function updateChannelStreamIdentification(params) {CODE
LOWweb/src/api/device.js290export function getKeepaliveTimeStatistics({ deviceId, count }) {CODE
LOWweb/src/api/device.js300export function getRegisterTimeStatistics({ deviceId, count }) {CODE
LOWweb/src/api/commonChannel.js29export function getNetworkIdentificationList() {CODE
LOWweb/src/api/commonChannel.js124export function clearUnusualCivilCodeList(params) {CODE
LOW…ersoft/iot/vmp/gb28181/session/CatalogDataManager.java27public class CatalogDataManager{CODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALdoc/lib/js/docsify@4.js1!function(){function c(i){var o=Object.create(null);return function(e){var n=f(e)?e:JSON.stringify(e);return o[n]||(o[n]CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMweb/public/static/js/ZLMRTCClient.js4507 // This is an ugly hack, but at the same time is way more robust thanCOMMENT
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOWweb/public/static/js/h265web/missile.js4222 function processData(byteArray) {CODE
LOWweb/public/static/js/h265web2/h265web_wasm.js2506 function processData(byteArray) {CODE
LOWweb/public/static/js/h265web2/extwasm.js2var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnPropeCODE
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWweb/public/static/js/h265web2/h265web_wasm.js15// We need to check if Module already exists (e.g. case 3 above).COMMENT