[security-fix] Fix unsafe quoting in secret redaction YAML generation (Alert #10) #1520
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Security Fix: Unsafe Quoting in Secret Redaction
Alert Number: #10
Severity: Critical (security_severity_level)
Rule:
go/unsafe-quotingFile:
pkg/workflow/redact_secrets.go:93Vulnerability Description
CodeQL identified a potentially unsafe quoting vulnerability in the secret redaction YAML generation code. The issue was on line 93 (previously line 91) where an escaped secret name was being used in a GitHub Actions expression context
${{ secrets.%s }}.The problem:
escapeSingleQuote()function escapes single quotes and backslashes for use in single-quoted YAML strings${{ ... }}) don't use single quotes and have their own syntax rulesFix Applied
Changed line 93 to use the original, unescaped
secretNamein the GitHub Actions expression:The fix is safe because:
validateSecretReferences()to match the pattern^[A-Z][A-Z0-9_]*$Security Best Practices
Testing Considerations
References
🤖 Generated with Claude Code