Google Tag Manager

SuspiciousAudited by ClawScan on May 10, 2026.

Overview

The skill is mostly aligned with managing Google Tag Manager, but it can make live account changes and contains an unsafe create-version command that can execute unintended local Python code from crafted name or notes input.

Only install this if you are comfortable giving the agent access to modify and publish your Google Tag Manager container. Use a least-privilege service account, verify which Google identity is active, review all delete and publish actions before they run, and avoid the create-version name/notes fields until the unsafe Python interpolation is fixed.

Findings (6)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

ConcernHigh Confidence
ASI05: Unexpected Code Execution
What this means

A malicious or accidentally malformed version name or notes string could cause the agent's local environment to run unintended Python commands.

Why it was flagged

The create-version command inserts the user-provided version name and notes directly into Python source code. A crafted value containing quotes and Python syntax could execute code locally when the command runs.

Skill content
body=$(python3 -c "import json; print(json.dumps({k:v for k,v in {'name':'$name','notes':'$notes'}.items() if v}))")
Recommendation

Do not use create-version with untrusted name or notes values until this is fixed. The script should pass name and notes via argv, stdin, or environment variables and call json.dumps on those values without building Python code by string interpolation.

What this means

The agent could read, edit, or publish GTM changes using the wrong Google identity or a more privileged account than the user intended.

Why it was flagged

The script automatically uses the active local gcloud credentials before checking the service-account JSON path. That may operate under whichever Google account is currently active, not necessarily the intended GTM service account.

Skill content
if command -v gcloud &>/dev/null; then
    gcloud auth print-access-token 2>/dev/null && return
  fi
Recommendation

Require the user to explicitly choose gcloud authentication versus a service-account key, show the active gcloud account before use, and document the required GTM permissions in the registry metadata.

What this means

Anyone or any agent using this credential with sufficient GTM access can modify the configured GTM account/container.

Why it was flagged

The skill requires a Google service-account credential for GTM API access, which is expected for this integration but should be treated as sensitive account authority.

Skill content
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
Recommendation

Use a dedicated service account with the minimum GTM permissions needed, store the JSON key securely, and rotate it if exposed.

What this means

A mistaken command could remove tracking components or publish changes that affect a live website or marketing setup.

Why it was flagged

The documented command set includes deleting GTM resources and publishing a container version live. These are purpose-aligned but high-impact operations.

Skill content
`delete-tag <tagId> [workspaceId]` ... `delete-trigger <triggerId> [workspaceId]` ... `delete-variable <variableId> [workspaceId]` ... `publish <versionId>`
Recommendation

Review proposed changes before delete or publish operations, use a test workspace where possible, and keep a rollback plan using existing GTM versions.

What this means

Users may install dependencies ad hoc, increasing setup friction and making dependency provenance/versioning less clear.

Why it was flagged

The script requires Python packages for service-account JWT authentication, but the registry requirements and install spec do not declare these dependencies.

Skill content
ERROR: pip3 install PyJWT cryptography
Recommendation

Declare required binaries and Python packages in metadata or an install spec, preferably with pinned versions or clear installation instructions.

What this means

A user could accidentally publish a tracking configuration that references domains they did not intend to use.

Why it was flagged

A cross-domain tracking template contains specific real domains rather than obvious placeholders. If copied unchanged, it could configure unrelated domains in a user's GTM container.

Skill content
{ "type": "TEMPLATE", "value": "geo.creaitor.ai" },
{ "type": "TEMPLATE", "value": "app.creaitor.ai" }
Recommendation

Replace these with clear placeholders such as example.com or explicitly instruct users to substitute only domains they own and want to track.