workflows/pr-severity: allow non-write users for classification
What changed, and why it matters
This commit loosens a GitHub workflow permission check so that external contributors—not just people with write access—can trigger an automated PR severity classifier. The workflow only reads pull request metadata and posts labels/comments using restricted GitHub CLI commands; it does not run code from the PR. The change is a deliberate relaxation of a guard that was causing false failures, not a fix for a code vulnerability in LND itself.
No immediate action required for LND operators. Repository maintainers should verify that the `claude-code-action` implementation truly prevents arbitrary code execution and that the OAuth/bot tokens have only the minimal required GitHub permissions (PR read, label, comment). Consider reviewing audit logs after deployment to confirm no abuse of the classifier workflow.
Security signals we found
CI/CD permission relaxation
Workflow restricted to read-only PR metadata and label/comment operations
No execution of PR-supplied code claimed
Tool permissions limited to specific gh pr subcommands
Evidence from the diff
The change adds allowed_non_write_users: "*" to the claude-code-action step in .github/workflows/pr-severity.yml. The commit message explains that the previous write permission check blocked external contributors, and that this is acceptable because the workflow only reads PR metadata and has restricted tool permissions (gh pr view, gh pr edit, gh pr comment). The patch is a configuration change to CI/CD access control, not a change to LND node code, cryptography, or network protocol handling.
Changed components
.github/workflows/pr-severity.ymlInspect captured patch +5 / −0
diff --git a/.github/workflows/pr-severity.yml b/.github/workflows/pr-severity.yml
index cfce023..dcf6677 100644
--- a/.github/workflows/pr-severity.yml
+++ b/.github/workflows/pr-severity.yml
@@ -37,6 +37,11 @@ jobs:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
github_token: ${{ secrets.PR_SEVERITY_BOT_TOKEN }}
+ # Allow any user since this workflow only reads PR metadata via API
+ # and doesn't execute any code from the PR. Tool permissions are
+ # restricted to gh pr commands only.
+ allowed_non_write_users: "*"
+
# Allow Claude to manage labels and post comments.
# Keep permissions minimal to limit prompt injection risk.
claude_args: --allowedTools "Bash(gh pr view:*)" "Bash(gh pr edit:*)" "Bash(gh pr comment:*)"
Why this scored 21/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.