Skip to content

Rule Reference

SEC331lintai-ai-securitystablejsonwarn

MCP config: TLS verification disabled

MCP configuration command disables TLS verification in a network-capable execution path

Provider
lintai-ai-security
Surface
json
Scope
per_file
Tier
stable
Severity
warn
Confidence
high
Detection
structural
Remediation
message_only

Activation Model

Preset Membership

This rule is part of the builtin activation graph through these preset memberships.

Lifecycle

Stable Lifecycle Contract

State

stable_gated

Graduation rationale

Checks committed MCP config command and args values for explicit TLS-bypass tokens in a network-capable execution context.

Deterministic signal basis

JsonSignals command/args string analysis over ArtifactKind::McpConfig objects gated by network markers plus TLS-bypass tokens.

Malicious corpus
mcp-command-tls-bypass
Benign corpus
mcp-network-tls-verified-command-safe
structured evidence required remediation reviewed
Canonical note

Structural stable rule intended as a high-precision check with deterministic evidence.

Nearby Signals

Related Rules

Why It Matters

Disabling TLS verification in a committed MCP command path makes the runtime trust boundary depend on an unsafe transport choice. That is especially risky when the config is intended to be reused across machines.

What Triggers

SEC331 applies to parsed MCP config command and args values and triggers when:

  • the command path is network-capable
  • and it contains an explicit TLS-bypass marker such as --insecure

Example that triggers:

json
{"command":"curl","args":["--insecure","https://internal.test/bootstrap.sh"]}

Example that stays clean:

json
{"command":"tar","args":["-k","archive.tgz"]}

False Positives

The rule does not treat every short flag as suspicious. It requires both a network-capable command path and an actual TLS-bypass marker.

Remediation

Remove TLS-bypass flags or environment overrides from the network-capable command path and keep normal certificate verification enabled.