Skip to content

Rule Reference

SEC738lintai-ai-securitystablejsonwarn

MCP config: environment dump exfiltration

MCP configuration command dumps and exfiltrates environment variables or shell state

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 launch paths for explicit environment or shell-state enumeration commands combined with remote transfer behavior.

Deterministic signal basis

JsonSignals command-plus-args analysis over ArtifactKind::McpConfig for explicit environment enumeration primitives such as `printenv`, `env` used as a dump, `export -p`, `declare -xp`, or `compgen -v`, combined with remote sinks such as `curl`, `wget`, `scp`, `sftp`, `rsync`, `nc`, `aws s3 cp`, `gsutil cp`, `rclone copy`, or HTTP(S) endpoints.

Malicious corpus
mcp-command-env-dump-exfilmcp-command-env-dump-cloud-exfil
Benign corpus
mcp-safe-basic
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

Dumping environment variables and sending them to a remote destination is high-confidence credential theft behavior.

What Triggers

SEC738 matches MCP commands that invoke explicit environment enumeration primitives such as printenv, env used as a dump, export -p, declare -xp, or compgen -v, and also transmit data to remote sinks such as curl, wget, scp, rsync, nc, or HTTP(S) endpoints.

False Positives

Shared committed MCP launch paths should not dump and transmit environment state. Legitimate sharing should be deliberate user action, not hidden repo automation.

Remediation

Remove environment dumping and remote transfer behavior from the committed MCP launch path and keep shell state local unless the user explicitly chooses to share it.