Skip to content

Rule Reference

SEC327lintai-ai-securitystablegithub_workflowwarn

GitHub Actions: write-all token

GitHub Actions workflow grants GITHUB_TOKEN write-all permissions

Provider
lintai-ai-security
Surface
github_workflow
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 workflow permissions for the explicit write-all shortcut, which exceeds least-privilege guidance for GITHUB_TOKEN.

Deterministic signal basis

GithubWorkflowSignals line-level permissions extraction for semantically confirmed workflow YAML.

Malicious corpus
github-workflow-write-all-permissions
Benign corpus
github-workflow-read-only-permissions
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

permissions: write-all grants the workflow a very broad token surface by default. That weakens least privilege and increases the blast radius of any compromised step or third-party action.

What Triggers

SEC327 applies to semantically confirmed GitHub Actions workflow YAML and triggers when the workflow sets:

yaml
permissions: write-all

Example that stays clean:

yaml
permissions:
  contents: read

False Positives

This is a structural least-privilege rule rather than a claim that the workflow is already exploited. Teams may intentionally allow broad write scopes, but the finding remains useful because write-all is an explicit shortcut away from reviewable minimal permissions.

Remediation

Replace write-all with the minimal explicit permissions the workflow actually needs.