AI Slop Code Risk Monitor

verdaccio/verdaccio

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

A lightweight Node.js private proxy registry

0.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for verdaccio/verdaccio, a TypeScript project with 17,960 GitHub stars. SynthScan examined 257,137 lines of code across 1701 source files, recording 196 pattern matches distributed across 8 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
18.0K
Stars
TypeScript
Language
257.1K
Lines of Code
1.7K
Files
196
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.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.7/100 · LOW

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

Agent Over-Engineering Ratio 0.8/100 · LOW

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

PR Review Velocity Impact 4.4/100 · LOW

Which changes need focused human review? 196 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 18LOW 178

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 196 distinct pattern matches across 8 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 Block111 hits · 107 pts
SeverityFileLineSnippetContext
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml1#COMMENT
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml21 docker-memory:COMMENT
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml41 # In combination with darkMode you can force specific themeCOMMENT
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml101# To improve your security configuration and avoid dependency confusionCOMMENT
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml121# VERDACCIO_PUBLIC_URL='https://fake.verdaccio.org';COMMENT
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml141# someProp: [value]COMMENT
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml161# https://verdaccio.org/docs/configuration#httpsCOMMENT
LOW…er-examples/v6/plugins/docker-local-plugin/docker.yaml181COMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml1#COMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml21# https://verdaccio.org/docs/webuiCOMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml41 # HTML tags injected after manifest <scripts/>COMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml101# https://verdaccio.org/docs/best#remove-proxy-to-increase-security-at-private-packagesCOMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml121# // url -> https://fake.verdaccio.org/COMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml141# https://verdaccio.org/docs/configuration#user-rate-limitCOMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml161# key: ./path/verdaccio-key.pemCOMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml181 user: systemUserCOMMENT
LOW…les/v6/plugins/docker-build-install-plugin/docker.yaml201# translate your registry, api i18n not available yetCOMMENT
LOW…amples/v6/docker-local-storage-volume/conf/config.yaml1#COMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml1#COMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml21COMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml41 # showDownloadTarball: trueCOMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml81 '**':COMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml101# https://verdaccio.org/docs/configuration#serverCOMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml121# url_prefix: '/second_prefix'COMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml141# windowMs: 50000COMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml161# ca: ./path/verdaccio-csr.pemCOMMENT
LOW…er-examples/v7/plugins/docker-local-plugin/docker.yaml181#experiments:COMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml1#COMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml21# https://verdaccio.org/docs/webuiCOMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml41 # HTML tags injected after manifest <scripts/>COMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml101# https://verdaccio.org/docs/best#remove-proxy-to-increase-security-at-private-packagesCOMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml121# // url -> https://fake.verdaccio.org/COMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml141# https://verdaccio.org/docs/configuration#user-rate-limitCOMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml161# key: ./path/verdaccio-key.pemCOMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml181 user: systemUserCOMMENT
LOW…les/v7/plugins/docker-build-install-plugin/docker.yaml201# translate your registry, api i18n not available yetCOMMENT
LOW…amples/v7/docker-local-storage-volume/conf/config.yaml1#COMMENT
LOWdocker-examples/v7/kubernetes/helm/values.yaml21# Persist the storage directory across pod restarts.COMMENT
LOWscripts/e2e-ui-local.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/e2e-cli-local.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/proxy/test/proxy.search.spec.ts321 // test.todo('get file from endpoint with gzip headers');COMMENT
LOWpackages/config/src/conf/docker.yaml1#COMMENT
LOWpackages/config/src/conf/docker.yaml21web:COMMENT
LOWpackages/config/src/conf/docker.yaml41 # showSettings: trueCOMMENT
LOWpackages/config/src/conf/docker.yaml61 # showPackageListToolbar: trueCOMMENT
LOWpackages/config/src/conf/docker.yaml121 # if package is not available locally, proxy requests to 'npmjs' registryCOMMENT
LOWpackages/config/src/conf/docker.yaml141 # Failed pings (status >= 400) are still logged.COMMENT
LOWpackages/config/src/conf/docker.yaml161COMMENT
LOWpackages/config/src/conf/docker.yaml181# VERDACCIO_PUBLIC_URL='https://somedomain.org/first_prefix'COMMENT
LOWpackages/config/src/conf/docker.yaml201COMMENT
LOWpackages/config/src/conf/docker.yaml221# https:COMMENT
LOWpackages/config/src/conf/docker.yaml241 audit:COMMENT
LOWpackages/config/src/conf/docker.yaml261 # - scope: '@trusted'COMMENT
LOWpackages/config/src/conf/docker.yaml281# # Support for npm token commandCOMMENT
LOWpackages/config/src/conf/default.yaml1#COMMENT
LOWpackages/config/src/conf/default.yaml21web:COMMENT
LOWpackages/config/src/conf/default.yaml41 # showSettings: trueCOMMENT
LOWpackages/config/src/conf/default.yaml61 # showPackageListToolbar: trueCOMMENT
LOWpackages/config/src/conf/default.yaml81COMMENT
LOWpackages/config/src/conf/default.yaml121 # (anyone can register by default, remember?)COMMENT
51 more matches not shown…
AI Slop Vocabulary17 hits · 51 pts
SeverityFileLineSnippetContext
MEDIUM…er-examples/v6/plugins/docker-local-plugin/docker.yaml3# please read carefully the documentation and best practices toCOMMENT
MEDIUM…er-examples/v6/plugins/docker-local-plugin/docker.yaml13# Read about the best practicesCOMMENT
MEDIUM…les/v6/plugins/docker-build-install-plugin/docker.yaml3# please read carefully the documentation and best practices toCOMMENT
MEDIUM…les/v6/plugins/docker-build-install-plugin/docker.yaml13# Read about the best practicesCOMMENT
MEDIUM…er-examples/v7/plugins/docker-local-plugin/docker.yaml3# please read carefully the documentation and best practices toCOMMENT
MEDIUM…er-examples/v7/plugins/docker-local-plugin/docker.yaml13# Read about the best practicesCOMMENT
MEDIUM…les/v7/plugins/docker-build-install-plugin/docker.yaml3# please read carefully the documentation and best practices toCOMMENT
MEDIUM…les/v7/plugins/docker-build-install-plugin/docker.yaml13# Read about the best practicesCOMMENT
MEDIUMpackages/config/src/conf/docker.yaml3# please read carefully the documentation and best practices toCOMMENT
MEDIUMpackages/config/src/conf/docker.yaml9# Read about the best practicesCOMMENT
MEDIUMpackages/config/src/conf/default.yaml3# please read carefully the documentation and best practices toCOMMENT
MEDIUMpackages/config/src/conf/default.yaml9# Read about the best practicesCOMMENT
MEDIUMpackages/web/test/config/protected-package.yaml24 # to facilitate the test we allow anonymous publishCOMMENT
MEDIUMpackages/web/test/config/scope-access-nologin.yaml22 # to facilitate the test we allow anonymous publishCOMMENT
MEDIUMpackages/web/test/config/scope-access.yaml21 # to facilitate the test we allow anonymous publishCOMMENT
MEDIUMpackages/verdaccio/test/config.yaml3# please read carefully the documentation and best practices toCOMMENT
MEDIUMpackages/verdaccio/test/config.yaml9# Read about the best practicesCOMMENT
Hyper-Verbose Identifiers38 hits · 40 pts
SeverityFileLineSnippetContext
LOWscripts/global-install.js34function discoverWorkspacePackages() {CODE
LOWpackages/middleware/src/middlewares/validation.ts34export function validatePackageVersionStatus(req: Request, _res: Response, next: NextFunction) {CODE
LOWpackages/middleware/src/middlewares/token-auth.ts77export function enforceGeneratedTokenMetadata(CODE
LOW…/tools/helpers/src/generateUnPublishPackageMetadata.ts3export function generateUnPublishPackageMetadata(CODE
LOW…tools/helpers/src/generatePublishNewVersionManifest.ts18export function generatePublishNewVersionManifest(CODE
LOW…ages/tools/helpers/src/generateLocalPackageMetadata.ts5export function generateLocalPackageMetadata(CODE
LOW…ges/tools/helpers/src/generateRemotePackageMetadata.ts5export function generateRemotePackageMetadata(CODE
LOW…ages/tools/helpers/src/getDeprecatedPackageMetadata.ts6export function getDeprecatedPackageMetadata(CODE
LOWpackages/core/core/src/tarball-utils.ts37export function composeTarballFromPackage(name: string, version: string): string {CODE
LOWpackages/core/core/src/string-utils.ts8export function getByQualityPriorityValue(headerValue: string | undefined | null): string {CODE
LOWpackages/core/core/src/schemes/unpublish-manifest.ts65export function validateUnPublishSingleVersion(manifest: any) {CODE
LOWpackages/core/core/src/schemes/publish-manifest.ts34export function validatePublishSingleVersion(manifest: any) {CODE
LOW…ore/tarball/src/convertDistRemoteToLocalTarballUrls.ts13export function convertDistRemoteToLocalTarballUrls(CODE
LOW…ore/tarball/src/convertDistRemoteToLocalTarballUrls.ts47export function convertDistVersionToLocalTarballsUrl(CODE
LOWpackages/core/tarball/src/getLocalRegistryTarballUri.ts14export function getLocalRegistryTarballUri(CODE
LOWpackages/proxy/src/uplink-util.ts25export function updateVersionsHiddenUpLinkNext(manifest: Manifest, upLink: IProxy): Manifest {CODE
LOWpackages/config/src/user.ts47export function createAnonymousRemoteUser(): RemoteUser {CODE
LOWpackages/auth/src/utils.ts160export function parseBasicLoginCredentials(CODE
LOWpackages/auth/src/utils.ts246export function handleActionWithPublishFallback(CODE
LOW…es/plugins/package-filter/src/filtering/publishDate.ts13export function filterVersionsByPublishDate(CODE
LOWpackages/ui-components/src/utils/utils.ts116export function getLastUpdatedPackageTime(uplinks: UpLinks = {}): string {CODE
LOW⚡packages/ui-components/src/utils/token-generate.ts10export function generateTokenWithTimeRange(amount = 0) {CODE
LOW⚡packages/ui-components/src/utils/token-generate.ts18export function generateTokenWithExpirationAsString() {CODE
LOW⚡packages/ui-components/src/utils/token-generate.ts28export function generateTokenWithOutExpiration() {CODE
LOWpackages/server/express/test/server.spec.ts350 async function initializeServerWithVersion(version?: string) {CODE
LOWpackages/verdaccio/test/disabled_test/__helper/api.ts186export async function fetchPackageByVersionAndTag(CODE
LOWpackages/verdaccio/test/disabled_test/__helper/api.ts208export async function verifyPackageVersionDoesExist(app, packageName, version, token?: string) {CODE
LOW…kages/verdaccio/test/disabled_test/__helper/expects.ts6export function getTaggedVersionFromPackage(pkg, pkgName, tag: string = LATEST, version: string) {CODE
LOWpackages/node-api/src/experiments.ts3export function displayExperimentsInfoBox(flags) {CODE
LOWpackages/api/test/integration/_helper.ts46export async function initializeServerWithContext(configName: string) {CODE
LOW…/partials/test-plugin-storage/verdaccio-scope/index.js1function ValidScopedVerdaccioPlugin() {CODE
LOW…gin-storage/@verdaccio-scope/verdaccio-plugin/index.js1function ValidScopedVerdaccioPlugin() {CODE
LOWpackages/store/test/storage.spec.ts125function installPackageUpdateProbe(CODE
LOWpackages/store/src/lib/versions-utils.ts45export function sortVersionsAndFilterInvalid(listVersions: string[] /* logger */): string[] {CODE
LOWpackages/store/src/lib/storage-utils.ts218export function mergeUplinkTimeIntoLocalNext(CODE
LOWpackages/store/src/lib/storage-utils.ts289function scopeUpstreamMaintainerName(uplinkName: string, name: string): string {CODE
LOWpackages/store/src/lib/storage-utils.ts296export function maintainerAllowsLocalUser(CODE
LOWpackages/store/src/lib/storage-utils.ts427export function mapManifestToSearchPackageBody(CODE
Fake / Example Data25 hits · 36 pts
SeverityFileLineSnippetContext
LOW…es/ui-components/src/components/Person/Person.test.tsx9 name: 'John Doe',CODE
LOW…es/ui-components/src/components/Person/Person.test.tsx54 name: 'Jane Doe',CODE
LOW⚡packages/search/test/search.test.ts77 email: 'test@test.com',CODE
LOW⚡packages/search/test/search.test.ts82 email: 'test@test.com',CODE
LOW⚡packages/search/test/search.test.ts87 email: 'test@test.com',CODE
LOW⚡packages/search/test/search.test.ts91 email: 'test@test.com',CODE
LOW⚡packages/search/test/search.test.ts95 email: 'test@test.com',CODE
LOW⚡packages/search/test/search.test.ts99 email: 'test@test.com',CODE
LOW⚡packages/search/test/search.test.ts103 email: 'test@test.com',CODE
LOW⚡packages/search/test/search.test.ts107 email: 'test@test.com',CODE
LOW⚡packages/search/test/partials/search.json29 "email": "test@test.com",CODE
LOW⚡packages/search/test/partials/search.json32 "publisher": { "username": "verdaccio.npm", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json34 { "username": "jotadeveloper", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json35 { "username": "ayusharma", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json36 { "username": "trentearl", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json37 { "username": "jmwilkinson", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json38 { "username": "sergiohgz", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json39 { "username": "verdaccio.npm", "email": "test@test.com" }CODE
LOW⚡packages/search/test/partials/search.json69 "email": "test@test.com",CODE
LOW⚡packages/search/test/partials/search.json72 "publisher": { "username": "verdaccio.npm", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json74 { "username": "sergiohgz", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json75 { "username": "verdaccio.npm", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json76 { "username": "jotadeveloper", "email": "test@test.com" },CODE
LOW⚡packages/search/test/partials/search.json77 { "username": "ayusharma", "email": "test@test.com" }CODE
LOWpackages/search/test/partials/search.json132 "author": { "name": "Verdaccio Core Team", "email": "test@test.com" },CODE
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/e2e-ui-local.sh8# Usage:COMMENT
LOWscripts/e2e-cli-local.sh4# Usage:COMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMpackages/ui-components/vitest/api/jquery-readme.js1export default '# jQuery\n\n> jQuery is a fast, small, and feature-rich JavaScript library.\n\nFor information on how toCODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpackages/api/test/integration/config/owner.yaml13# TODO: Add test case for $owner accessCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpackages/ui-components/public/mockServiceWorker.js121async function handleRequest(event, requestId, requestInterceptedAt) {CODE