T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:46- Finding
Excessive GCP Storage Administrative Privileges Required for Read-Only Inspection
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 46
Vulnerability Type: Violation of least privilege
Risk Level: MediumComplete Code Snippet:
markdown - **[GCP]** gcloud CLI configured (`gcloud auth list` shows active account); roles `roles/iam.securityReviewer`, `roles/cloudkms.viewer`, `roles/compute.viewer`, `roles/storage.admin` (for bucket IAM inspection) on target project(s)Technical Analysis
The Skill instructs users to grant the predefined GCP
roles/storage.adminrole merely to inspect bucket IAM policies. A storage administration role grants capabilities materially broader than those needed for a read-only cloud posture assessment.This requirement conflicts with the package's declared
read-onlysafety posture. Although the audited instructions do not explicitly invoke a mutating GCP command, provisioning the assessment identity with administrative storage authority unnecessarily expands the consequences of credential theft, command substitution, operator error, or future changes to the Skill.The issue is a privilege-boundary failure: the assessment identity receives authority based on the broad service role rather than a minimum set of metadata and IAM-policy inspection permissions.
Attack Path
- An operator follows the documented prerequisite and assigns
roles/storage.adminto the identity used by the Skill. - The assessment process authenticates through
gcloudwith that overprivileged identity. - An attacker compromises the local Agent, CLI session, host, or associated credentials, or induces execution of an unintended storage command.
- The attacker uses the administrative storage permissions available to that identity rather than being limited to read-only inspection.
- Storage resources within the role's assignment scope may be modified or otherwise administered.
The audited package contains no command that directly performs these malicious steps; the exploitable condition is the e ...[truncated 563 chars]
- An operator follows the documented prerequisite and assigns
- Remediation
View remediation
Remediation Suggestions
- Remove
roles/storage.adminfrom the documented prerequisites. - Use the narrowest predefined read-only role that provides the bucket metadata and IAM-policy inspection permissions required by the documented commands.
- If no predefined role provides an appropriate permission set, create a custom audit role containing only the necessary
getandlistpermissions. - Assign the replacement role at the narrowest practical resource scope rather than across unrelated projects or the organization.
- Explicitly deny or omit permissions that create, update, delete, or change access to storage resources.
- Test all documented GCP inspection commands using the reduced role and document the exact required permissions.
- Add a prerequisite warning that the assessment must run under a dedicated, short-lived, read-only identity.
- Periodically review the custom role and remove permissions no longer required by the Skill.
- Remove
