Skip to content

Commit f91bc60

Browse files
Copilotpelikhan
andcommitted
Exclude metadata from dangerous permissions validation
The metadata permission is a built-in read-only permission and should not be considered a dangerous permission. Updated findWritePermissions to skip metadata (similar to how it skips id-token). Fixes test failure in TestFindWritePermissions/write-all_shorthand. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
1 parent 639f23a commit f91bc60

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

pkg/workflow/dangerous_permissions_validation.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ func validateDangerousPermissions(workflowData *WorkflowData) error {
5656

5757
// findWritePermissions returns a list of permission scopes that have write access
5858
// Excludes id-token since it's safe (used for OIDC authentication) and doesn't modify repository content
59+
// Excludes metadata since it's a built-in read-only permission
5960
func findWritePermissions(permissions *Permissions) []PermissionScope {
6061
if permissions == nil {
6162
return nil
@@ -70,6 +71,11 @@ func findWritePermissions(permissions *Permissions) []PermissionScope {
7071
continue
7172
}
7273

74+
// Skip metadata as it's a built-in read-only permission
75+
if scope == PermissionMetadata {
76+
continue
77+
}
78+
7379
level, exists := permissions.Get(scope)
7480
if exists && level == PermissionWrite {
7581
writePerms = append(writePerms, scope)

0 commit comments

Comments
 (0)