Back to skill

Security audit

Mailchimp

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Mailchimp integration that uses ClawLink for OAuth and tool access, with broad Mailchimp write powers that users should intentionally approve and monitor.

Install only if you trust ClawLink to hold and use Mailchimp OAuth access. Before connecting, review the Mailchimp account being authorized, keep write confirmations specific to the target resource and effect, and revoke the connection or remove the plugin if you no longer need it.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:10
Finding
Unpinned Third-Party Plugin and Hosted OAuth Proxy Create an Unverifiable Supply-Chain Trust Boundary<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 10–12, 40–46, and 68–80 **Vulnerability Type**: Unpinned external dependency with delegated credential custody **Risk Level**: Medium ### Vulnerable Code ```markdown This skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=mailchimp-marketing) for hosted connection flows and credentials so you do not need to configure Mailchimp API access yourself. ``` ```bash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restart ``` ```markdown ### Getting Connected 1. Install the ClawLink plugin (see Install above). 2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet. 3. Open https://claw-link.dev/dashboard?add=mailchimp and connect Mailchimp (requires an active Mailchimp account). 4. Call `clawlink_list_integrations` to verify the connection is active. ``` ```markdown All Mailchimp tool calls are authenticated automatically by ClawLink using the user's connected Mailchimp account. **No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Mailchimp API request on the user's behalf. ``` ### Technical Analysis The Skill instructs users to install `clawhub:clawlink-plugin` without specifying an immutable version, cryptographic digest, signature requirement, or other verifiable release identity. It then adds the plugin to OpenClaw's allowed tools and restarts the gateway. The Skill also delegates Mailchimp OAuth-token custody and API request proxying to the external ClawLink service. Because the audited project contains only `SKILL.md`, the plugin implementation and hosted service are not available for review. Consequently, the audit cannot verify: - The exact plugin artifact that will be installed. - Whether future installations resolve to the same reviewed implementation. - How OAuth tokens are ...[truncated 2568 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. **Pin the dependency** - Require an immutable plugin version rather than an unqualified package name. - Pin the expected artifact using a cryptographic digest where the package manager supports it. - Prevent automatic updates from replacing the reviewed artifact without renewed approval. 2. **Verify release provenance** - Publish the plugin source corresponding to each release. - Sign release artifacts and verify signatures during installation. - Provide reproducible-build metadata, a software bill of materials, and a documented release process. - Restrict publishing privileges and protect release accounts with strong multi-factor authentication. 3. **Apply least-privilege OAuth controls** - Document every Mailchimp OAuth scope requested and why it is necessary. - Request only the scopes needed for the operation selected by the user. - Where supported, separate read-only authorization from campaign sending, exports, webhook management, and destructive administration. - Clearly display the account and granted scopes before authorization. 4. **Harden credential custody** - Prefer local or user-controlled token storage when feasible. - If hosted custody remains necessary, document encryption at rest and in transit, key management, access logging, retention periods, tenant isolation, and breach-response procedures. - Provide immediate token revocation, connection deletion, and session invalidation controls. - Never include OAuth tokens or sensitive subscriber data in logs or error messages. 5. **Strengthen authorization and confirmation** - Require explicit user approval before plugin installation, allow-list modification, gateway restart, account pairing, and OAuth authorization. - Bind confirmations to the exact integration, Mailchimp account, operation, target resources, and request parameters. - Require fresh confirmation for exports, campaign sends, webhook creation, ...[truncated 529 chars]
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.