AI Slop Code Risk Monitor

open5gs/open5gs

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

Open5GS is a C-language Open Source implementation for 5G Core and EPC, i.e. the core network of LTE/NR network (Release-19)

0.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for open5gs/open5gs, a C project with 2,800 GitHub stars. SynthScan examined 3,030,739 lines of code across 11263 source files, recording 2514 pattern matches distributed across 14 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-31
Last Push
2.8K
Stars
C
Language
3.0M
Lines of Code
11.3K
Files
2.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 3.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.2/100 · LOW

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

PR Review Velocity Impact 4.2/100 · LOW

Which changes need focused human review? 2514 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 6MEDIUM 37LOW 2471

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 2514 distinct pattern matches across 14 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 Block2418 hits · 2349 pts
SeverityFileLineSnippetContext
LOWmisc/valgrind/parse_suppressions.sh1#! /usr/bin/awk -fCOMMENT
LOWtests/unit/mme-attach-test.c121#define emm_state_initial attach_state_initialCOMMENT
LOWtests/unit/mme-attach-test.c161#define mme_send_release_access_bearer_or_ue_context_release attach_access_releaseCOMMENT
LOWtests/unit/mme-attach-test.c181#define mme_s11_handle_delete_indirect_data_forwarding_tunnel_response attach_delete_tunnel_responseCOMMENT
LOWtests/unit/mme-attach-test.c221#define mme_gtp_send_update_bearer_response attach_gtp_update_bearerCOMMENT
LOWtests/unit/mme-attach-test.c241#undef mme_gtp_closeCOMMENT
LOWtests/unit/mme-apn-test.c41{ return OGS_OK; }COMMENT
LOWtests/unit/amf-registration-test.c121 return OGS_OK;COMMENT
LOWtests/unit/amf-registration-test.c141#define nas_5gs_send_registration_reject registration_gmm_rejectCOMMENT
LOWtests/unit/amf-registration-test.c161#undef GMM_HANDLER_HCOMMENT
LOWtests/unit/amf-registration-test.c181void gmm_state_ue_context_will_remove(ogs_fsm_t *s, amf_event_t *e);COMMENT
LOWtests/unit/amf-registration-test.c201#define amf_sess_sbi_discover_by_nsi registration_discover_nsiCOMMENT
LOWtests/fuzzing/sbi-openapi-model-fuzz.c21#include <stdint.h>COMMENT
LOWtests/fuzzing/sbi-openapi-model-fuzz.c41#include "model/pcc_rule.h"COMMENT
LOWtests/core/tlv-test.c21#include "core/abts.h"COMMENT
LOWtests/common/context.h21#error "This header cannot be included directly."COMMENT
LOWtests/common/test-common.h21#define TEST_COMMON_HCOMMENT
LOWtests/common/test-common.h41#include "ogs-sbi.h"COMMENT
LOWtests/common/test-common.h61#include "common/ngap-path.h"COMMENT
LOWtests/common/sctp.h41#define testenb_s1ap_close ogs_socknode_freeCOMMENT
LOWtests/sctp/sctp-test.c21#include "core/abts.h"COMMENT
LOWdocs/_config.yml1# Welcome to Jekyll!COMMENT
LOWdocs/_docs/tutorial/02-VoLTE-setup.md561 // ports to talk. See http://www.kb.cert.org/vuls/id/800113COMMENT
LOWdocs/_docs/tutorial/04-metrics-prometheus.md41#COMMENT
LOWdocs/_docs/troubleshoot/02-now-in-github-issues.md1021# o SGW selection by eNodeB TACCOMMENT
LOWdocs/_docs/troubleshoot/02-now-in-github-issues.md1041# o SMF selection by APNCOMMENT
LOWdocs/_docs/troubleshoot/02-now-in-github-issues.md1061# (either single or multiple e_cell_id, HEX representation)COMMENT
LOWdocs/_docs/troubleshoot/02-now-in-github-issues.md1081# subnet: 10.45.0.1/16COMMENT
LOWdocs/_docs/troubleshoot/02-now-in-github-issues.md1101# - subnet: 2001:db8:cafe::1/48COMMENT
LOWdocs/_docs/troubleshoot/02-now-in-github-issues.md1121# - -10.45.0.200COMMENT
LOW.github/FUNDING.yml1# These are supported funding model platformsCOMMENT
LOW.github/stale.yml41# Comment to post when closing a stale Issue or Pull Request.COMMENT
LOWlib/core/ogs-sockpair.h21#error "This header cannot be included directly."COMMENT
LOWlib/core/ogs-tlv-msg.h21#if !defined(OGS_CORE_INSIDE) && !defined(OGS_CORE_COMPILATION)COMMENT
LOWlib/core/ogs-tlv.h21#if !defined(OGS_CORE_INSIDE) && !defined(OGS_CORE_COMPILATION)COMMENT
LOWlib/core/ogs-signal.h41COMMENT
LOWlib/core/abts.c21 * Modified by Sukchan Lee to fit Open5GS coding style.COMMENT
LOWlib/core/ogs-strings.c41 *COMMENT
LOWlib/core/ogs-log.h21#error "This header cannot be included directly."COMMENT
LOWlib/core/ogs-time.c61#include <mach/mach.h>COMMENT
LOWlib/core/ogs-sockaddr.c41#if HAVE_CTYPE_HCOMMENT
LOWlib/core/ogs-socket.h21#error "This header cannot be included directly."COMMENT
LOWlib/core/ogs-signal.c141#ifdef SIGHUPCOMMENT
LOWlib/core/ogs-signal.c161#endifCOMMENT
LOWlib/core/ogs-signal.c181 store_desc(SIGPIPE, "Broken pipe");COMMENT
LOWlib/core/ogs-signal.c201#ifdef SIGPWRCOMMENT
LOWlib/core/ogs-signal.c221#endifCOMMENT
LOWlib/core/ogs-signal.c261{COMMENT
LOWlib/core/ogs-rand.c21COMMENT
LOWlib/core/ogs-memory.h81#define ogs_malloc(size) ogs_malloc_debug(size, OGS_FILE_LINE)COMMENT
LOWlib/core/ogs-compat.h21#error "This header cannot be included directly."COMMENT
LOWlib/core/ogs-compat.h41#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600)COMMENT
LOWlib/core/ogs-compat.h61#include <netinet/in.h>COMMENT
LOWlib/core/ogs-strings.h41 *COMMENT
LOWlib/core/abts.h21 * Modified by Sukchan Lee to fit Open5GS coding style.COMMENT
LOWlib/core/ogs-macros.h21#error "This header cannot be included directly."COMMENT
LOWlib/core/ogs-macros.h41#elseCOMMENT
LOWlib/core/ogs-macros.h61#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)COMMENT
LOWlib/core/ogs-macros.h81#define htole32(x) (x)COMMENT
LOWlib/core/ogs-macros.h101#define le64toh(x) OSSwapLittleToHostInt64((x))COMMENT
2358 more matches not shown…
Decorative Section Separators28 hits · 90 pts
SeverityFileLineSnippetContext
MEDIUM⚡…/support/r19-20260402-openapitools-7.20.0/transform.py1266# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…/support/r19-20260402-openapitools-7.20.0/transform.py1268# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py294# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py296# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py366# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py368# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py509# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py511# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py925# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py927# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py1667# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py1669# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py1783# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r19-20260402-openapitools-7.20.0/transform.py1785# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…/support/r17-20260316-openapitools-7.20.0/transform.py1266# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…/support/r17-20260316-openapitools-7.20.0/transform.py1268# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py294# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py296# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py366# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py368# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py509# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py511# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py925# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py927# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py1590# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py1592# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py1703# ---------------------------------------------------------------------------COMMENT
MEDIUM…/support/r17-20260316-openapitools-7.20.0/transform.py1705# ---------------------------------------------------------------------------COMMENT
Self-Referential Comments7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMlib/pfcp/support/pfcp-tlv.py3# This file is part of Open5GS.COMMENT
MEDIUMlib/nas/5gs/support/nas-message.py5# This file is part of Open5GS.COMMENT
MEDIUMlib/nas/5gs/support/type-list.py4# This file is part of Open5GS.COMMENT
MEDIUMlib/nas/eps/support/nas-message.py5# This file is part of Open5GS.COMMENT
MEDIUMlib/nas/eps/support/type-list.py4# This file is part of Open5GS.COMMENT
MEDIUMlib/gtp/v1/support/gtp1-tlv.py5# This file is part of Open5GS.COMMENT
MEDIUMlib/gtp/v2/support/gtp-tlv.py3# This file is part of Open5GS.COMMENT
Hyper-Verbose Identifiers20 hits · 16 pts
SeverityFileLineSnippetContext
LOWlib/pfcp/support/pfcp-tlv.py139def find_group_ie_header_cell(row):STRING
LOWlib/pfcp/support/pfcp-tlv.py190def sorted_group_items_by_dependency(sorted_group_list):STRING
LOW⚡…/support/r19-20260402-openapitools-7.20.0/transform.py1270def _extract_schema_name_from_ref(ref_str):CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py25def split_lines_preserve_exact(text: str):CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py59def try_transform_allof_patterns(lines, start_idx):CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py127def try_transform_extensible_enum(lines, start_idx, keyword="anyOf"):CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py605def resolve_ref_is_null_value(ref_str: str) -> bool:CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py617def _is_inline_extensible_enum(item_lines):CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py1352def try_transform_category_i_mixed(lines, start_idx, all_schemas, current_file,CODE
LOW⚡…/support/r17-20260316-openapitools-7.20.0/transform.py1270def _extract_schema_name_from_ref(ref_str):CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py25def split_lines_preserve_exact(text: str):CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py59def try_transform_allof_patterns(lines, start_idx):CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py127def try_transform_extensible_enum(lines, start_idx, keyword="anyOf"):CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py605def resolve_ref_is_null_value(ref_str: str) -> bool:CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py617def _is_inline_extensible_enum(item_lines):CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py1304def try_transform_category_i_mixed(lines, start_idx, all_schemas, current_file,CODE
LOWlib/gtp/v1/support/gtp1-tlv.py189def document_paragraph_tables(document):STRING
LOWlib/gtp/v2/support/gtp-tlv.py223def find_group_ie_header_cell(row):CODE
LOWlib/gtp/v2/support/gtp-tlv.py260def document_paragraph_tables(document):CODE
LOWlib/asn1c/common/constr_TYPE.h186typedef asn_type_selector_result_t(asn_type_selector_f)(CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHlib/pfcp/support/pfcp-tlv.py0/* * copyright (c) 2019 by sukchan lee <acetcom@gmail.com> * copyright (c) 2022 by sysmocom - s.f.m.c. gmbh <info@sysmocSTRING
HIGHlib/gtp/v2/support/gtp-tlv.py0/* * copyright (c) 2019 by sukchan lee <acetcom@gmail.com> * copyright (c) 2022 by sysmocom - s.f.m.c. gmbh <info@sysmocSTRING
HIGHlib/gtp/v1/support/gtp1-tlv.py0/* * copyright (c) 2019 by sukchan lee <acetcom@gmail.com> * copyright (c) 2022 by sysmocom - s.f.m.c. gmbh <info@sysmocSTRING
Deep Nesting22 hits · 12 pts
SeverityFileLineSnippetContext
LOWlib/pfcp/support/pfcp-tlv.py267CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py127CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py409CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py527CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py617CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py712CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py951CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py1025CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py1055CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py1352CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py1671CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py127CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py409CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py527CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py617CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py712CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py951CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py1025CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py1055CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py1304CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py1594CODE
LOWlib/gtp/v2/support/gtp-tlv.py127CODE
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHlib/pfcp/support/pfcp-tlv.py487except:CODE
HIGHlib/pfcp/support/pfcp-tlv.py524except:CODE
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMlib/asn1c/common/per_support.c9// Absolutely nothingCOMMENT
MEDIUMlib/asn1c/common/per_decoder.c5// Absolutely nothingCOMMENT
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHlib/gtp/v1/support/gtp1-tlv.py671 if (h->e || h->s || h->pn)CODE
Unused Imports3 hits · 3 pts
SeverityFileLineSnippetContext
LOWmisc/db/python/Open5GS.py2CODE
LOWmisc/db/python/Open5GS.py3CODE
LOWmisc/db/python/test_SchemaUpdater.py2CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py828 # Check if this item has an enum: blockCOMMENT
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py828 # Check if this item has an enum: blockCOMMENT
Excessive Try-Catch Wrapping4 hits · 3 pts
SeverityFileLineSnippetContext
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py540 except Exception:CODE
LOW…/support/r19-20260402-openapitools-7.20.0/transform.py573 except Exception:CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py540 except Exception:CODE
LOW…/support/r17-20260316-openapitools-7.20.0/transform.py573 except Exception:CODE
Fake / Example Data1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/amf/gmm-handler.c607 /* Robustness: many devices (and fuzzers) send a "placeholder" 5G-GUTICOMMENT
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWlib/gtp/v2/support/gtp-tlv.py177CODE