AI Slop Code Risk Monitor

neutrinolabs/xrdp

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

xrdp: an open source RDP server

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for neutrinolabs/xrdp, a C project with 6,774 GitHub stars. SynthScan examined 210,097 lines of code across 514 source files, recording 235 pattern matches distributed across 5 syntactic categories. The legacy adjusted pattern signal is 1.5 (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.

1.5
Adjusted Signal
1.5
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
6.8K
Stars
C
Language
210.1K
Lines of Code
514
Files
235
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 4.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 2.5/100 · LOW

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

PR Review Velocity Impact 6.8/100 · LOW

Which changes need focused human review? 235 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 0MEDIUM 31LOW 204

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 235 distinct pattern matches across 5 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 Block201 hits · 200 pts
SeverityFileLineSnippetContext
LOWxrdpvr/xrdpvr_internal.h21 */COMMENT
LOWxrdpvr/xrdpvr_internal.h41#define DISTRO_UBUNTU1204COMMENT
LOWfontutils/dumpfv1.c21#if defined(HAVE_CONFIG_H)COMMENT
LOWfontutils/mkfv1.c21#endifCOMMENT
LOWtools/devel/tcp_proxy/main.c21#endifCOMMENT
LOWtools/devel/gtcp_proxy/gtcp-proxy.c21#endifCOMMENT
LOWxrdp_accel_assist/xrdp_accel_assist_x11.c41#include "arch.h"COMMENT
LOWxrdp_accel_assist/xrdp_accel_assist_glx.c21#endifCOMMENT
LOWxrdp_accel_assist/xrdp_accel_assist_egl.c21#endifCOMMENT
LOWxrdp_accel_assist/xrdp_accel_assist.c21#endifCOMMENT
LOWxrdp_accel_assist/xrdp_accel_assist_nvenc.c21#endifCOMMENT
LOWxrdp_accel_assist/encoder_headers/nvEncodeAPI_11_1.h121#define NVENCAPI_STRUCT_VERSION(ver) ((uint32_t)NVENCAPI_VERSION | ((ver)<<16) | (0x7 << 28))COMMENT
LOWxrdp_accel_assist/encoder_headers/nvEncodeAPI_11_0.h121#define NVENCAPI_STRUCT_VERSION(ver) ((uint32_t)NVENCAPI_VERSION | ((ver)<<16) | (0x7 << 28))COMMENT
LOWsesman/sig.c21 * @file sig.cCOMMENT
LOWsesman/display_utils.c21 * @file display_utils.cCOMMENT
LOWsesman/eicp_process.c21 * @file eicp_process.cCOMMENT
LOWsesman/scp_process.c21 * @file scp.cCOMMENT
LOWsesman/sesexec_control.c21 * @file sesexec_control.cCOMMENT
LOWsesman/sesman.c21 * @file sesman.cCOMMENT
LOWsesman/sesman.c41#include "ercp_process.h"COMMENT
LOWsesman/startwm.sh1#!/usr/bin/env bashCOMMENT
LOWsesman/startwm.sh81 fiCOMMENT
LOWsesman/tools/sesadmin.c21#include <config_ac.h>COMMENT
LOWsesman/tools/dis.c21#endifCOMMENT
LOWsesman/tools/sesrun.c21 * @file sesrun.cCOMMENT
LOWsesman/tools/sesrun.c41#include "guid.h"COMMENT
LOWsesman/tools/authtest.c21 * @file authtest.cCOMMENT
LOWsesman/libsesman/sesman_config.c21 * @file config.cCOMMENT
LOWsesman/libsesman/sesman_config.c41#include "scp.h"COMMENT
LOWsesman/libsesman/sesman_config.c61#define SESMAN_CFG_LOG_LEVEL "LogLevel"COMMENT
LOWsesman/libsesman/verify_user.c21 * @file verify_user.cCOMMENT
LOWsesman/libsesman/verify_user_bsd.c21 * @file verify_user_bsd.cCOMMENT
LOWsesman/sesexec/session.c41COMMENT
LOWsesman/sesexec/sesexec_discover.c21 * @file sesexec_discover.cCOMMENT
LOWsesman/sesexec/env.c21 * @file env.cCOMMENT
LOWsesman/sesexec/eicp_server.c21 * @file eicp_server.cCOMMENT
LOWsesman/sesexec/login_info.c21 * @file login_info.cCOMMENT
LOWsesman/sesexec/login_info.c41#include "sesexec.h"COMMENT
LOWsesman/sesexec/ercp_server.c21 * @file ercp_server.cCOMMENT
LOWsesman/sesexec/sessionrecord.c41COMMENT
LOWsesman/sesexec/sessionrecord.c61COMMENT
LOWsesman/sesexec/sesexec.c21 * @file sesexec.cCOMMENT
LOWsesman/chansrv/chansrv_config.c21COMMENT
LOWsesman/chansrv/chansrv_config.c41#define DEFAULT_ENABLE_FUSE_MOUNT 1COMMENT
LOWsesman/chansrv/sound.h21COMMENT
LOWsesman/chansrv/smartcard_internal.h21 * smartcard redirection supportCOMMENT
LOWsesman/chansrv/audin.c21COMMENT
LOWsesman/chansrv/clipboard.c161COMMENT
LOWsesman/chansrv/rail.c21 http://www.freedesktop.org/wiki/Specifications/wm-specCOMMENT
LOWsesman/chansrv/devredir.c41#include <stdio.h>COMMENT
LOWsesman/chansrv/smartcard.c81#define SCARD_IOCTL_LIST_READERS_A 0x00090028 /* ListReaders ASCII */COMMENT
LOWsesman/chansrv/smartcard.c101#define SCARD_IOCTL_TRANSMIT 0x000900D0 /* Transmit */COMMENT
LOWsesman/chansrv/chansrv_fuse.c161#include <string.h>COMMENT
LOWsesman/chansrv/smartcard_pcsc.c41#define JAY_TODO_WIDE 1COMMENT
LOWsesman/chansrv/smartcard_pcsc.c1441 lcard->card, lcard->card_bytes,COMMENT
LOWsesman/chansrv/chansrv.c21#include <config_ac.h>COMMENT
LOWsesman/chansrv/chansrv.c41#include "rail.h"COMMENT
LOWsesman/chansrv/sound.c21#endifCOMMENT
LOWsesman/chansrv/sound.c41#if defined(XRDP_FDK_AAC)COMMENT
LOWsesman/chansrv/clipboard_file.c21 *COMMENT
141 more matches not shown…
Decorative Section Separators29 hits · 105 pts
SeverityFileLineSnippetContext
MEDIUMgenkeymap/dump-keymaps.sh6# -----------------------------------------------------------------------------COMMENT
MEDIUMgenkeymap/dump-keymaps.sh14# -----------------------------------------------------------------------------COMMENT
MEDIUMgenkeymap/dump-keymaps.sh31# -----------------------------------------------------------------------------COMMENT
MEDIUMgenkeymap/dump-keymaps.sh33# -----------------------------------------------------------------------------COMMENT
MEDIUMxrdp/xrdp_keyboard.toml5# -------------------COMMENT
MEDIUMxrdp/xrdp_keyboard.toml41# ------------------------------------------------COMMENT
MEDIUMxrdp/xrdp_keyboard.toml54# --------------------COMMENT
MEDIUMscripts/install_xrdp_build_dependencies_with_apt.sh36# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/install_xrdp_build_dependencies_with_apt.sh38# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/run_cppcheck.sh22# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/run_cppcheck.sh29# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_cppcheck.sh13# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_cppcheck.sh15# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_cppcheck.sh22# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_cppcheck.sh27# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/install_cppcheck.sh52# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/install_cppcheck.sh58# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/install_cppcheck.sh92# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/install_cppcheck.sh94# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/run_astyle.sh16# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/run_astyle.sh18# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/run_astyle.sh25# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/run_astyle.sh27# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_astyle.sh13# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_astyle.sh15# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_astyle.sh22# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install_astyle.sh27# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/install_astyle.sh52# ----------------------------------------------------------------------------COMMENT
MEDIUMscripts/install_astyle.sh54# ----------------------------------------------------------------------------COMMENT
Slop Phrases2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMthird_party/tomlc99/stdex/keys08.toml4# So then you can add to the table "fruit" like so:COMMENT
MEDIUMthird_party/tomlc99/stdex/tab11.toml8[fruit.apple.texture] # you can add sub-tablesCODE
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWxrdp/lang.c736 // Step 2 - Now scan the [overrides] table, looking forCOMMENT
LOWxrdp/lang.c794 // Step 3 - use the layout name we matched from the layouts table toCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWgenkeymap/dump-keymaps.sh57# Assign NumLock to mod2COMMENT