Agent Native

gcs-security-assessment

Assesses Google Cloud Storage bucket and project security configurations by gathering telemetry and correlating signals to detect toxic combinations of…

by GoogleOfficial publisher

Identity proven by GitHub's verified organisation badge (flutter, google)

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
License
Apache-2.0 (permissive)
Pin
0dd8034pinned Oct 9, 2026
Context cost
about 1,500 tokenswhen the skill loads
GitHub stars
215on googlecloudplatform/data-agent-kit-plugin
Scripts
7 scripts

What it does

“Assesses the security posture of Google Cloud Storage (GCS) buckets and projects. Grounds every finding in gathered telemetry, evaluates buckets against Google security best practices (public access, IAM over-granting, CMEK, VPC Service Controls, audit logging), and correlates signals to flag toxic combinations of individually low-risk settings, with actionable remediation. Use whenever a user asks for a security scan, audit, review, vulnerability check, or compliance assessment (including SAIF) — or simply asks whether their buckets, project, or data are secure, exposed, public, or misconfigured, who can access their data, or wants storage hardened or locked down, e.g. before a launch. Don't use for diagnosing a specific access failure or 403, managing or configuring storage, investigating a live outage, or non-GCS resources (Compute Engine, GKE, etc.).”
The author's description, from SKILL.md

Generated summary from the skill's own text

Assesses Google Cloud Storage bucket and project security configurations by gathering telemetry and correlating signals to detect toxic combinations of vulnerabilities. Evaluates buckets against Google security best practices including public access, IAM policies, encryption, VPC Service Controls, and audit logging, then provides actionable remediation steps grounded in actual observed settings.

When to use it

  • User requests security scan, audit, or compliance assessment of GCS buckets
  • Determining if buckets, projects, or data are exposed, public, or misconfigured
  • Evaluating who can access data before product launch or deployment
  • Checking for risky combinations of individually low-risk storage settings

When not to

  • Diagnosing specific access failures or 403 errors
  • Configuring or managing GCS storage directly
  • Investigating active outages or incidents

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add googlecloudplatform/data-agent-kit-plugin --skill gcs-security-assessment

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install googlecloudplatform/data-agent-kit-plugin gcs-security-assessment@0dd8034c50d6bce0290b99190cd44b06fcbec2c1

Installs the commit we checked (0dd8034).

Copy by hand

Download the folder at 0dd8034 and put it in .claude/skills/gcs-security-assessment for Claude Code and in .agents/skills/gcs-security-assessment for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 0dd8034

Claude Code plugin

/plugin install chrome-devtools-mcp@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Claude Code plugin

/plugin install alloydb-omni@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Claude Code plugin

/plugin install bigquery-data-analytics@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "gcs-security-assessment" by Google.

Source, pinned to commit 0dd8034c50d6bce0290b99190cd44b06fcbec2c1:
https://github.com/googlecloudplatform/data-agent-kit-plugin/tree/0dd8034c50d6bce0290b99190cd44b06fcbec2c1/skills/gcs-security-assessment

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/gcs-security-assessment/ for Claude Code and .agents/skills/gcs-security-assessment/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/google/gcs-security-assessment

SKILL.md at the pin

---
name: gcs-security-assessment
description: >-
  Assesses the security posture of Google Cloud Storage (GCS) buckets and
  projects. Grounds every finding in gathered telemetry, evaluates buckets
  against Google security best practices (public access, IAM over-granting,
  CMEK, VPC Service Controls, audit logging), and correlates signals to flag
  toxic combinations of individually low-risk settings, with actionable
  remediation. Use whenever a user asks for a security scan, audit, review,
  vulnerability check, or compliance assessment (including SAIF) — or simply
  asks whether their buckets, project, or data are secure, exposed, public, or
  misconfigured, who can access their data, or wants storage hardened or
  locked down, e.g. before a launch. Don't use for diagnosing a specific
  access failure or 403, managing or configuring storage, investigating a
  live outage, or non-GCS resources (Compute Engine, GKE, etc.).
metadata:
    version: v3
    publisher: google
    tags:
      - gcs
      - security
      - compliance
      - saif
    category: security
    support_tier: primary
license: Apache-2.0
---

# Security Posture Assessment Skill

You are a Google Cloud Storage security assessment agent trained on Google's
[Secure AI Framework (SAIF)](https://saif.google/secure-ai-framework/saif-map).
Your job is to evaluate GCS bucket and project configurations, identify **toxic
combinations** of vulnerabilities, and provide actionable remediation.

> [!IMPORTANT]
>
> You are NOT a generic security chatbot. You MUST ground every finding in
> telemetry signals you have actually gathered. NEVER hallucinate findings or
> assume configurations you have not verified. If you cannot gather a signal,
> say so explicitly and skip that check.

> [!CAUTION]
>
> **CRITICAL: Never execute destructive commands (e.g., rm, rb, IAM policy
> changes) without first printing the exact command and explicitly asking the
> user for a Y/N confirmation.**

## Philosophy

Traditional security tools generate isolated alerts from static rules (e.g.,
"bucket is public"). You correlate multiple signals to detect **toxic
combinations** — scenarios where individually low-risk configurations combine to
create critical exposures. A public bucket storing marketing PDFs is very
different from a public bucket storing ML training data with no CMEK, no VPC-SC,
and no audit logging.

## Phase Summary Table

Phase                             | Inputs                                   | Outputs                               | Reference
:-------------------------------- | :--------------------------------------- | :------------------------------------ | :--------
**1. Discover Scope & Telemetry** | User input (Project ID/Buckets/Datasets) | Scope confirmation, Telemetry signals | `references/phases/discover.md`
**2. Bucket Classification**      | Telemetry signals                        | Bucket classifications                | `references/phases/classification.md`
**3. Baseline Security Eval**     | Telemetry signals, Classifications       | Baseline failures                     | `references/phases/baseline.md`
**4. Toxic Combo Analysis**       | Telemetry signals, Classifications       | Toxic combination findings            | `references/phases/toxic_analysis.md`
**5. Output**                     | Findings from all phases                 | Formatted assessment report           | `references/phases/output.md`

## Workflow Execution

When invoked, the agent **MUST follow this exact sequence**:

1.  **Start at Phase 1**: Discover scope and gather telemetry. Use the
    referenced file for decisions. **CRITICAL: If multiple Storage Insights
    datasets are discovered, you MUST STOP and ASK the user to select one. Do
    NOT auto-select a dataset or proceed with an assumed one.** Do not assume
    anything before reading the steps referenced in the phase itself.
2.  **Do not skip phases**: You must complete Phase N before proceeding to Phase
    N+1.
3.  **Strict adherence**: Follow all steps defined in each phase. Do not
    optimize or deviate.
4.  **Gating & analysis scope**: Only a failed **required** preflight check
    (`adc`) sets `ready_to_proceed` to `false` — when it does you **MUST STOP
    IMMEDIATELY**, do NOT invoke any telemetry script, and report the fix.
    Otherwise the preflight's `analysis_scope` field — NOT `ready_to_proceed` —
    selects depth: `full` (run everything) or `project_only` (Storage Insights
    unavailable — do NOT bail out; run a project-level assessment with ONLY
    `evaluate_project_security_posture.py`, do NOT run the SI-backed
    `fetch_bucket_telemetry.py` / `fetch_object_telemetry.py`, and recommend
    SI). Phase 1 (`discover.md`) defines exactly how to branch.

## Error Handling

Problem                             | Cause                                                                       | Fix
----------------------------------- | --------------------------------------------------------------------------- | ---
PermissionDenied on VPC-SC check    | Caller lacks `accesscontextmanager.policies.list`                           | Inform user. Mark VPC-SC status as UNKNOWN and use that wording **consistently across every section of the report** — Section 2, Section 3, narrative summaries, key findings, fixes. Do NOT assume the perimeter is configured AND do NOT assume it is missing, lacking, or "not enforced" — neither inference is supported by an unavailable signal.
PermissionDenied on IAM Recommender | Caller lacks `recommender.iamPolicyRecommendations.list`                    | Fall back to manual IAM policy inspection. Flag over-broad roles like `roles/storage.admin` and `roles/storage.objectAdmin`.
Model Armor API not enabled         | `modelarmor.googleapis.com` not in services list                            | This IS a finding (not an error). Flag it as "Model Armor not enabled" in your assessment.
Storage Insights API not enabled    | `storageinsights.googleapis.com` not enabled on the project                 | **DO NOT STOP.** `analysis_scope` is `project_only`; run the project-level assessment and relay the recommended check's `fix`. See `discover.md`.
No SI dataset available             | SI is enabled but no dataset config exists, or wrong dataset name supplied  | **DO NOT STOP.** `analysis_scope` is `project_only`; run the project-level assessment and relay the `bigquery_dataset_access` check's `fix`. See `discover.md`.
BQ MCP Server returns empty results | No buckets in project or wrong project                                      | Confirm project ID with user. If correct and empty, report "No buckets found."
Data Access audit logs check fails  | Caller lacks `resourcemanager.projects.getIamPolicy`                        | Inform user. Note that audit log status is unknown.
Bucket has no tags or labels        | No SDP scan, no customer tags                                               | This is the "Unclassified" state. Treat as potentially sensitive. Recommend SDP.
Output too verbose                  | Reasoning sections are too long, or shared remediations repeated per bucket | Condense reasoning to 2-3 sentences. Move shared remediations to Cross-Cutting Recommendations. If output exceeds ~80 lines, you are being too verbose.

From googlecloudplatform/data-agent-kit-plugin at 0dd8034, shown as plain text under its license: Apache-2.0 (permissive). The license text is in skills/gcs-security-assessment/SKILL.md.

View SKILL.md on GitHub at 0dd8034

Files

19 files, 148 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 0dd8034
All 50 skills from Google

More from Google

  • skill-creator

    This skill guides agents through creating new skills that extend Gemini CLI with specialized knowledge, workflows, and tool integrations.

    Contains scripts

    Gemini CLI · about 5K tokens · pinned 7 days ago

  • chrome-devtools-cli

    This skill enables agents to automate browser interactions and inspect web pages using Chrome DevTools via command-line interface.

    Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 7 days ago

  • cloud-run-basics

    Deploys and manages Google Cloud Run services, jobs, and worker pools for running containerized applications or source code.

    Claude Code, Codex, Cursor +4 · about 3.9K tokens · pinned 7 days ago

  • retail-virtual-tryon

    Creates virtual try-on agents on Google Cloud using Gemini image models and Veo video generation, supporting static image try-ons and catwalk animations.

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 3.3K tokens · pinned 7 days ago

  • site-md

    This skill analyzes project briefs and generates a .stitch/SITE.md constitution file that documents the project's identity, visual direction, architecture…

    Claude Code, Codex, Cursor +4 · about 730 tokens · pinned 7 days ago

  • stitch::code-to-design

    This skill converts existing frontend code (React, Vue, Angular, etc.) into a Stitch Design by extracting HTML, analyzing design systems, and uploading both…

    Claude Code, Codex, Cursor +4 · about 760 tokens · pinned 7 days ago

All Security skills
  • claude-security

    Scans your repository for security issues using Claude, examines code changes or commits for vulnerabilities, and generates patch files to fix findings.

    by AnthropicOfficial publisher

    Claude Code · about 1K tokens · pinned 7 days ago

  • sensitive-logging-audit

    The skill helps audit and fix sensitive data leaks in Python SDK logging, exceptions, and telemetry by collecting candidate sinks, manually tracing values…

    by OpenAIOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 970 tokens · pinned 7 days ago

  • security-audit

    This skill guides security audits of codebases, APIs, and services by finding vulnerabilities that cross real trust boundaries.

    by CloudflareOfficial publisher

    Contains scripts

    Claude Code · about 5.4K tokens · pinned 7 days ago

  • assess-patch-risk

    This skill analyzes patch artifacts to assess their program impact, regression risk, and suitability for automated merging.

    by OpenAIOfficial publisher

    Codex · about 2.3K tokens · pinned 7 days ago

  • attack-path-analysis

    This skill analyzes security findings to build explicit attack paths from source to sink, calibrates severity, and decides whether each finding is reportable.

    by OpenAIOfficial publisher

    Codex · about 2.1K tokens · pinned 7 days ago

  • deep-security-scan

    Performs exhaustive, multi-pass security analysis across a repository or scoped directory by running repeated independent security scans and aggregating…

    by OpenAIOfficial publisher

    Codex · about 3.4K tokens · pinned 7 days ago

Open roles at Google

No open roles at Google on the Agent Native jobs board right now.

Browse the jobs board

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use