Back to skill

Security audit

Marketing Asset Generator

Security checks across malware telemetry and agentic risk

Overview

This skill does what it says: it generates marketing assets, uploads them to Feishu, and posts to Slack, so users should treat it as an external-sharing automation.

Install only if you intend campaign prompts, generated images, file links, and some research snippets to be processed by external services and shared to the configured Feishu folder and Slack channel. Use least-privilege API keys, choose a narrow Slack channel, avoid confidential unreleased material unless those services are approved for it, and prefer pinned dependencies for production use.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (12)

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The README explicitly states that generated assets are automatically uploaded to Feishu Drive and that the team is notified on Slack, but it does not warn users that prompts, generated content, links, or related metadata may be transmitted to third-party services. This creates a real transparency and consent issue because users may run the workflow expecting local-only processing and unintentionally exfiltrate sensitive marketing plans, unreleased product details, or internal creative assets.

Vague Triggers

Medium
Confidence
84% confidence
Finding
The example prompts are broad and action-oriented, encouraging automatic execution of a multi-step workflow without clear boundaries, confirmation gates, or exclusion conditions. Because this skill performs external search, cloud upload, and Slack notification, vague invocation patterns increase the chance of unintended triggering and silent data sharing.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The documentation describes upload and notification steps as workflow features, but it does not prominently warn users that generated assets and related context may be automatically sent to Feishu Drive and Slack. In a marketing workflow, prompts, generated images, file links, and possibly inspiration data may contain confidential campaign information, making undisclosed third-party transmission a meaningful privacy and data-governance risk.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The code reads multiple secrets from environment variables and uses them to access third-party services without any user-facing disclosure or consent gate. In an agent-skill context, this can surprise operators and cause credentials to be used on behalf of a user or workspace without transparent notice.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The workflow transmits generated assets and associated metadata to Feishu and Slack, but the code provides no explicit warning, confirmation, or policy check before doing so. In an automated agent environment, that creates a real risk of unintended data disclosure to external systems.

Unpinned Dependencies

Low
Category
Supply Chain
Content
python-dotenv>=1.0.0
duckduckgo-search>=6.1.0
google-genai>=0.3.0
requests>=2.31.0
Confidence
96% confidence
Finding
The dependency is specified with a lower-bound version constraint only, which permits installation of any newer release, including versions with breaking changes or newly introduced malicious or vulnerable code. In a security-sensitive workflow that handles cloud storage and team notifications, non-reproducible builds increase supply-chain risk and make security review harder.

Unpinned Dependencies

Low
Category
Supply Chain
Content
python-dotenv>=1.0.0
duckduckgo-search>=6.1.0
google-genai>=0.3.0
requests>=2.31.0
requests-toolbelt>=1.0.0
Confidence
96% confidence
Finding
Using an unpinned version for duckduckgo-search allows future package releases to be pulled automatically, which can introduce insecure behavior, API-breaking changes, or compromised upstream artifacts. This is a classic software supply-chain weakness rather than an immediate exploit in the file itself.

Unpinned Dependencies

Low
Category
Supply Chain
Content
python-dotenv>=1.0.0
duckduckgo-search>=6.1.0
google-genai>=0.3.0
requests>=2.31.0
requests-toolbelt>=1.0.0
slack-sdk>=3.27.0
Confidence
96% confidence
Finding
The google-genai dependency is not pinned, so installations are not reproducible and may silently consume future versions with different security properties. Because this skill appears to interact with external AI/image-generation services, dependency drift could alter request handling or data exposure behavior unexpectedly.

Unpinned Dependencies

Low
Category
Supply Chain
Content
python-dotenv>=1.0.0
duckduckgo-search>=6.1.0
google-genai>=0.3.0
requests>=2.31.0
requests-toolbelt>=1.0.0
slack-sdk>=3.27.0
Confidence
98% confidence
Finding
The requests package is unpinned, which is especially risky because it is a core HTTP client likely used for external network communication in this skill. Since requests also has multiple known advisories, allowing any newer compatible version increases the chance of pulling a vulnerable or behavior-changing release and complicates incident response.

Unpinned Dependencies

Low
Category
Supply Chain
Content
duckduckgo-search>=6.1.0
google-genai>=0.3.0
requests>=2.31.0
requests-toolbelt>=1.0.0
slack-sdk>=3.27.0
Confidence
95% confidence
Finding
requests-toolbelt is specified with a minimum version only, which weakens reproducibility and can expose the environment to unintended future updates. While not inherently malicious, this pattern increases supply-chain uncertainty in an automation workflow that likely processes remote content and uploads files.

Unpinned Dependencies

Low
Category
Supply Chain
Content
google-genai>=0.3.0
requests>=2.31.0
requests-toolbelt>=1.0.0
slack-sdk>=3.27.0
Confidence
96% confidence
Finding
An unpinned slack-sdk version allows arbitrary newer releases to be installed, which can introduce unreviewed code changes into a component that may send messages or handle Slack tokens. In integrations involving collaboration platforms, deterministic dependency management is important to reduce credential- and message-handling risk.

Known Vulnerable Dependency: requests — 10 advisory(ies): CVE-2014-1830 (Exposure of Sensitive Information to an Unauthorized Actor in Requests); CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi) +7 more

High
Category
Supply Chain
Confidence
93% confidence
Finding
The skill depends on requests, and the static analysis reports multiple known advisories affecting that package. Given this skill's description involves external search, cloud storage, and notifications, HTTP handling is likely central to operation, making a vulnerable requests version materially more dangerous through credential leakage, TLS/verification issues, or other request-manipulation flaws.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.