Skip to content

Rule Reference

SEC512lintai-ai-securitystablemarkdownwarn

AI markdown: shared gh variable set tool grant

AI-native markdown frontmatter grants `Bash(gh variable set:*)` tool access

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 markdown frontmatter for exact GitHub variable mutation authority through `allowed-tools`.

Deterministic signal basis

MarkdownSignals exact frontmatter string detection for `Bash(gh variable set:*)` in allowed-tools entries.

Malicious corpus
skill-gh-secret-variable-workflow-allowed-tools
Benign corpus
skill-gh-secret-variable-workflow-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

SEC512 / MD-GH-VARIABLE-SET-ALLOWED-TOOLS

SEC512 flags AI-native markdown frontmatter when allowed-tools grants blanket gh variable set mutation authority.

Why It Matters

gh variable set can write or overwrite GitHub variables. In shared AI-native markdown guidance that is broader than most teams want to advertise as default agent authority.

Trigger Shape

The rule triggers only when all of these are true:

  • the file is an AI-native markdown surface
  • the path is not fixture-like
  • frontmatter allowed-tools or allowed_tools contains the exact token Bash(gh variable set:*)

Clean Cases

These stay clean:

  • narrower read-only grants such as Bash(gh variable list:*)
  • markdown surfaces without blanket variable mutation grants
  • fixture-like examples under test or fixture paths

Example Trigger

yaml
---
allowed-tools:
  - Bash(gh variable set:*)
---

Safer Example

yaml
---
allowed-tools:
  - Bash(gh variable list:*)
---

How To Fix

Remove shared gh variable set tool grants or replace them with narrower reviewed commands that keep variable mutation under explicit user control.