github / github/codeql

False positive: Workflow does not contain permissions

Open
#20,487 10 comments 8 reactions 0 assignees View on GitHub
false-positive
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

**Description of the false positive**

We get a lot of `Workflow does not contain permissions` alerts.

It's description states

> If a GitHub Actions job or workflow has no explicit permissions set, then the repository permissions are used. Repositories created under organizations inherit the organization permissions. The organizations or repositories created before February 2023 have the default permissions set to read-write. Often these permissions do not adhere to the principle of least privilege and can be reduced to read-only, leaving the write permission only to a specific types as issues: write or pull-requests: write.

While our org was created before February 2023, the default permission on the org is set to read contents and packages only, and in the repository I can't even change the setting.

Image

**Code samples or links to source code**

https://github.com/intility/templates/blob/8653a13809c06c5046e57cb689d8479726380414/.github/workflows/build-react.yml#L13-L36

**URL to the alert on GitHub code scanning (optional)**

https://github.com/intility/templates/security/code-scanning/4

Contributor guide

Open the contributing guide

Research direction

Start with the linked workflow at .github/workflows/build-react.yml, lines 13-36, and compare its permissions with the reported code-scanning alert. Determine whether the alert is a false positive given the organization and repository defaults, then verify that the alert behavior or query outcome matches the documented permissions model.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.