Skip to content

Rule Reference

SEC428lintai-ai-securitystablemarkdownwarn

AI markdown: unsafe Read path grant

AI-native markdown frontmatter grants `Read(...)` over an unsafe repo-external path

Provider
lintai-ai-security
Surface
markdown
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 AI-native frontmatter for `Read(...)` grants scoped to absolute, home-relative, drive-letter, or parent-traversing paths outside the repository boundary.

Deterministic signal basis

MarkdownSignals exact frontmatter token analysis for `Read(...)` scopes with absolute, home-relative, drive-letter, or parent-traversing path markers.

Malicious corpus
skill-read-unsafe-path-allowed-tools
Benign corpus
skill-read-unsafe-path-allowed-tools-specific-safe
structured evidence required remediation reviewed
Canonical note

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

Nearby Signals

Related Rules

SEC428 / MD-READ-UNSAFE-PATH

SEC428 flags AI-native markdown frontmatter when allowed-tools or allowed_tools grants Read(...) over an absolute path, home-relative path, Windows drive path, or parent-traversing path.

Why It Matters

Shared instruction frontmatter should keep file-read authority scoped to reviewed repo-local paths. Repo-external or parent-traversing Read(...) grants quietly expand access beyond the project boundary.

Trigger Shape

  • AI-native markdown surface with parsed frontmatter
  • path is not fixture-like
  • allowed-tools or allowed_tools contains Read(...)
  • the inner path starts with /, ~/, ~\\, a Windows drive prefix, or contains ../ or ..\\

Clean Cases

  • repo-local scopes such as Read(./docs/**)
  • frontmatter without Read(...)
  • fixture-like examples under test or fixture paths

Example Trigger

md
---
allowed-tools: Read(/etc/**), Write(./artifacts/**)
---

Safer Example

md
---
allowed-tools: Read(./docs/**), Write(./artifacts/**)
---

How To Fix

Replace repo-external Read(...) grants with narrower repo-local scopes, or remove shared read authority outside the project boundary.