Back to skill

Security audit

Marketing Plan

Security checks for vulnerabilities and agentic risk

Overview

This skill openly does marketing-plan research and creates Word documents, with no evidence of hidden access, persistence, or destructive behavior.

Before installing, be aware that this skill may perform web searches based on marketing inputs and create local Word files. Use nonsensitive search terms when possible, review generated documents before sharing, and prefer a pinned python-docx dependency in a virtual environment.

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:8
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 8
Vulnerability Type: Unpinned third-party dependency
Risk Level: Medium

yaml
dependencies: "pip install python-docx"

Technical Analysis

The Skill instructs users or agents to install python-docx without specifying a reviewed version or validating the package with a cryptographic hash. Consequently, the installed artifact is mutable and depends on whichever release the package index resolves at installation time.

Although no malicious dependency is currently demonstrated in the repository, this practice creates a supply-chain exposure. A compromised maintainer account, malicious future release, or compromise of the package distribution infrastructure could cause installation of attacker-controlled code. Python packages may execute code during installation, and malicious package content may also execute when imported during document generation.

Attack Path

  1. An attacker compromises the upstream package, a maintainer account, or the package distribution channel.
  2. The attacker publishes a malicious release under the expected python-docx package name.
  3. A user or agent follows the Skill metadata and runs pip install python-docx.
  4. Because no version or hash is specified, pip resolves and downloads the attacker-controlled release.
  5. Malicious code executes during installation or when the package is imported by the document-generation code.
  6. The code operates with the privileges of the account running pip or invoking the Skill.

Impact Assessment

Successful exploitation could permit arbitrary code execution under the installing or executing user's privileges. Depending on that account's permissions, an attacker could access local files, environment variables, generated marketing documents, and credentials available to the process; modify files; or establish outbound network connections. The immediate scope is the environment ...[truncated 204 chars]

Remediation
View remediation

Remediation Suggestions

  • Replace the mutable installation command with a dependency manifest that pins a reviewed, exact version.
  • Record and enforce cryptographic hashes for every downloaded distribution, for example through a hash-locked requirements.txt installed with pip install --require-hashes -r requirements.txt.
  • Prefer binary wheels from the official Python Package Index and explicitly disable unexpected package sources or extra indexes.
  • Install the dependency in an isolated virtual environment with the minimum required operating-system permissions.
  • Use automated dependency scanning and a controlled update process to review new versions before changing the pin.
  • Consider the following pattern after selecting and verifying an appropriate release:
text
python-docx==<reviewed-version> --hash=sha256:<verified-distribution-hash>

The exact version and hash should be generated from a trusted artifact and maintained through the project's dependency-review process.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (4)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill is advertised with very broad activation criteria for marketing-related requests, which increases the chance it will be invoked in situations where users did not clearly consent to web research or file generation. In an agent ecosystem, over-broad routing can cause unnecessary external data access, unintended content generation, and execution of side effects outside the user's precise intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill states that it performs web research and generates .docx files but does not disclose these side effects or require confirmation, which can lead to unintentional transmission of user/business data to external services and unexpected file creation on the host. In a marketing context, prompts may contain sensitive product plans, budgets, or company details, making this omission materially risky.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · LICENSE.txt (reported line 12)May include surrounding context.

text
permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation presents generate_docx as working code for producing a formatted Word document, but lines L101-L104 call Cm(...) without importing it anywhere in the snippet. As written, the function will raise a NameError before document generation completes, so the documented intent is not matched by the code shown.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.