Back to skill

Security audit

Cloud Sdk

Security checks for vulnerabilities and agentic risk

Overview

The package appears to be a simple local workflow CLI, but its name and metadata frame it as the Go Cloud Development Kit, creating a material identity mismatch.

Review this carefully before installing. It is not clearly the Go Cloud Development Kit despite the name and metadata; it behaves like a local shell-based workflow helper and keeps a persistent command history. Avoid passing secrets or sensitive paths as command arguments, and consider setting CLOUD_SDK_DIR to a controlled location or clearing the history log if you test it.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Note
Location
scripts/script.sh:31
Finding

Unsanitized Arguments Persisted in a Plaintext History Log

Content
View full analysis
> "$DATA_DIR/history.log"; } cmd_init() { echo " Project initialized in $(pwd)" _log "init" "${1:-}" } cmd_check() { echo " Running lint + type check + tests..." _log "check" "${1:-}" } cmd_build() { echo " Building..." _log "build" "${1:-}" } cmd_test() { echo " Running test suite..." _log "test" "${1:-}" } cmd_deploy() { echo " Deploy: build -> test -> stage -> prod" _log "deploy" "${1:-}" } cmd_config() { echo " Config: $DATA_DIR/config.json" _log "config" "${1:-}" } cmd_status() { echo " Status: checking project health..." _log "status" "${1:-}" } cmd_template() { echo " Template for: $1" _log "template" "${1:-}" } cmd_docs() { echo " Generating docs..." _log "docs" "${1:-}" } cmd_clean() { echo " Cleaned build artifacts" _log "clean" "${1:-}" } ``` ### Technical Analysis The `_log` function writes the first user-supplied command argument directly to `$DATA_DIR/history.log` without redaction, validation, or encoding. Consequently, credentials, tokens, private paths, or other sensitive values passed as command arguments may be retained indefinitely in plaintext. The input is also allowed to contain newline and control characters. A crafted argument can therefore create forged history records or alter the visual interpretation of subsequent log content. Although shell metacharacters in the argument are not evaluated as commands at this sink because the expansion is quoted, the absence of record-safe encoding compromises the integrity of the log. The script creates `$DATA_DIR` with `mkdir -p` but does not establish a restrictive `umask` or explicitly set permissions on the directory and history file. ...[truncated 1706 chars]
Remediation
View remediation
> "$DATA_DIR/history.log" ``` 5. Establish restrictive permissions before creating storage: ```bash umask 077 mkdir -p -- "$DATA_DIR" touch -- "$DATA_DIR/history.log" chmod 700 -- "$DATA_DIR" chmod 600 -- "$DATA_DIR/history.log" ``` 6. Validate that `CLOUD_SDK_DIR` points to an expected, user-controlled location and handle pre-existing directories or symbolic links according to the application's trust model. 7. Define a retention or rotation policy so historical data is not stored indefinitely. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

This skill presents itself as a Go cloud library/toolkit but actually documents a local developer workflow tool that stores history on disk. Such deceptive or inaccurate packaging is dangerous because users may grant trust, permissions, or adoption based on the claimed cloud-development identity rather than the real behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

This skill presents itself as a Go cloud library/toolkit but actually documents a local developer workflow tool that stores history on disk. Such deceptive or inaccurate packaging is dangerous because users may grant trust, permissions, or adoption based on the claimed cloud-development identity rather than the real behavior.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest describes a Go Cloud/Go CDK library, while the operational documentation describes local project lifecycle automation commands. This is a software identity integrity issue: users and automated systems may classify, approve, or invoke the skill for the wrong purpose.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The top-level branding and the body content refer to different products, creating confusion about what the skill actually is. While not directly code-execution abuse by itself, this inconsistency increases operational risk and can conceal unexpected behavior from reviewers and users.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The script's implemented behavior is a generic local workflow helper with persistent activity logging, which does not align with the declared Go Cloud SDK purpose. This capability mismatch is dangerous because users may install or trust the skill expecting cloud-development functionality while it silently performs unrelated local tracking, increasing the risk of deceptive data collection and reducing informed consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The skill states that every command is automatically logged to a history file, but it does not provide a clear privacy warning, retention guidance, or discussion of potentially sensitive content captured in command history. In developer environments, command names and arguments can reveal project names, internal paths, or operational activity.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The script creates a persistent data directory and records command history to a local log file without any need justified by the stated Go Cloud library context. Even though the logged data is limited, persistent local telemetry can expose project names, developer actions, or sensitive arguments over time, especially on shared systems or in environments where users do not expect retention.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.