Skip to content

Rule Reference

SEC398lintai-ai-securitystablejsonwarn

MCP config: wildcard capabilities

MCP configuration grants all capabilities with `capabilities: ["*"]` or `capabilities: "*"`

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

Matches explicit wildcard capability grants in MCP config.

Deterministic signal basis

JsonSignals exact wildcard detection for `capabilities` scalar or array values on parsed MCP configuration.

Malicious corpus
mcp-capabilities-wildcard
Benign corpus
mcp-capabilities-scoped-safe
structured evidence required remediation reviewed
Canonical note

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

Nearby Signals

Related Rules

SEC398 / MCP-CAPABILITIES-WILDCARD

SEC398 flags MCP client configuration that grants all capabilities through capabilities: ["*"] or capabilities: "*".

Why It Matters

Wildcard capability grants remove a clear least-privilege boundary in shared MCP config. They make it harder to review what a committed server entry is actually allowed to do and easier for broad access to spread unnoticed.

Trigger Shape

The rule triggers only when all of these are true:

  • the file is a detected MCP config surface
  • the path is not fixture-like
  • capabilities is either the exact string "*"
  • or capabilities is an array containing the exact string "*"

Clean Cases

These stay clean:

  • capabilities: ["tools", "resources"]
  • MCP configs that omit capabilities
  • fixture-like examples under test or fixture paths

Example Trigger

json
{
  "mcpServers": {
    "demo": {
      "command": "node",
      "args": ["server.js"],
      "capabilities": ["*"]
    }
  }
}

Safer Example

json
{
  "mcpServers": {
    "demo": {
      "command": "node",
      "args": ["server.js"],
      "capabilities": ["tools", "resources"]
    }
  }
}

How To Fix

Replace wildcard capabilities with only the narrowly reviewed MCP capabilities that are actually required.