Skip to content

Rule Reference

SEC311lintai-ai-securitystablejsonwarn

Cursor plugin: unsafe path traversal

Cursor plugin manifest contains an unsafe absolute or parent-traversing 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

Matches absolute or parent-traversing paths in committed Cursor plugin manifest path fields.

Deterministic signal basis

JsonSignals plugin-manifest path observation limited to known plugin path fields.

Malicious corpus
cursor-plugin-unsafe-path
Benign corpus
cursor-plugin-safe-paths
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

Committed plugin manifests should keep referenced paths inside the plugin or repository boundary. Parent-traversing or absolute paths make the plugin depend on ambient filesystem layout in ways that are harder to review safely.

What Triggers

SEC311 applies to known Cursor plugin manifest path fields and triggers on absolute or parent-traversing paths.

Example that triggers:

json
{"skills":"../shared-skills","logo":"assets/logo.png"}

Example that stays clean:

json
{"skills":"./skills","logo":"assets/logo.png"}

False Positives

The rule is structural and limited to known plugin path fields. It does not flag every arbitrary string that happens to contain ../.

Remediation

Keep plugin manifest paths project-relative and inside the plugin root.