Skip to content

Rule Reference

SEC356lintai-ai-securitypreviewmarkdownwarn

Plugin agent: `permissionMode` in frontmatter

Plugin agent frontmatter sets `permissionMode`

Provider
lintai-ai-security
Surface
markdown
Scope
per_file
Tier
preview
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

Preview Lifecycle Contract

State

preview_blocked

Promotion blocker

Plugin agent frontmatter can still include unsupported permission policy experiments, so the first release stays spec-guidance-only.

Promotion requirements

Needs corpus-backed precision review, external usefulness evidence, and completed stable checklist metadata.

Canonical note

Structural preview rule; deterministic today, but the preview contract may still evolve.

Nearby Signals

Related Rules

Why It Matters

SEC356 flags plugin agent markdown whose frontmatter sets permissionMode.

For shared plugin agents, this is a risky place to express permission policy:

  • it mixes execution policy into agent content instead of keeping it in user or plugin configuration
  • it makes agent review harder because content and permission posture are coupled
  • it diverges from the plugin-agent layout guidance documented for Claude plugin agents

What Triggers

This rule applies only to plugin agent markdown surfaces and triggers on parsed frontmatter that contains the exact key:

  • permissionMode

Example that triggers:

yaml
---
name: review
permissionMode: acceptEdits
---

Examples that stay clean:

yaml
---
name: review
allowed-tools: Read, Write
---
  • fixture-like paths under tests/, fixtures/, examples/, or samples/
  • non-plugin markdown like ordinary SKILL.md

False Positives

This rule stays Preview because some repos may still experiment with unsupported or transitional plugin metadata. The signal is intended as structural policy guidance, not as proof of exploitation.

Remediation

Remove permissionMode from plugin agent frontmatter and manage permission policy in plugin-level or user-level configuration instead.

Good pattern:

yaml
---
name: review
allowed-tools: Read, Write
---