AI Slop Code Risk Monitor

librenms/librenms

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

Community-based GPL-licensed network monitoring system

0.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for librenms/librenms, a PHP project with 4,980 GitHub stars. SynthScan examined 5,006,043 lines of code across 9229 source files, recording 1521 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 0.3 (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.3
Adjusted Signal
0.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
5.0K
Stars
PHP
Language
5.0M
Lines of Code
9.2K
Files
1.5K
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 1.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 1.5/100 · LOW

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

PR Review Velocity Impact 1.7/100 · LOW

Which changes need focused human review? 1521 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 32MEDIUM 10LOW 1474

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 1521 distinct pattern matches across 20 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.

Hyper-Verbose Identifiers1318 hits · 1336 pts
SeverityFileLineSnippetContext
LOWapp/ConfigRepository.php402 private function loadPreUserConfigDefaults(): voidCODE
LOWapp/ConfigRepository.php433 private function loadPostUserConfigDefaults(): voidCODE
LOWapp/ConfigRepository.php586 public function populateLegacyDbCredentials(): voidCODE
LOWapp/Providers/AppServiceProvider.php118 private function bootCustomBladeDirectives(): voidCODE
LOWapp/Models/Port.php216 public function getIfPhysAddressAttribute($mac)CODE
LOWapp/Models/BgpPeerCbgp.php73 public function getSyncProtectedAttributes(): arrayCODE
LOWapp/Models/Vminfo.php115 public function getMemoryFormattedAttribute(): stringCODE
LOWapp/Models/Vminfo.php120 public function getOperatingSystemAttribute(): stringCODE
LOWapp/Models/Vrf.php101 public function getSyncProtectedAttributes(): arrayCODE
LOWapp/Models/DeviceGroup.php119 public function scopeNotInServiceTemplate($query, $serviceTemplate)CODE
LOW⚡app/Models/AlertSchedule.php116 public function getStartRecurringDtAttribute()CODE
LOW⚡app/Models/AlertSchedule.php121 public function getStartRecurringHrAttribute()CODE
LOW⚡app/Models/AlertSchedule.php126 public function getEndRecurringDtAttribute()CODE
LOW⚡app/Models/AlertSchedule.php133 public function getEndRecurringHrAttribute()CODE
LOW⚡app/Models/AlertSchedule.php138 public function setStartRecurringDtAttribute($date)CODE
LOW⚡app/Models/AlertSchedule.php143 public function setStartRecurringHrAttribute($time)CODE
LOW⚡app/Models/AlertSchedule.php148 public function setEndRecurringDtAttribute($date)CODE
LOW⚡app/Models/AlertSchedule.php153 public function setEndRecurringHrAttribute($time)CODE
LOWapp/Models/User.php158 public function setCanModifyPasswdAttribute($modify)CODE
LOWapp/Models/Sensor.php172 public function getSyncProtectedAttributes(): arrayCODE
LOWapp/Models/Mempool.php145 public function getSyncProtectedAttributes(): arrayCODE
LOWapp/Models/WirelessSensor.php137 public function getSyncProtectedAttributes(): arrayCODE
LOWapp/Models/Storage.php44 public function getSyncProtectedAttributes(): arrayCODE
LOWapp/Models/Device.php642 protected function scopeWhereAttributeDisabled(Builder $query, string $attribute): BuilderCODE
LOWapp/Models/Device.php708 public function scopeNotInServiceTemplate($query, $serviceTemplate)CODE
LOWapp/Models/Device.php1494 protected function childRouteBindingRelationshipName($childType): stringCODE
LOWapp/Models/BgpPeer.php88 public function getSyncProtectedAttributes(): arrayCODE
LOWapp/Models/ServiceTemplate.php114 public static function updateServiceTemplatesForDevice($device)CODE
LOWapp/Models/ServiceTemplate.php160 public static function updateServiceTemplatesForDeviceGroup($deviceGroup)CODE
LOWapp/Exceptions/ErrorReporting.php90 private function adjustErrorHandlingForAppEnv(string $environment): voidCODE
LOWapp/Http/Middleware/FormatJsonApiError.php55 protected function generateJsonApiErrorResponse(int $code): ?ResponseCODE
LOWapp/Http/Controllers/GraphsPageController.php61 private function handleWidescreenPreference(GraphsPageRequest $request): voidCODE
LOWapp/Http/Controllers/Device/EditPollingController.php261 private function reachabilityFailedResponse(CODE
LOWapp/Http/Controllers/Select/OsController.php40 private function sortAndFilterBySimilarity(string $term, array $items): arrayCODE
LOWapp/Facades/LibrenmsConfig.php47 public static function invalidateAndReload(): voidCODE
LOWapp/View/FieldSchema/FieldDefinition.php296 public static function buildVisibleIfExpressionFromArray(array $conditions, string $dataVar = 'formData'): ?stringCODE
LOWapp/Console/Commands/SmokepingGenerateCommand.php130 public function buildTargetsConfiguration(Collection $devices): intCODE
LOWapp/Console/Commands/DevGenerateTestData.php178 private function registerProgressListeners(Progress $progressBar): voidCODE
LOWapp/Console/Commands/Traits/CompletesConfigArgument.php70 protected function suggestionsForSelectDynamic(DynamicConfigItem $config, ?string $value): arrayCODE
LOW…/components/notification-subscription-status.blade.php22 function notificationSubscriptionStatus() {CODE
LOWresources/views/map/custom-legend-modal.blade.php229 function mapLegendCustomColourToggle() {CODE
LOWresources/views/widgets/alerts.blade.php28 function updateSeverityQuickFilterButtons() {CODE
LOW⚡tests/tests.py224 def test_full_fallback_to_meminfo_when_no_cgroup(self):CODE
LOW⚡tests/tests.py230 def test_nothing_readable_returns_none(self):CODE
LOW⚡tests/tests.py235 def test_zero_limit_no_div_by_zero(self):CODE
LOW⚡tests/tests.py266 def test_from_config_rejects_out_of_range(self):CODE
LOW⚡tests/tests.py271 def test_from_config_rejects_non_int(self):CODE
LOW⚡tests/tests.py275 def test_pause_when_at_or_above_limit(self):CODE
LOWtests/tests.py287 def test_hysteresis_holds_between_bands(self):CODE
LOWtests/tests.py301 def test_fails_open_when_undeterminable(self):CODE
LOWtests/tests.py333 def test_pause_and_resume_under_real_pressure(self):CODE
LOWtests/Unit/UnimusProviderTest.php60 public function testIsConfiguredDelegatesToClient(): voidCODE
LOWtests/Unit/UnimusProviderTest.php73 public function testBackupsStringifiesIds(): voidCODE
LOWtests/Unit/UnimusProviderTest.php93 public function testLatestStringifiesIdAndIncludesContent(): voidCODE
LOWtests/Unit/UnimusProviderTest.php108 public function testRefreshTriggersBackupJob(): voidCODE
LOW⚡tests/Unit/UnimusProviderTest.php121 public function testRefreshReturnsFalseWhenBackupRefused(): voidCODE
LOW⚡tests/Unit/UnimusProviderTest.php131 public function testRefreshReturnsFalseWhenDeviceNotFound(): voidCODE
LOW⚡tests/Unit/UnimusProviderTest.php138 public function testContentRejectsNonNumericId(): voidCODE
LOWtests/Unit/UnimusProviderTest.php149 public function testDiffRejectsNonNumericIds(): voidCODE
LOWtests/Unit/UnimusProviderTest.php160 public function testDeviceNotFoundErrorPassthrough(): voidCODE
1258 more matches not shown…
Empty Error Handlers22 hits · 110 pts
SeverityFileLineSnippetContext
HIGHsnmp-scan.py131except (herror, gaierror):CODE
HIGHtests/tests.py314except OSError:CODE
HIGHLibreNMS/service.py14except ImportError:CODE
HIGHLibreNMS/service.py29except ImportError:CODE
HIGHLibreNMS/service.py594except KeyboardInterrupt:CODE
HIGHLibreNMS/service.py847except AttributeError:CODE
HIGHLibreNMS/service.py857except AttributeError:CODE
HIGHLibreNMS/service.py381except ValueError:CODE
HIGHLibreNMS/wrapper.py143except:CODE
HIGHLibreNMS/wrapper.py554except:CODE
HIGHLibreNMS/wrapper.py198except:CODE
HIGHLibreNMS/queuemanager.py146except Exception:CODE
HIGHLibreNMS/queuemanager.py254except Empty:CODE
HIGHLibreNMS/command_runner.py35except ImportError:CODE
HIGHLibreNMS/command_runner.py40except ImportError:CODE
HIGHLibreNMS/command_runner.py53except ImportError:CODE
HIGHLibreNMS/command_runner.py172except Exception:CODE
HIGHLibreNMS/command_runner.py498except queue.Empty:CODE
HIGHLibreNMS/command_runner.py469except queue.Empty:CODE
HIGHLibreNMS/command_runner.py486except (TimeoutExpired, ValueError):CODE
HIGHLibreNMS/command_runner.py554except AttributeError:CODE
HIGHLibreNMS/command_runner.py479except (TimeoutExpired, ValueError):CODE
Fake / Example Data62 hits · 70 pts
SeverityFileLineSnippetContext
LOWapp/Http/Controllers/DashboardController.php133 'widget' => 'placeholder',CODE
LOWapp/Http/Controllers/DashboardController.php259 if (str_ends_with($route->uri, 'placeholder')) {CODE
LOWapp/Http/Controllers/Widgets/PlaceholderController.php31 protected string $name = 'placeholder';CODE
LOWapp/View/FieldSchema/FieldDefinition.php263 $array['placeholder'] = $this->getPlaceholder();CODE
LOWresources/definitions/config_definitions.json7069 "placeholder": "Select secret to add..."CODE
LOWresources/definitions/schema/config_schema.json85 "placeholder": {"type": "string"},CODE
LOWresources/definitions/schema/config_schema.json104 "placeholder": {"type": "string"},CODE
LOW…sources/views/components/field-schema-fields.blade.php61 * 'placeholder' => string|null,COMMENT
LOW…sources/views/components/field-schema-fields.blade.php91 'placeholder' => $config['placeholder'] ?? null,CODE
LOW…sources/views/components/field-schema-fields.blade.php176 @if(filled($field['placeholder'])) placeholder="{{ __($field['placeholder']) }}" @endifCODE
LOW…sources/views/components/field-schema-fields.blade.php202 @if(filled($field['placeholder'])) placeholder="{{ __($field['placeholder']) }}" @endifCODE
LOW…sources/views/components/field-schema-fields.blade.php214 @if(filled($field['placeholder'])) placeholder="{{ __($field['placeholder']) }}" @endifCODE
LOWresources/views/components/date-range-picker.blade.php6 'placeholder' => __('Select date range...'),CODE
LOWresources/views/components/select2.blade.php7 'placeholder' => null,CODE
LOW⚡tests/Unit/Polling/PollingMethodDefinitionTest.php62 $this->assertSame('1161', $fields['port']['placeholder']);CODE
LOW⚡tests/Unit/Polling/PollingMethodDefinitionTest.php63 $this->assertSame('7', $fields['max_repeaters']['placeholder']);CODE
LOW⚡tests/Unit/Polling/PollingMethodDefinitionTest.php64 $this->assertArrayNotHasKey('placeholder', $fields['context']);CODE
LOW⚡tests/Unit/Polling/PollingMethodDefinitionTest.php68 $this->assertSame("Default: device's hostname", $ipmiFields['hostname']['placeholder']);CODE
LOW⚡tests/Unit/Polling/PollingMethodDefinitionTest.php69 $this->assertSame('Default: ipmitool', $ipmiFields['timeout']['placeholder']); // ipmitool's default differs by CODE
LOW⚡tests/Unit/Util/MailTest.php35 'user@example.com',CODE
LOW⚡tests/Unit/Util/MailTest.php36 ['user@example.com' => 'LibreNMS'],CODE
LOW⚡tests/Unit/Util/MailTest.php39 '"John Doe" <john@example.com>',CODE
LOW⚡tests/Unit/Util/MailTest.php40 ['john@example.com' => 'John Doe'],CODE
LOW⚡tests/Unit/Util/MailTest.php43 "'John Doe' <john@example.com>",CODE
LOW⚡tests/Unit/Util/MailTest.php44 ['john@example.com' => 'John Doe'],CODE
LOWtests/Unit/Util/MailTest.php71 ['john@example.com' => 'John Doe'],CODE
LOWtests/Unit/Http/Parsers/AlertLogDetailParserTest.php305 'sysContact' => 'admin@example.com', // should be includedCODE
LOW⚡tests/Unit/View/SimpleTemplateTest.php259 $template = new SimpleTemplate('{{ user.name }}', ['user.name' => 'John Doe']);CODE
LOW⚡tests/Unit/View/SimpleTemplateTest.php260 $this->assertEquals('John Doe', (string) $template);CODE
LOWtests/Feature/AuthSSOTest.php83 $_SERVER['mail'] = 'test@example.org';CODE
LOWtests/Feature/AuthSSOTest.php97 $_SERVER['HTTP_MAIL'] = 'test@example.org';CODE
LOWtests/data/airos-af60_v3.4.json9 "sysContact": "test@test.com",CODE
LOWtests/data/mediornet_mn-horizon.json9 "sysContact": "noc@example.org",CODE
LOW…Polling/Method/Definitions/PollingMethodDefinition.php46 } elseif (! isset($schemaField['placeholder']) && $default !== null && $default !== '') {CODE
LOW…Polling/Method/Definitions/PollingMethodDefinition.php47 $schemaField['placeholder'] = (string) $default;CODE
LOWhtml/js/bootstrap-datetimepicker.min.js2return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=tyCODE
LOWhtml/js/select2.full.min.js2!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.eCODE
LOWhtml/js/RrdGraphJS/q-5.0.2.min.js14(function(){var b=".prototype",c="function",d="Boolean",e="Error",f="Object.keys requires an object as argument.",g="conCODE
LOWlang/sv/widgets.php55 'placeholder' => [CODE
LOWlang/it/search.php4 'placeholder' => 'Inserisci / per la ricerca',CODE
LOWlang/ru/search.php4 'placeholder' => 'Введите / для поиска',CODE
LOWlang/zh-CN/search.php4 'placeholder' => '输入 / 进行搜索',CODE
LOWlang/uk/search.php4 'placeholder' => 'Введіть / для пошуку',CODE
LOWlang/sr/search.php4 'placeholder' => 'Унесите / за претрагу',CODE
LOWlang/zh-TW/widgets.php55 'placeholder' => [CODE
LOWlang/zh-TW/search.php4 'placeholder' => '輸入 / 進行搜尋',CODE
LOWlang/pt-BR/search.php4 'placeholder' => 'Digite / para pesquisar',CODE
LOWlang/ka/search.php4 'placeholder' => 'აკრიფეთ / მოსაძებნად',CODE
LOWlang/de/search.php4 'placeholder' => 'Geben Sie / ein, um zu suchen',CODE
LOWlang/ko/widgets.php55 'placeholder' => [CODE
LOWlang/ko/search.php4 'placeholder' => '검색하려면 /를 입력하세요',CODE
LOWlang/fr/search.php4 'placeholder' => 'Entrez / pour la recherche',CODE
LOWlang/es/widgets.php52 'placeholder' => [CODE
LOWlang/es/search.php4 'placeholder' => 'Ingrese / para buscar',CODE
LOWlang/en/widgets.php55 'placeholder' => [CODE
LOWlang/en/first_run.php49 'placeholder' => 'Add a network, like 192.168.1.0/24',CODE
LOWlang/en/search.php4 'placeholder' => 'Type / to search',CODE
LOWdoc/Developing/Using-Git.md31git config --global user.name "John Doe"CODE
LOWdoc/General/Changelogs/2019.md1319 - fake-name (1)CODE
LOWdoc/General/Changelogs/2019.md1340* Fix Smokeping setup instructions so they actually work ([#9731](https://github.com/librenms/librenms/pull/9731)) - [faCOMMENT
2 more matches not shown…
Hallucination Indicators5 hits · 60 pts
SeverityFileLineSnippetContext
CRITICALhtml/js/vis-timeline-graph2d.min.js83 * Licensed under the MIT license */function WD(){return(WD=Object.assign||function(t){for(var e=1;e<arguments.length;eCOMMENT
CRITICALhtml/js/jquery.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALhtml/js/esri-leaflet-vector.js4!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("esri-leaflet"),require("leaflet")CODE
CRITICALhtml/js/esri-leaflet.js11 * Apache-2.0 */function T(t,e){return I(t,e)}function C(t,e){return S(t,e)}function w(t){if("NaN"!==t.xmin&&"NaN"!==tCOMMENT
CRITICALhtml/js/RrdGraphJS/q-5.0.2.min.js14(function(){var b=".prototype",c="function",d="Boolean",e="Error",f="Object.keys requires an object as argument.",g="conCODE
Over-Commented Block32 hits · 32 pts
SeverityFileLineSnippetContext
LOWdaily.sh1#!/usr/bin/env bashCOMMENT
LOWdaily.sh41# Append a timestamped line to the daily logCOMMENT
LOWresources/js/bootstrap.js41// key: import.meta.env.VITE_PUSHER_APP_KEY,COMMENT
LOWresources/definitions/os_discovery/primekey.yaml161 - { value: 1, generic: 2, descr: '> 80% full' }COMMENT
LOWresources/definitions/os_discovery/scalance.yaml161# - { value: 1, generic: 2, descr: 'notPresent' }COMMENT
LOWincludes/systemd-shared.inc.php1<?phpCOMMENT
LOWincludes/systemd-shared.inc.php21// Therefore, existing metrics are now associated withCOMMENT
LOWincludes/polling/ucd-mib.inc.php1<?phpCOMMENT
LOWincludes/polling/ucd-mib.inc.php21// UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 205336019COMMENT
LOWincludes/polling/netscaler-vsvr.inc.php1<?phpCOMMENT
LOWincludes/polling/netscaler-vsvr.inc.php21// NS-ROOT-MIB::vsvrCurServicesTransToOutOfSvc."librenms" = Gauge32: 0COMMENT
LOWincludes/polling/cisco-remote-access-monitor.inc.php1<?phpCOMMENT
LOWincludes/polling/cisco-remote-access-monitor.inc.php21// CISCO-REMOTE-ACCESS-MONITOR-MIB::crasIPSecCumulateSessions.0 = Counter32: 0 SessionsCOMMENT
LOWincludes/polling/cisco-ipsec-flow-monitor.inc.php1<?phpCOMMENT
LOWincludes/polling/cisco-ipsec-flow-monitor.inc.php21// CISCO-IPSEC-FLOW-MONITOR-MIB::cipSecGlobalOutOctets.0 = Counter32: 3486168696 OctetsCOMMENT
LOWincludes/polling/applications/ss.inc.php61// List to track which sockets we should graph. If the end-userCOMMENT
LOWincludes/discovery/sensors/state/fortigate.inc.php41 // As of July 2024:COMMENT
LOWincludes/html/pages/device/apps/suricata.inc.php121 // capture__kernel_dropsCOMMENT
LOWincludes/html/pages/device/apps/suricata.inc.php221 // http__memuseCOMMENT
LOWLibreNMS/OS/Traits/VminfoLibvirt.php81 [$dom_id] = explode(' ', trim($dom), 2);COMMENT
LOWhtml/css/styles.css421 border-top: 1px solid #a8a8a8;COMMENT
LOWhtml/js/raphael.min.js1// ┌────────────────────────────────────────────────────────────────────┐ \\COMMENT
LOWhtml/js/overlib_mini.js1//\/////COMMENT
LOWscripts/watchmaillog/watchmaillog.pl1#!/usr/bin/env perlCOMMENT
LOWscripts/Migration/XML_Conversion/mkdir.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/Migration/XML_Conversion/destwork.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/Migration/XML_Conversion/convert.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/Migration/Standard_Conversion/mkdir.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/Migration/Standard_Conversion/convert_no_xml.sh1#!/usr/bin/env bashCOMMENT
LOW…ripts/Migration/Standard_Conversion/destwork_no_xml.sh1#!/usr/bin/env bashCOMMENT
LOWdoc/Extensions/Syslog.md221 url => "https://sink.librenms.org/api/v0/syslogsink/ # replace with your librenms hostCOMMENT
LOWdoc/Extensions/Varnish.md181#COMMENT
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHpoller-wrapper.py0this is a bootstrap script for wrapper.py, in order to retain compatibility with earlier librenms setupsSTRING
HIGHdiscovery-wrapper.py0this is a bootstrap script for wrapper.py, in order to retain compatibility with earlier librenms setupsSTRING
HIGHservices-wrapper.py0this is a bootstrap script for wrapper.py, in order to retain compatibility with earlier librenms setupsSTRING
HIGHpoller-wrapper.py0take the amount of threads we want to run in parallel from the commandline if none are given or the argument was garbageSTRING
HIGHdiscovery-wrapper.py0take the amount of threads we want to run in parallel from the commandline if none are given or the argument was garbageSTRING
HIGHservices-wrapper.py0take the amount of threads we want to run in parallel from the commandline if none are given or the argument was garbageSTRING
Excessive Try-Catch Wrapping22 hits · 26 pts
SeverityFileLineSnippetContext
LOWlibrenms-service.py73 except Exception as e:CODE
LOWLibreNMS/service.py740 except Exception as e:CODE
LOWLibreNMS/service.py918 except Exception:CODE
MEDIUMLibreNMS/service.py308def load_poller_config(self, db):CODE
LOWLibreNMS/wrapper.py332 except Exception:CODE
LOWLibreNMS/wrapper.py590 except Exception:CODE
LOWLibreNMS/queuemanager.py111 except Exception:CODE
LOWLibreNMS/queuemanager.py146 except Exception:CODE
LOWLibreNMS/queuemanager.py262 except Exception as e:CODE
LOWLibreNMS/queuemanager.py394 except Exception as e:CODE
MEDIUMLibreNMS/queuemanager.py132def _frac_meminfo(proc_meminfo):CODE
LOWLibreNMS/command_runner.py172 except Exception:CODE
LOWLibreNMS/command_runner.py184 except Exception:CODE
LOWLibreNMS/command_runner.py605 except Exception as exc:CODE
MEDIUMLibreNMS/__init__.py41def logger_get_console_handler():CODE
MEDIUMLibreNMS/__init__.py339def connect(self):CODE
LOWLibreNMS/__init__.py178 except Exception as exc:CODE
LOWLibreNMS/__init__.py222 except Exception:CODE
LOWLibreNMS/__init__.py237 except Exception:CODE
LOWLibreNMS/__init__.py390 except Exception as e:CODE
LOWLibreNMS/__init__.py419 except Exception as e:CODE
LOWLibreNMS/__init__.py763 except Exception as e:CODE
Decorative Section Separators4 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUM⚡html/js/raphael.min.js1// ┌────────────────────────────────────────────────────────────────────┐ \\COMMENT
MEDIUM⚡html/js/raphael.min.js3// ├────────────────────────────────────────────────────────────────────┤ \\COMMENT
MEDIUM⚡html/js/raphael.min.js6// ├────────────────────────────────────────────────────────────────────┤ \\COMMENT
MEDIUM⚡html/js/raphael.min.js8// └────────────────────────────────────────────────────────────────────┘ \\COMMENT
Unused Imports15 hits · 14 pts
SeverityFileLineSnippetContext
LOWLibreNMS/command_runner.py24CODE
LOWLibreNMS/command_runner.py52CODE
LOWLibreNMS/command_runner.py52CODE
LOWLibreNMS/command_runner.py52CODE
LOWLibreNMS/command_runner.py52CODE
LOWLibreNMS/command_runner.py52CODE
LOWLibreNMS/command_runner.py52CODE
LOWLibreNMS/__init__.py19CODE
LOWLibreNMS/__init__.py19CODE
LOWLibreNMS/__init__.py19CODE
LOWLibreNMS/__init__.py19CODE
LOWLibreNMS/__init__.py19CODE
LOWLibreNMS/__init__.py19CODE
LOWLibreNMS/__init__.py27CODE
LOWLibreNMS/__init__.py27CODE
Deep Nesting15 hits · 14 pts
SeverityFileLineSnippetContext
LOWsnmp-scan.py122CODE
LOWtests/tests.py306CODE
LOWLibreNMS/service.py373CODE
LOWLibreNMS/service.py479CODE
LOWLibreNMS/wrapper.py158CODE
LOWLibreNMS/wrapper.py228CODE
LOWLibreNMS/wrapper.py338CODE
LOWLibreNMS/queuemanager.py132CODE
LOWLibreNMS/queuemanager.py213CODE
LOWLibreNMS/command_runner.py199CODE
LOWLibreNMS/command_runner.py341CODE
LOWLibreNMS/command_runner.py433CODE
LOWLibreNMS/__init__.py253CODE
LOWLibreNMS/__init__.py309CODE
LOWLibreNMS/__init__.py339CODE
Structural Annotation Overuse6 hits · 9 pts
SeverityFileLineSnippetContext
LOW.agents/skills/add-os-support/SKILL.md99## Step 1: Add Vendor MIBsCOMMENT
LOW.agents/skills/add-os-support/SKILL.md115## Step 2: Define OS DetectionCOMMENT
LOW.agents/skills/add-os-support/SKILL.md170## Step 3: Define OS DiscoveryCOMMENT
LOW.agents/skills/add-os-support/SKILL.md337## Step 4: Add IconsCOMMENT
LOW.agents/skills/add-os-support/SKILL.md345## Step 5: Create Test Data (Mandatory)COMMENT
LOW.agents/skills/add-os-support/SKILL.md378## Step 6: Verify TestsCOMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHdoc/Extensions/Varnish.md199# In this example our objective is to cache static content with Varnish and temporarilyCOMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMLibreNMS/command_runner.py4# This file is part of command_runner moduleCOMMENT
MEDIUMscripts/dynamic_check_requirements.py4# This file is part of LibreNMSCOMMENT
Cross-Language Confusion2 hits · 5 pts
SeverityFileLineSnippetContext
HIGHLibreNMS/wrapper.py22FreeBSD: cd /usr/ports/*/py-MySQLdb && make install cleanSTRING
HIGHLibreNMS/wrapper.py24RHEL 8: dnf install mariadb-connector-c-devel gcc && python -m pip install mysqlclientSTRING
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdoc/Alerting/Transports/Flowtriq.md11| API Key | your-api-key |CODE
Modern Structural Boilerplate4 hits · 4 pts
SeverityFileLineSnippetContext
LOWLibreNMS/service.py40logger = logging.getLogger(__name__)CODE
LOWLibreNMS/wrapper.py58logger = logging.getLogger(__name__)CODE
LOWLibreNMS/queuemanager.py13logger = logging.getLogger(__name__)CODE
LOWLibreNMS/__init__.py33logger = logging.getLogger(__name__)CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWdaily.sh381 # Check if we need to revert (Must be in post pull so we can update it)COMMENT
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsnmp-scan.py127 # attempt to convert IP to hostname, if anything goes wrong, just use the IPCOMMENT
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWLibreNMS/command_runner.py199CODE
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippetContext
LOWhtml/js/esri-leaflet-vector.js4!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("esri-leaflet"),require("leaflet")CODE