Back to skill

Security audit

bizyair-video

Security checks across malware telemetry and agentic risk

Overview

This skill mostly does what it claims, but it also allows broader BizyAir workflow execution and includes unrelated image-angle tooling that users should review before installing.

Install only if you are comfortable sending prompts, image URLs, task IDs, and generated output links to BizyAir using your API key. Use a dedicated revocable key if possible, avoid private/internal media URLs, and do not use custom web_app_id workflows or the bundled bozo-jiaodu scripts unless you have independently verified what those BizyAir workflows do.

SkillSpector

By NVIDIA
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 Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (19)

Lp3

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding
The skill declares no permissions while explicitly requiring shell/curl execution to invoke an external API. This under-declaration weakens security review and user awareness, making it easier for a seemingly simple skill to perform networked actions with local credentials.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The skill grants local Bash execution capability via Claude settings, even though the declared functionality is an asynchronous BizyAir API video-generation assistant. Allowing shell execution expands the attack surface from remote API usage to local code execution, and the referenced scripts could perform unintended filesystem or command actions if modified or abused.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The skill claims to support five fixed video-generation modes but also allows user-supplied arbitrary web_app_id and parameter mappings. That turns a narrow media helper into a generic remote workflow executor, expanding capability beyond the declared trust boundary.

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
By permitting any user-specified web_app_id, the skill can trigger arbitrary BizyAir remote workflows rather than only the documented video tasks. This creates a broad external action surface that could be steered into unauthorized, unsafe, or policy-violating API operations using the skill's stored credentials.

Intent-Code Divergence

Medium
Confidence
90% confidence
Finding
The documentation presents the skill as supporting exactly five modes, but later instructions allow adding new modules and arbitrary workflow definitions. This inconsistency obscures the real capability of the skill and can mislead reviewers and users about what external actions it may perform.

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The file content does not match the declared skill metadata: it evaluates a camera-angle prompt conversion tool instead of the advertised BizyAir video-generation assistant. This kind of skill/manifest mismatch can cause incorrect routing, unsafe execution assumptions, and security review gaps because operators and users may trust behavior that the packaged artifact does not actually implement.

Intent-Code Divergence

Medium
Confidence
82% confidence
Finding
The file claims a fixed 96-position camera prompt set, but its mappings and examples introduce inconsistent angle semantics, including separate use of 'elevated shot' and 'high-angle shot'. This inconsistency can produce unreliable outputs, bypass policy assumptions built around a constrained vocabulary, and undermine downstream validation or prompt-safety controls that expect a precise ontology.

Description-Behavior Mismatch

High
Confidence
94% confidence
Finding
The README documents image angle-adjustment scripts while the skill metadata advertises a video-generation assistant with five video modes. This kind of capability mismatch is dangerous because it can misroute user requests, cause the agent to invoke the wrong external workflow, and hide the true data handling behavior of the skill from reviewers and users.

Intent-Code Divergence

Medium
Confidence
88% confidence
Finding
The documentation says task polling returns generated images, which contradicts the stated video-generation purpose of the skill. This inconsistency increases the risk of incorrect downstream handling, such as exposing image URLs when a caller expects video artifacts, and indicates the skill's real behavior may differ from what users consented to.

Vague Triggers

Medium
Confidence
88% confidence
Finding
The trigger phrases are very broad, causing the skill to activate on common video-related requests even when the user may not intend external API use. Over-broad invocation increases the chance of accidental credentialed network actions and unintended data transmission.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill instructs outbound transmission of prompts and image URLs and use of BIZYAIR_API_KEY, but does not clearly disclose this data flow to the user. Missing notice and consent can expose sensitive content or internal URLs to a third party without informed approval.

Missing User Warnings

Medium
Confidence
85% confidence
Finding
The README instructs users to send image URLs and use an API key with an external BizyAir service, but it does not disclose that user-supplied media references and related metadata are transmitted to a third party. This is a privacy and transparency issue because users may unknowingly expose sensitive or private content to an external processor.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The script transmits user-supplied prompts and image/frame URLs to a third-party API, but it does not provide any explicit privacy notice, consent step, or data-handling warning before submission. In an agent-skill context, users may assume local processing, so silent external transmission can expose sensitive prompts, private media URLs, or internal resource locations.

Ssd 4

Medium
Confidence
95% confidence
Finding
The skill explicitly invites future natural-language redefinition of modules, workflow IDs, and parameters. This makes the execution framework malleable by prompt input, increasing the risk that users can progressively steer the agent into unsafe remote operations beyond original review scope.

External Transmission

Medium
Category
Data Exfiltration
Content
2. 使用 `curl` 执行以下 POST 请求:

```bash
curl -s -X POST "https://api.bizyair.cn/w/v1/webapp/task/openapi/create" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${BIZYAIR_API_KEY}" \
  -H "X-Bizyair-Task-Async: enable" \
Confidence
90% confidence
Finding
The skill performs outbound HTTP requests to a third-party API and includes an Authorization bearer token from the environment. External transmission is expected for the feature, but it is still security-relevant because user prompts, image URLs, and task metadata leave the local trust boundary.

External Transmission

Medium
Category
Data Exfiltration
Content
2. 使用 `curl` 执行以下 POST 请求:

```bash
curl -s -X POST "https://api.bizyair.cn/w/v1/webapp/task/openapi/create" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${BIZYAIR_API_KEY}" \
  -H "X-Bizyair-Task-Async: enable" \
Confidence
90% confidence
Finding
The skill performs outbound HTTP requests to a third-party API and includes an Authorization bearer token from the environment. External transmission is expected for the feature, but it is still security-relevant because user prompts, image URLs, and task metadata leave the local trust boundary.

External Transmission

Medium
Category
Data Exfiltration
Content
1. 使用 `curl` 执行查询:

```bash
curl -s -X GET "https://api.bizyair.cn/w/v1/webapp/task/openapi/outputs?requestId=<对应的requestId>" \
  -H "Authorization: Bearer ${BIZYAIR_API_KEY}"
```
Confidence
86% confidence
Finding
The outputs query sends the requestId and authorization token to the external BizyAir service. While necessary for functionality, it extends the skill's external communication surface and should be treated as a credentialed third-party data exchange.

External Transmission

Medium
Category
Data Exfiltration
Content
echo "🔧 工作流 ID: ${WEB_APP_ID}"
echo ""

RESPONSE=$(curl -s -X POST "https://api.bizyair.cn/w/v1/webapp/task/openapi/create" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${BIZYAIR_API_KEY}" \
  -H "X-Bizyair-Task-Async: enable" \
Confidence
84% confidence
Finding
The hardcoded external endpoint confirms that this skill depends on a third-party service and sends data outside the local environment. In a skill that accepts arbitrary user-supplied image URLs, this increases the risk of leaking sensitive resource locations or sending internal-only references to an external processor.

External Transmission

Medium
Category
Data Exfiltration
Content
echo "🔧 工作流 ID: ${WEB_APP_ID}"
echo ""

RESPONSE=$(curl -s -X POST "https://api.bizyair.cn/w/v1/webapp/task/openapi/create" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${BIZYAIR_API_KEY}" \
  -H "X-Bizyair-Task-Async: enable" \
Confidence
84% confidence
Finding
The hardcoded external endpoint confirms that this skill depends on a third-party service and sends data outside the local environment. In a skill that accepts arbitrary user-supplied image URLs, this increases the risk of leaking sensitive resource locations or sending internal-only references to an external processor.

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.