T01 · Skill Instruction Hijacking
- Location
SKILL.md:5- Finding
Mandatory Direct Execution Bypasses the Standard Skill Invocation Path
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is advertised as sound-effect generation, but its artifacts require direct Python execution and include a broad remote model client that can upload local image or video files.
Review this skill before installing. Only use it with a dedicated, revocable TEAM_API_KEY, verify the intended API endpoint, and avoid allowing agents to pass local file paths unless you explicitly want those files uploaded to the remote service. The standard runner-bypass instruction should be removed or justified before routine use.
SKILL.md:5Mandatory Direct Execution Bypasses the Standard Skill Invocation Path
script/invoke_model.py:29Undisclosed Transmission of an Environment Credential to a Third-Party Endpoint
script/invoke_model.py:13Undeclared Arbitrary Local File Reading and External Upload
script/invoke_model.py:11General Multimodal Model Client Exceeds the Declared SFX-Only Scope
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
print(f"Invoking model: {args.model} ...")
try:
response = requests.post(endpoint, headers=headers, json=payload)
response.raise_for_status()
result = response.json()
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
while True:
time.sleep(3) # 每3秒查询一次
poll_resp = requests.get(poll_endpoint, headers=headers)
poll_resp.raise_for_status()
poll_data = poll_resp.json()
The documented purpose is narrowly framed as sound-effect generation, but the implementation reportedly supports broader remote model invocation and multimodal image/video workflows. This mismatch is dangerous because agents and users may authorize the skill under a narrow trust assumption while it can actually process additional data types and perform more expansive remote operations.
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).
import os
import sys
import argparse
import base64
import requests
import json
import mimetypes
import time
def parse_args():
parser = argparse.ArgumentParser(description='Invoke Team AI Models via unified API')
parser.add_argument('--model', type=str, required=True, help='The model ID to use (e.g., qwen3_5-plus, sora-2, etc.)')
parser.add_argument('--prompt', type=str, required=True, help='The prompt text to send to the model')
parser.add_argument('--image', type=str, help='Path to the local image file or remote image URL (First frame)')
parser.add_argument('--image-tail', type=str, help='Path to the local image file or remote image URL (Tail/Last frame)')
parser.add_argument('--video', type=str, help='Path to the local video fi
The skill declares access to Python execution and an API key-backed remote service, but does not define an explicit tool/permission scope. That makes the runtime capabilities broader and less auditable, increasing the chance that an agent invokes code execution or networked actions without clear policy boundaries or user awareness.
The activation text says the skill should be used whenever the user wants sound generation, but does not define clear boundaries, safety checks, or exclusions. Broad triggers can cause over-invocation of a Python- and API-backed skill, increasing unintended data sharing, unexpected code execution, or use in contexts where a simpler non-executing response would suffice.
The skill description and operational instructions are written entirely in Chinese and direct behavior in that language without indicating user choice or opt-in. This can violate language/locale policy when a skill effectively forces a specific language rather than accommodating the user's preferred language.
The implementation is materially broader than the declared skill purpose of text-to-sound-effect generation: it exposes arbitrary model selection and multimodal invocation. In an agent-skill context, capability overreach is dangerous because it can be abused to exfiltrate non-audio data, invoke unintended model classes, or bypass policy assumptions made from the skill metadata.
Image and video upload support is unjustified for a skill described as sound-effect generation from text. In the skill context this increases danger because users or the orchestrator may assume only text is processed, while the code can upload local media or remote URLs to an external service, expanding data-exposure and abuse surface.
Support for image-to-video and video-generation model flows is unrelated to the stated sound-effect purpose and indicates latent, undocumented capabilities. In an agent ecosystem, hidden extra capabilities are risky because they undermine least privilege and can enable misuse well outside the expected audio domain.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
print(f"Invoking model: {args.model} ...")
try:
response = requests.post(endpoint, headers=headers, json=payload)
response.raise_for_status()
result = response.json()
The code sends prompt text and potentially base64-encoded local image/video content to a remote API without an explicit warning, consent gate, or in-code disclosure at the point of transmission. In this skill context that is more dangerous because the published description suggests a narrow audio task, not broad remote multimodal upload, so users may unknowingly expose sensitive local data.
The documentation instructs the agent to directly execute a Python script and use API-backed model access without any user-facing disclosure. While not inherently malicious, this reduces transparency and can lead to covert code execution and remote transmission of prompt content without informed consent.