AI Slop Code Risk Monitor

TykTechnologies/tyk

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

Open Source API and AI Gateway supporting REST, GraphQL, TCP, gRPC and MCP (Model Context Protocol)

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for TykTechnologies/tyk, a Go project with 10,872 GitHub stars. SynthScan examined 459,263 lines of code across 1586 source files, recording 422 pattern matches distributed across 18 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-31
Last Push
10.9K
Stars
Go
Language
459.3K
Lines of Code
1.6K
Files
422
Pattern Hits
2026-10-31
Scan Date
0.01
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.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.8/100 · LOW

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

Agent Over-Engineering Ratio 1.8/100 · LOW

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

PR Review Velocity Impact 6.9/100 · LOW

Which changes need focused human review? 422 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 11HIGH 1MEDIUM 65LOW 345

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 422 distinct pattern matches across 18 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 · 196 pts
SeverityFileLineSnippetContext
LOW.golangci.dev.yml1version: "2"COMMENT
LOW.golangci.yml1version: "2"COMMENT
LOW.golangci.yml121 # or some structurally known areas like testutil and testCOMMENT
LOWconfig/config.go121 // to `file` or an empty string. If `policies.policy_path` is not set, then Tyk will load policiesCOMMENT
LOWconfig/config.go181 Timeout int `json:"timeout"`COMMENT
LOWconfig/config.go201 TLSMinVersion string `json:"tls_min_version"`COMMENT
LOWconfig/config.go221 // Note: The maximum decompressed size is controlled by `max_decompressed_size`.COMMENT
LOWconfig/config.go241 Enabled bool `json:"enabled"`COMMENT
LOWconfig/config.go261 //COMMENT
LOWconfig/config.go341COMMENT
LOWconfig/config.go361 // - `circuit_breaker_state` will include the circuit breaker state when applicable.COMMENT
LOWconfig/config.go381 // - `upstream_latency` will include the upstream latency of the request.COMMENT
LOWconfig/config.go581 // Enable HTTP2 protocol handlingCOMMENT
LOWconfig/config.go601 // For patterns that start with `^`, the gateway will already perform prefix matching so EnablePathPrefixMatching will COMMENT
LOWconfig/config.go621 // This option allows for more specific and controlled routing of API requests, potentially reducing unintended matchesCOMMENT
LOWconfig/config.go641 // The string value in the array can be two of the following options:COMMENT
LOWconfig/config.go661COMMENT
LOWconfig/config.go681 // - If the API Request contains the `Content-Length` header, this is directly compared against `MaxRequestBodySize`.COMMENT
LOWconfig/config.go1021 // If Tyk is being used in its standard configuration (Open Source installations), then API definitions are stored in tCOMMENT
LOWconfig/config.go1041COMMENT
LOWconfig/config.go1061COMMENT
LOWconfig/config.go1081 // "monitor": {COMMENT
LOWconfig/config.go1141COMMENT
LOWconfig/config.go1201 // Tyk is capable of recording every hit to your API to a database with various filtering parameters. Set this value toCOMMENT
LOWconfig/config.go1221 // "enabled": true, //Turned off by defaultCOMMENT
LOWconfig/config.go1241 // cache (no size eviction). Only safe when the distinct-pattern keyspaceCOMMENT
LOWconfig/config.go1261 // Example:COMMENT
LOWconfig/config.go1301 // Ignore the case of any endpoints for APIs managed by Tyk. Setting this to `true` will override any individual API anCOMMENT
LOWconfig/config.go1321 // Allowed values are `text`, `json`, `legacy` or an array of log sinks.COMMENT
LOWconfig/config.go1341COMMENT
LOWconfig/config.go1421 //COMMENT
LOWconfig/config.go1441 // Sample Override Message SettingCOMMENT
LOWconfig/config.go1461 // "500": [{COMMENT
LOWconfig/external_service.go21}COMMENT
LOWconfig/development.go1//go:build devCOMMENT
LOWconfig/opentracing_custom_env_loader.go21 BatchSize int `json:"batch_size"`COMMENT
LOWconfig/opentracing_custom_env_loader.go61 b, err := yaml.Marshal(src)COMMENT
LOWconfig/opentracing_custom_env_loader.go101//COMMENT
LOWci/images/plugin-compiler/data/build.sh1#!/bin/bashCOMMENT
LOWci/images/plugin-compiler-ng/scripts/loadtest-gate.sh1#!/usr/bin/env bashCOMMENT
LOW…mages/plugin-compiler-ng/data/sysroot-2.17-digests.txt1# manylinux2014 image digests = the glibc-2.17 (RHEL 7 / CentOS 7 ABI) sysroot sources.COMMENT
LOWci/images/plugin-compiler-ng/data/build.sh1#!/bin/bashCOMMENT
LOWci/images/plugin-compiler-ng/data/validate-plugin.sh1#!/bin/bashCOMMENT
LOWinternal/rate/smoothing.go21 }COMMENT
LOWinternal/graphengine/transport.go21 transportType GraphQLEngineTransportTypeCOMMENT
LOWinternal/graphengine/credential_isolation_test.go701 }COMMENT
LOWinternal/graphengine/credential_isolation_test.go1221 assert.ElementsMatch(t, credentials, upstream.headerValues(dynamicUpstreamHeader))COMMENT
LOWinternal/graphengine/engine_v1_test.go421COMMENT
LOWinternal/crypto/helpers.go41// and returns the result as a hexadecimal string.COMMENT
LOWinternal/crypto/helpers.go161COMMENT
LOWinternal/crypto/testutil.go81//COMMENT
LOWinternal/crypto/testutil.go121 // Encode the server certificate to PEM formatCOMMENT
LOWinternal/crypto/testutil.go141// Returns:COMMENT
LOWinternal/crypto/testutil.go201 var clientKeyPEM bytes.BufferCOMMENT
LOWinternal/jwkcompat/jwkcompat.go1// Package jwkcompat parses JSON Web Key Sets exactly the way go-jose v3 did,COMMENT
LOWinternal/jsonrpc/vem.go1// Package jsonrpc provides utilities for JSON-RPC 2.0 protocol handling.COMMENT
LOWinternal/reflect/reflect.go61 // later, as a default value doesn't makes sense here.COMMENT
LOWinternal/reflect/reflect.go81// }COMMENT
LOWinternal/otel/mcp_trace_context.go101// SetDefaults fills an omitted read-source list with the canonical default. AnCOMMENT
LOWinternal/otel/config.go41 // Defaults to true when metrics are enabled.COMMENT
141 more matches not shown…
Decorative Section Separators53 hits · 148 pts
SeverityFileLineSnippetContext
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1265# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1267# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1274 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1276 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1309 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1311 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1321 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1323 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1342 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1344 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1354 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1356 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1366 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1368 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1373 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1375 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1380 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1382 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1387 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1389 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1394 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1396 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1401 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1403 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1423 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1425 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1427 # ==========================================================================COMMENT
MEDIUM⚡ci/tests/error-overrides/scripts/run-override-tests.sh1429 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh8# =============================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh28# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh30# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh75# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh77# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh210# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh212# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1241# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1243# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1549 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1551 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1596 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1598 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1623 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1625 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1646 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1648 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1722 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1724 # ==========================================================================COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1765# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1767# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1792# -----------------------------------------------------------------------------COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh1794# -----------------------------------------------------------------------------COMMENT
MEDIUMgateway/sse_hook_mcp_list_filter_test.go565// ── Out-of-Order Frame Tests ────────────────────────────────────────────────COMMENT
MEDIUMgateway/sse_hook_mcp_list_filter_test.go1035// ── Benchmarks ──────────────────────────────────────────────────────────────COMMENT
Hallucination Indicators11 hits · 125 pts
SeverityFileLineSnippetContext
CRITICALcoprocess/bindings/java/CoprocessCommon.java622 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICALcoprocess/bindings/java/CoprocessSessionState.java637 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICALcoprocess/bindings/java/CoprocessSessionState.java1598 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICALcoprocess/bindings/java/CoprocessSessionState.java1768 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICALcoprocess/bindings/java/CoprocessSessionState.java3532 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICALcoprocess/bindings/java/CoprocessSessionState.java6972 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICALcoprocess/bindings/java/CoprocessMiniRequestObject.java1853 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICALcoprocess/bindings/java/CoprocessMiniRequestObject.java2442 com.google.protobuf.AbstractMessageLite.Builder.addAll(CODE
CRITICAL⚡gateway/analytics.go247 a.Path = globalConfig.AnalyticsConfig.NormaliseUrls.CompiledPatternSet.UUIDs.ReplaceAllString(a.Path, "{uuid}")CODE
CRITICAL⚡gateway/analytics.go251 a.Path = globalConfig.AnalyticsConfig.NormaliseUrls.CompiledPatternSet.ULIDs.ReplaceAllString(a.Path, "{ulid}")CODE
CRITICAL⚡gateway/analytics.go255 a.Path = globalConfig.AnalyticsConfig.NormaliseUrls.CompiledPatternSet.IDs.ReplaceAllString(a.Path, "/{id}")CODE
Structural Annotation Overuse43 hits · 71 pts
SeverityFileLineSnippetContext
LOWci/tests/metrics/metrics_test.go1409 // Step 1: Send initialize request.COMMENT
LOWci/tests/metrics/metrics_test.go1426 // Step 2: Send initialized notification (no id field = notification).COMMENT
LOW⚡ci/tests/error-overrides/scripts/run-override-tests.sh825 # Step 3: Verify token worksCOMMENT
LOW⚡ci/tests/error-overrides/scripts/run-override-tests.sh832 # Step 4: Delete the OAuth clientCOMMENT
LOW⚡ci/tests/error-overrides/scripts/run-override-tests.sh839 # Step 5: Try to use the token from the deleted clientCOMMENT
LOWci/tests/error-overrides/scripts/run-override-tests.sh785 # Step 1: Create an OAuth clientCOMMENT
LOWci/tests/error-overrides/scripts/run-override-tests.sh804 # Step 2: Get an access tokenCOMMENT
LOW⚡apidef/oas/servers_regeneration.go53 // Step 1: Compute old Tyk URLs from old state (regenerate what they were)COMMENT
LOW⚡apidef/oas/servers_regeneration.go63 // Step 2: Remove old Tyk-generated servers (preserves user-provided servers)COMMENT
LOW⚡apidef/oas/servers_regeneration.go66 // Step 3: Generate new Tyk serversCOMMENT
LOW⚡apidef/oas/servers_regeneration.go69 // Step 4: Add Tyk servers firstCOMMENT
LOWapidef/oas/servers_regeneration.go81 // Step 5: Add user servers back, deduplicating by normalized URLCOMMENT
LOW⚡apidef/oas/upstream_test.go1379 // Step 1: Start with OAS structureCOMMENT
LOW⚡apidef/oas/upstream_test.go1385 // Step 2: ExtractTo API definition (weight=0 should be excluded from Proxy.Targets)COMMENT
LOWapidef/oas/upstream_test.go1399 // Step 3: Fill back into OAS (should preserve weight=0 from original)COMMENT
LOWapidef/oas/README.md17### Step 1: Add the OAS Schema FileCOMMENT
LOWapidef/oas/README.md29### Step 2: Understand Schema Structure DifferencesCOMMENT
LOWapidef/oas/README.md44### Step 3: Update Code (if needed)COMMENT
LOWapidef/oas/README.md69### Step 4: Add TestsCOMMENT
LOWapidef/oas/README.md188### Step 5: Run TestsCOMMENT
LOWapidef/oas/README.md201### Step 6: Update Default Version (Optional)COMMENT
LOWapidef/oas/README.md229### Step 7: Document Breaking ChangesCOMMENT
LOWgateway/mw_jwt_test.go4884 // Step 1: Create session with valid scopeCOMMENT
LOWgateway/mw_jwt_test.go4906 // Step 2: SECURITY TEST - Try to access with token that has NO scope and NO base policyCOMMENT
LOWgateway/mw_jwt_test.go4924 // Step 3: Verify session can still be accessed with valid tokenCOMMENT
LOWgateway/mw_jwt_test.go4987 // Step 1: Create session with valid policy in tokenCOMMENT
LOWgateway/mw_jwt_test.go5009 // Step 2: SECURITY TEST - Token without policy claim on existing session should be REJECTEDCOMMENT
LOWgateway/mw_jwt_test.go5027 // Step 3: Verify session can still be accessed with valid token (with policy)COMMENT
LOWgateway/mw_jwt_test.go5043 // Step 4: First-time request with no policy should also be rejectedCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go33 // Step 1: Create API KEY without POLICYCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go41 // Step 2: Send traffic - should succeedCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go48 // Step 3: Update key to set is_inactive: trueCOMMENT
LOWgateway/mw_key_expired_check_test.go61 // Step 4: Send traffic - should be rejected with 403 ForbiddenCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go89 // Step 1: Create API KEY without POLICYCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go97 // Step 2: Send traffic - should succeed (this also caches the session)COMMENT
LOW⚡gateway/mw_key_expired_check_test.go104 // Step 3: Update key to set is_inactive: trueCOMMENT
LOWgateway/mw_key_expired_check_test.go125 // Step 4: Send traffic - should be rejected with 403 ForbiddenCOMMENT
LOWgateway/oauth_manager_test.go1093 // Step 2 - invalidate the refresh tokenCOMMENT
LOWgateway/oauth_manager_test.go1118 // Step 3 - try to refreshCOMMENT
LOWgateway/mw_protected_resource_test.go1035 // Step 1: Client requests a protected endpoint without credentials.COMMENT
LOWgateway/mw_protected_resource_test.go1048 // Step 2: Extract resource_metadata URL from WWW-Authenticate header.COMMENT
LOWgateway/mw_protected_resource_test.go1061 // Step 3: Client fetches the PRM well-known endpoint using the extracted URL path.COMMENT
LOWgateway/mw_protected_resource_test.go1074 // Step 4: Parse the PRM response and validate all fields.COMMENT
Verbosity Indicators34 hits · 57 pts
SeverityFileLineSnippetContext
LOWci/tests/metrics/metrics_test.go1409 // Step 1: Send initialize request.COMMENT
LOWci/tests/metrics/metrics_test.go1426 // Step 2: Send initialized notification (no id field = notification).COMMENT
LOW⚡ci/tests/error-overrides/scripts/run-override-tests.sh825 # Step 3: Verify token worksCOMMENT
LOW⚡ci/tests/error-overrides/scripts/run-override-tests.sh832 # Step 4: Delete the OAuth clientCOMMENT
LOW⚡ci/tests/error-overrides/scripts/run-override-tests.sh839 # Step 5: Try to use the token from the deleted clientCOMMENT
LOWci/tests/error-overrides/scripts/run-override-tests.sh785 # Step 1: Create an OAuth clientCOMMENT
LOWci/tests/error-overrides/scripts/run-override-tests.sh804 # Step 2: Get an access tokenCOMMENT
LOW⚡apidef/oas/servers_regeneration.go53 // Step 1: Compute old Tyk URLs from old state (regenerate what they were)COMMENT
LOW⚡apidef/oas/servers_regeneration.go63 // Step 2: Remove old Tyk-generated servers (preserves user-provided servers)COMMENT
LOW⚡apidef/oas/servers_regeneration.go66 // Step 3: Generate new Tyk serversCOMMENT
LOW⚡apidef/oas/servers_regeneration.go69 // Step 4: Add Tyk servers firstCOMMENT
LOWapidef/oas/servers_regeneration.go81 // Step 5: Add user servers back, deduplicating by normalized URLCOMMENT
LOW⚡apidef/oas/upstream_test.go1379 // Step 1: Start with OAS structureCOMMENT
LOW⚡apidef/oas/upstream_test.go1385 // Step 2: ExtractTo API definition (weight=0 should be excluded from Proxy.Targets)COMMENT
LOWapidef/oas/upstream_test.go1399 // Step 3: Fill back into OAS (should preserve weight=0 from original)COMMENT
LOWgateway/mw_jwt_test.go4884 // Step 1: Create session with valid scopeCOMMENT
LOWgateway/mw_jwt_test.go4906 // Step 2: SECURITY TEST - Try to access with token that has NO scope and NO base policyCOMMENT
LOWgateway/mw_jwt_test.go4924 // Step 3: Verify session can still be accessed with valid tokenCOMMENT
LOWgateway/mw_jwt_test.go4987 // Step 1: Create session with valid policy in tokenCOMMENT
LOWgateway/mw_jwt_test.go5009 // Step 2: SECURITY TEST - Token without policy claim on existing session should be REJECTEDCOMMENT
LOWgateway/mw_jwt_test.go5027 // Step 3: Verify session can still be accessed with valid token (with policy)COMMENT
LOWgateway/mw_jwt_test.go5043 // Step 4: First-time request with no policy should also be rejectedCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go33 // Step 1: Create API KEY without POLICYCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go41 // Step 2: Send traffic - should succeedCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go48 // Step 3: Update key to set is_inactive: trueCOMMENT
LOWgateway/mw_key_expired_check_test.go61 // Step 4: Send traffic - should be rejected with 403 ForbiddenCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go89 // Step 1: Create API KEY without POLICYCOMMENT
LOW⚡gateway/mw_key_expired_check_test.go97 // Step 2: Send traffic - should succeed (this also caches the session)COMMENT
LOW⚡gateway/mw_key_expired_check_test.go104 // Step 3: Update key to set is_inactive: trueCOMMENT
LOWgateway/mw_key_expired_check_test.go125 // Step 4: Send traffic - should be rejected with 403 ForbiddenCOMMENT
LOWgateway/mw_protected_resource_test.go1035 // Step 1: Client requests a protected endpoint without credentials.COMMENT
LOWgateway/mw_protected_resource_test.go1048 // Step 2: Extract resource_metadata URL from WWW-Authenticate header.COMMENT
LOWgateway/mw_protected_resource_test.go1061 // Step 3: Client fetches the PRM well-known endpoint using the extracted URL path.COMMENT
LOWgateway/mw_protected_resource_test.go1074 // Step 4: Parse the PRM response and validate all fields.COMMENT
Unused Imports22 hits · 22 pts
SeverityFileLineSnippetContext
LOWci/tests/python-plugins/src/middleware.py1CODE
LOWci/tests/python-plugins/src/middleware.py2CODE
LOWcoprocess/python/dispatcher.py1CODE
LOWcoprocess/python/dispatcher.py2CODE
LOWcoprocess/python/dispatcher.py2CODE
LOWcoprocess/python/dispatcher.py2CODE
LOWcoprocess/python/tyk/event.py1CODE
LOWcoprocess/python/tyk/event.py4CODE
LOWcoprocess/python/tyk/object.py1CODE
LOWcoprocess/python/tyk/object.py7CODE
LOWcoprocess/python/tyk/object.py8CODE
LOWcoprocess/python/tyk/object.py9CODE
LOWcoprocess/python/tyk/middleware.py3CODE
LOWcoprocess/python/tyk/middleware.py6CODE
LOWcoprocess/bindings/python/coprocess_grpc_pb2.py7CODE
LOWcoprocess/bindings/python/coprocess_grpc_pb2.py8CODE
LOWcoprocess/bindings/python/coprocess_grpc_pb2.py10CODE
LOW…s/bindings/python/coprocess_mini_request_object_pb2.py15CODE
LOWcoprocess/bindings/python/coprocess_object_pb2.py15CODE
LOWcoprocess/bindings/python/coprocess_object_pb2.py16CODE
LOWcoprocess/bindings/python/coprocess_object_pb2.py17CODE
LOWcoprocess/bindings/python/coprocess_object_pb2.py18CODE
Self-Referential Comments7 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMdocker/services/docker-compose.yml2# This file is intended only to start the docker compose services thatCOMMENT
MEDIUMci/tests/error-overrides/docker-compose.yml295 # Create a body larger than 4KB (maxBodySizeForMatching)COMMENT
MEDIUMci/tests/error-overrides/scripts/run-override-tests.sh632# Create a session/key via Gateway Admin APICOMMENT
MEDIUMcoprocess/bindings/python/coprocess_object_pb2_grpc.py93 # This class is part of an EXPERIMENTAL API.COMMENT
MEDIUM.github/zizmor.yml2# This file is managed by gromit, do not edit by hand.COMMENT
MEDIUM.github/workflows/drift-check.yml2# This file is managed by gromit, do not edit by hand.COMMENT
MEDIUM.github/workflows/zizmor.yml2# This file is managed by gromit, do not edit by hand.COMMENT
Fake / Example Data15 hits · 15 pts
SeverityFileLineSnippetContext
LOWinternal/crypto/helpers_test.go31 cert: &tls.Certificate{Leaf: PrefixPublicKeyCommonName([]byte("dummy-value"))},CODE
LOWinternal/reflect/clone_test.go34 Name: "John Doe",CODE
LOWinternal/reflect/clone_test.go49 Name: "John Doe",CODE
LOWinternal/iamtest/iamtest.go32 if _, err := w.Write([]byte(`{"access_token":"fake-token","token_type":"Bearer","expires_in":3600}`)); err != nil {CODE
LOWuser/session_test.go1166 "email": "user@example.com",CODE
LOWgateway/mw_js_plugin_test.go691 decodedJwtPayload := `{"sub":"1234567890","name":"John Doe","iat":1516239022}`CODE
LOWgateway/mw_js_plugin_goja_test.go413 `{"sub":"1234567890","name":"John Doe","iat":1516239022}`},CODE
LOWgateway/mw_jwt_nested_claims_test.go126 "name": "John Doe",CODE
LOWgateway/proxy_muxer_test.go49 input: strings.NewReader("lorem ipsum dolor sit amet"),CODE
LOWgateway/proxy_muxer_test.go49 input: strings.NewReader("lorem ipsum dolor sit amet"),CODE
LOWgateway/cert_old_test.go213 EmailAddresses: []string{"test@test.com"},CODE
LOWgateway/oauth_manager_test.go1278 "username": "test@test.com",CODE
LOWgateway/oauth_manager_test.go1448 Member: fmt.Sprintf("dummy-value-%d", k),CODE
LOWgateway/oauth_manager_test.go1456 Member: fmt.Sprintf("dummy-value-%d", k),CODE
LOWgateway/cert_test.go1315 EmailAddresses: []string{"test@test.com"},CODE
Redundant / Tautological Comments11 hits · 14 pts
SeverityFileLineSnippetContext
LOWci/tests/error-overrides/docker-compose.yml469 # Set SO_LINGER to send RST instead of FINCOMMENT
LOWci/tests/error-overrides/scripts/run-override-tests.sh956 # Check if actual flag matches expected OR alternativeCOMMENT
LOWci/tests/error-overrides/scripts/run-override-tests.sh1067 # Check if we got override response OR empty (client disconnected before response)COMMENT
LOWci/tests/error-overrides/scripts/run-override-tests.sh1141 # Check if we got CBO override in any of the recent requestsCOMMENT
LOW.github/workflows/release.yml259 # Check if any layer does NOT end in gzip/tar+gzip/tar.gzipCOMMENT
LOW.github/workflows/release.yml338 # Check if any layer does NOT end in gzip/tar+gzip/tar.gzipCOMMENT
LOW.github/workflows/release.yml415 # Check if any layer does NOT end in gzip/tar+gzip/tar.gzipCOMMENT
LOW.github/workflows/release.yml493 # Check if any layer does NOT end in gzip/tar+gzip/tar.gzipCOMMENT
LOW.github/workflows/release.yml568 # Check if any layer does NOT end in gzip/tar+gzip/tar.gzipCOMMENT
LOW.github/workflows/release.yml645 # Check if any layer does NOT end in gzip/tar+gzip/tar.gzipCOMMENT
LOW.github/workflows/release.yml739 # Check if any changed files are in relevant packagesCOMMENT
Excessive Try-Catch Wrapping8 hits · 9 pts
SeverityFileLineSnippetContext
LOWci/tests/error-overrides/docker-compose.yml473 except Exception as e:CODE
LOWci/tests/error-overrides/docker-compose.yml546 except Exception as e:CODE
LOWci/tests/error-overrides/docker-compose.yml580 except Exception as e:CODE
LOWcoprocess/python/dispatcher.py16except Exception as e:CODE
LOWcoprocess/python/dispatcher.py68 except Exception as e:CODE
LOWcoprocess/python/dispatcher.py78 except Exception as e:CODE
MEDIUMcoprocess/python/dispatcher.py72def dispatch_event(self, event_json):CODE
LOWcoprocess/python/tyk/middleware.py43 except Exception as e:CODE
Slop Phrases5 hits · 8 pts
SeverityFileLineSnippetContext
LOWgateway/mw_jwt_test.go2600 // Don't forget to validate the alg is what you expect:COMMENT
LOWgateway/mw_jwt_test.go2631 // Don't forget to validate the alg is what you expect:COMMENT
LOWgateway/mw_jwt_test.go2661 // Don't forget to validate the alg is what you expect:COMMENT
LOWgateway/mw_external_oauth.go135 // don't forget to validate the alg is what you expect:COMMENT
LOWgateway/mw_jwt.go1315 // Don't forget to validate the alg is what you expect:COMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMapidef/oas/servers_regeneration.go373// It uses URL normalization for robust matching and preserves all other servers.COMMENT
MEDIUMgateway/cert_test.go1857 //configure server so we can useSSL and utilize the logic, but skip verification in the clientsCOMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHcoprocess/python/tyk/object.py17except:CODE
Modern AI Meta-Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md105Tyk Gateway governs MCP traffic from AI agents, applying authentication, rate limiting and per-tool access control to evCODE
MEDIUMREADME.md116[Open API Standards:](https://tyk.io/docs/getting-started/using-oas-definitions/import-an-oas-api/) Import your Swagger CODE
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippetContext
LOWcoprocess/python/tyk/object.py13CODE
LOWcoprocess/python/tyk/middleware.py47CODE
LOWcoprocess/python/tyk/middleware.py74CODE
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWcoprocess/bindings/python/coprocess_object_pb2_grpc.py99CODE
LOWcoprocess/bindings/python/coprocess_object_pb2_grpc.py126CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWcoprocess/python/tyk/object.py18 # TODO: add error handlingCOMMENT
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippetContext
LOWcoprocess/python/tyk/middleware.py60 def build_hooks_and_event_handlers(self):CODE