Back to skill

Security audit

深度研究 Deep Research

Security checks for vulnerabilities and agentic risk

Overview

This research skill does not show clear malicious intent, but it overstates its capabilities and includes risky shell and unpinned npm execution paths that should be reviewed before installation.

Install only if you are comfortable with a draft-quality research helper that may send research topics to external services and may run shell/npm tooling. Avoid using it with confidential topics unless the search providers and network policy are acceptable, and prefer a revised version that pins npm packages, removes raw shell query templates, validates output paths, and clearly marks incomplete reports.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (4)

T08 · Insecure Dependencies

Error
Location
scripts/pdf_converter.py:169
Finding

Runtime Execution of Unpinned npm Packages

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:106
Finding

Shell Injection Risk in Search Command Templates

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/report_generator.py:72
Finding

Path Traversal Through Unvalidated Task Metadata

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/research_engine.py:56
Finding

Academic Search Uses an Unencrypted HTTP Endpoint

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (29)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The declared description promises a full deep-research workflow including multi-source search, fact verification, and professional report generation. The supplied code chunk does not perform search or verification at all; it only reads preexisting local research JSON files and summarizes them with simple counts and term frequencies. While it does support bilingual Markdown output and produces a report, the generated analysis is limited and partially templated with placeholder sections. Therefore the code materially underdelivers relative to the declared purpose, making this a description-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

The code is an orchestration utility for managing a research workflow on the local filesystem. It creates task folders and JSON/Markdown scaffolding, updates progress, stores findings supplied by other agents, and exposes simple CLI commands (create/status/list). The declared description presents a functional deep research skill that supports multi-source search, fact verification, market/competitive analysis, multilingual output, and report generation. Those substantive capabilities are not present in this code chunk; they are only implied by file structures and phase names. Therefore the description materially overstates what the supplied code actually does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description presents a deep research and analysis workflow with capabilities like multi-source search, fact verification, multilingual output, and report generation. The supplied code chunk does not implement any research functionality. Instead, it only converts Markdown reports to PDF using an external md-to-pdf tool, saves CSS styling, and exposes CLI commands for conversion/checking installation. While PDF export could be a supporting component of a larger research system, this code chunk’s actual purpose is narrowly document conversion, which is materially different from the declared primary purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

The declared description presents a broad deep-research workflow with search, verification, analysis, multilingual output, and professional report generation. The supplied code implements only the report-generation portion, specifically reading local JSON/Markdown artifacts (meta, progress, plan, research, analysis) and composing a Markdown report in English or Chinese. It includes boilerplate language about methodology and validation, but does not actually execute web search, source gathering, fact checking, or analytical processing. It also mentions PDF generation in the file docstring, but no PDF output is produced. Therefore the description materially overstates the capabilities of this code chunk, making it a mismatch.

Content

No source excerpt is available for this finding.

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 14)May include surrounding context.

md
真正能工作的深度研究工作流。支持多源搜索、事实验证、专业报告生成。

**与旧版本的区别:**
- ✅ 真正能搜索(使用 curl 调用搜索 API)
- ✅ 真正能分析(多源交叉验证)
- ✅ 真正能生成报告(完整内容,无占位符)
- ✅ 真正能工作(端到端自动化)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 14)May include surrounding context.

md
真正能工作的深度研究工作流。支持多源搜索、事实验证、专业报告生成。

**与旧版本的区别:**
- ✅ 真正能搜索(使用 curl 调用搜索 API)
- ✅ 真正能分析(多源交叉验证)
- ✅ 真正能生成报告(完整内容,无占位符)
- ✅ 真正能工作(端到端自动化)

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger phrases are very broad and likely to activate on ordinary user requests like 'market analysis' or 'help me research,' causing this skill to run in contexts the user did not explicitly intend. Because the skill performs external searches and shell-based workflows, overbroad activation increases the chance of unintentional data transmission or use of elevated capabilities.

Content

No source excerpt is available for this finding.

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 115)May include surrounding context.

md
"

# 学术搜索 (arXiv)
curl -s "http://export.arxiv.org/api/query?search_query=all:QUERY&max_results=5" | python3 -c "
import sys, xml.etree.ElementTree as ET
data = sys.stdin.read()
root = ET.fromstring(data)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 322)May include surrounding context.

bash
# 搜索市场规模
curl -s "https://search.example.com/search?q=AI芯片市场规模2026&format=json" | python3 -c "
import sys, json
data = json.load(sys.stdin)
for r in data.get('results', [])[:5]:

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 331)May include surrounding context.

md
"

# 搜索竞争格局
curl -s "https://search.example.com/search?q=NVIDIA+AMD+Intel+AI芯片市场份额&format=json" | python3 -c "
import sys, json
data = json.load(sys.stdin)
for r in data.get('results', [])[:5]:

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The repeated quick-trigger section uses generic phrases with no scope constraints, reinforcing accidental invocation risk. In a network-enabled skill, accidental routing matters because user topics may be sent to third-party APIs without a deliberate consent step.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill advertises and demonstrates shell, file, and environment-capable behavior but does not declare an explicit tool/permission scope. That creates unnecessary ambient authority, making it easier for the skill to be run with broader capabilities than users or the platform expect. In a skill that performs network searches and writes reports, missing scope boundaries increases the chance of unintended command execution, file access, or data exposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill description does not clearly warn that user-provided topics may be transmitted to third-party search APIs. This is a real privacy and data-handling issue because users may include confidential project names, internal strategy topics, or sensitive entities in a 'research' request without realizing those strings will be sent externally.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
86% confidence
Finding

The documented use of external endpoints such as DuckDuckGo and Wikipedia means user input is transmitted outside the local environment. In the context of a research skill this is expected, but it is still security-relevant because search terms can reveal sensitive business intent, customer names, or confidential research topics.

Content

Scanner excerpt · SKILL.md (reported line 433)May include surrounding context.

bash
# DuckDuckGo (无需 API key)
curl -s "https://api.duckduckgo.com/?q=QUERY&format=json"

# Wikipedia
curl -s "https://en.wikipedia.org/api/rest_v1/page/summary/QUERY"

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

Using npx clawhub@latest install word-studio pulls and executes whatever package version is current at install time, which is a supply-chain risk. A compromised or malicious update could run arbitrary code in the user's environment when the skill is followed. Because this is presented as part of normal workflow integration, users may execute it without scrutiny.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The unpinned npx clawhub@latest install chart-maker command introduces the same supply-chain exposure: the installed code can change over time and may execute arbitrary postinstall or runtime logic. Since the command is embedded in trusted documentation, it can facilitate execution of unreviewed third-party code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The npx clawhub@latest install universal-translator instruction is another unpinned remote package execution path. This can be exploited through dependency hijacking, malicious releases, or compromised publisher accounts, resulting in arbitrary code execution or data theft.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The report mixes English headings with a Chinese subtitle and Chinese-formatted date, and the body is predominantly written in Chinese. This indicates a language/locale choice is being imposed by default, but the file provides no user choice, opt-in, or documented region-specific justification.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The report presents itself as a comprehensive deep-research deliverable, but the executive summary reports zero findings and zero sources while the body includes multiple populated sections and later major sections remain as placeholders. This creates a misleading artifact that can cause downstream users or agents to rely on incomplete or contradictory analysis as if it were validated research output.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/pdf_converter.py (reported line 173)May include surrounding context.

python
"""Check if md-to-pdf is installed"""

        try:
            result = subprocess.run(
                ["npx", "md-to-pdf", "--version"],
                capture_output=True,
                text=True,

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest describes a deep research workflow with search, fact verification, and report generation, but does not mention executing local programs or invoking package-managed CLI tools. This file runs npx md-to-pdf, which introduces arbitrary external process execution beyond the obvious needs of research orchestration itself.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The converter accepts user-influenced file paths and performs arbitrary local document conversion through an external CLI, which broadens the skill from research orchestration into general filesystem-processing behavior. In the context of an agent skill, this is more dangerous because it can be used on attacker-chosen local files and hands them to a complex external renderer, increasing exposure to file disclosure, SSRF-like fetches during rendering, or vulnerable third-party tooling.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
82% confidence
Finding

This code executes external Node.js tooling on a user-supplied Markdown file and stylesheet path. Although it avoids shell injection by using an argument list, invoking md-to-pdf on untrusted content can trigger dangerous behavior in the downstream renderer, such as local file access, network fetches, or execution paths within the Node/Puppeteer ecosystem, making this a real boundary-expansion risk.

Content

Scanner excerpt · scripts/pdf_converter.py (reported line 238)May include surrounding context.

python
),
            ]

            result = subprocess.run(
                cmd, capture_output=True, text=True, timeout=120, cwd=output_dir
            )

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code contains a built-in language policy that only supports Chinese when the locale starts with 'zh' and otherwise falls back to English. That is a natural-language policy constraint embedded in code, and there is no user-facing indication of broader locale choice, opt-in, or documented justification for restricting output languages this way.

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

Static analysis

No suspicious patterns detected.