Back to skill

Security audit

MedXpert 全球法规连接器

Security checks for vulnerabilities and agentic risk

Overview

This is a local read-only medical-device regulatory lookup skill; the main risks are ordinary install/provenance hygiene rather than malicious behavior.

Install only in an environment where you are comfortable running a local Python MCP server. Pin fastmcp or use a reviewed lockfile if possible, keep REG_HUB_REFS unset or pointed only at the intended reference folder, and verify regulatory answers against official sources before using them for compliance decisions.

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

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 42–46
Vulnerability Type: Unpinned third-party dependency and missing integrity verification
Risk Level: Medium

Vulnerable Code

markdown
② 安装依赖:

```bash
pip install fastmcp
text

The dependency is subsequently imported by the server at `reg_connector_server.py`, line 26:

```python
from fastmcp import FastMCP

Technical Analysis

The installation instructions install fastmcp without a fixed version, cryptographic hashes, a lock file, or an explicitly trusted package index. Consequently, the package and its transitive dependencies are resolved dynamically from the user's configured Python package repository.

An unpinned dependency can change after this project has been audited. If the upstream package, one of its transitive dependencies, or the configured package index is compromised, malicious code may execute during package installation or when fastmcp is imported by the server.

Because imported dependency code runs inside the MCP server process, it is not constrained by the otherwise read-only behavior of reg_connector_server.py. It inherits the server process's operating-system permissions and may access the filesystem, environment variables, credentials available to the process, and network resources.

Attack Path

  1. An attacker compromises a future fastmcp release, one of its transitive dependencies, or a package repository used by the victim.
  2. The user follows the documented command pip install fastmcp.
  3. pip resolves and installs the attacker-controlled release because no approved version or artifact hash is specified.
  4. Malicious installation hooks may execute during installation.
  5. Alternatively, the payload executes when reg_connector_server.py imports fastmcp.
  6. The payload operates with the privileges of the user running the installation or MCP server.

Impact Assessment

Successful exploitation may permit arbitrary code execut ...[truncated 600 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin fastmcp to a specifically reviewed version rather than installing the latest available release:

    text
    fastmcp==<reviewed-version>
    
  2. Generate a complete lock file covering all transitive dependencies and include SHA-256 hashes for every permitted distribution.

  3. Document installation using hash enforcement:

    bash
    python -m pip install --require-hashes -r requirements.txt
    
  4. Generate locks separately for supported Python versions and platforms where dependency resolution differs.

  5. Document the expected trusted package index and prevent fallback to untrusted extra indexes.

  6. Review dependency provenance, release signatures or attestations, maintainers, and transitive dependency changes before updating the lock file.

  7. Run the MCP server under a dedicated, least-privileged account with restricted filesystem and network access to reduce the impact of a future dependency compromise.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (29)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/FDA创伤敷料供应链穿透检查枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/GMP质量体系与验证枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/UDI全球标识枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/上市后监管枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/原材料供应商合规枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/技术文件STED撰写枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/标签与IFU枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/注册周期费用有效期对比枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/注册工程师资料枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/生物相容性测试规划枢纽.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/骨科手术器械_全球注册路径汇编.md (reported line 1)May include surrounding context.

md
# 骨科手术器械 / 骨科手术器械 / 骨科手术器械 — 全球医疗器械注册路径汇编(含拉美与东南亚)

> 编制日期:2026-08-13 | 适用产品:运动医学 / 关节镜无源手术器械
> 覆盖:中国、美国、欧盟、日本、拉美(巴西/墨西哥/阿根廷)、东南亚(印尼/泰国/马来/越南/新加坡/菲律宾)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

This markdown file contains a natural-language instruction requiring all external attribution to use a fixed Chinese branding form: 「注册老炮 (MedXpert)」 and forbidding alternatives. Because SQP-3 covers language or locale policy violations across all file types, this is a policy concern where a specific language/form is imposed without offering user choice or documenting a justified locale constraint.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill declares no explicit tool scope or permission boundaries even though its documented behavior relies on reading local files and environment variables (REG_HUB_REFS). That can cause the host agent to grant broader-than-necessary access or leave operators unable to verify that the skill is limited to the intended read-only knowledge base, increasing the risk of unintended local file exposure.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

This manifest contains a Chinese author name and an extensive set of Chinese-titled reference files, which indicates the skill is oriented toward Chinese-language operation. Because no manifest text documents that the skill is Chinese-only, region-specific, or offers language choice, this can amount to an undocumented language/locale constraint under the policy.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The entire skill is written in Chinese and provides no indication that users may choose another language or locale. The policy requires flagging language or locale constraints when a skill forces a specific language without user opt-in, and this file contains no opt-in or justification that it is intended only for Chinese-language users.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The document is entirely written in Chinese and presents the skill as a general STED/technical documentation hub without stating that it is limited to Chinese-speaking users or a China-specific workflow. Under the policy, imposing a specific language without opt-in or justification is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The entire skill content is written exclusively in Chinese and does not indicate that users may choose another language or locale. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation unless the regional constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file’s natural-language content is wholly Chinese and provides no opt-in, alternative language, or explicit statement that the skill is intended only for Chinese-speaking users. Under the language/locale policy, forcing a specific language without user choice can be a policy violation unless clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module description, tool docstrings, and user-facing messages are written entirely in Chinese, indicating the skill is intended to operate in a fixed language. The policy requires avoiding forced language or locale constraints unless the skill offers opt-in choice or clearly documents a justified region-specific limitation, which is not present here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The file adds natural-language policy statements in Chinese at L25-L27, while the rest of the license is in English. This can impose a language accessibility constraint on users who cannot read Chinese, and the file does not provide an English equivalent, opt-in, or justification for a Chinese-only policy section.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The primary title and display name are presented only in Chinese, which can amount to a language/locale constraint in the skill's natural-language surface. Although an English description is provided later, the user-facing naming fields do not indicate any language choice or opt-in.

Content

No source excerpt is available for this finding.

Rp1

Low
Category
MCP Rug Pull
Confidence
78% confidence
Finding

Installing fastmcp without pinning a version makes builds non-reproducible and exposes users to unexpected upstream changes or a compromised future release. In an MCP server context, a malicious or breaking dependency update could alter tool behavior, expand capabilities, or introduce code execution issues during installation or runtime.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The only natural-language description presented to users is written entirely in Chinese, which can impose a language choice on users without opt-in. The file does not indicate that this skill is region-specific or that users can select another language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

该文件全文以中文撰写,但内容涉及欧盟 MDR 法规实务,未说明这是面向中文用户的特定版本,也未提供语言选择或双语说明。根据规则,强制单一语言且无用户选择时,可视为自然语言层面的语言/locale 政策风险。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file contains end-user instructional content entirely in Chinese, with some Japanese terminology, and does not indicate that the user can choose another language. Under the policy category for language or locale constraints, this can be considered a forced locale without explicit opt-in or justification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.