Back to skill

Security audit

Label & IFU Expert(医械标签与IFU专家)

Security checks for vulnerabilities and agentic risk

Overview

This skill provides medical-device labeling guidance with a limited local checker, though its bundled security assurances are overstated.

Use this as a drafting aid and have qualified regulatory staff verify current official requirements before approving labels. Its bundled perfect scores and zero-risk claims are not reliable security guarantees, and its manifest needs updating. If you run the optional checker, select only the intended skill directory and expect security_results.json to be replaced.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (4)

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 · 安全审计报告.md (reported line 28)May include surrounding context.

md
| 风险维度 | 检查结果 | 判定 |
|---|---|---|
| 命令执行 | 包内无任何自动执行的脚本命令(curl/wget/bash/pip/npm 均 0 命中) | ✅ 无风险 |
| 远程脚本下载执行 | 无 `curl \| bash`、base64 解码执行等模式 | ✅ 无风险 |
| 网络请求 | 外链全部指向官方域(english.nmpa.gov.cn / health.ec.europa.eu / www.iso.org),无任何自动网络行为 | ✅ 无风险 |
| 文件系统操作 | 无删除/移动/写盘指令 | ✅ 无风险 |
| 凭据访问 | 无读取 API key / token / 环境变量行为;敏感扫描 0 命中 | ✅ 无风险 |

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: file_read, file_write.

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Dynamic import via __import__()

Medium
Category
Dangerous Code Execution
Confidence
75% confidence
Finding

Dynamic import() can load arbitrary modules at runtime, bypassing static analysis and potentially importing malicious code.

Content

Scanner excerpt · medical-device-label-ifu_security_test.py (reported line 117)May include surrounding context.

python
result = {
        "skill": "medical-device-label-ifu",
        "version": re.search(r"^version:\s*[\"']?([\w.]+)", sk.split("---")[1], re.M).group(1),
        "timestamp_local": __import__("datetime").datetime.now().isoformat(timespec="seconds"),
        "scope": "本地闭环 · 零真实凭据 · 可重复",
        "dimensions": dims,
        "overall": round(overall, 2),

The package check claims to detect caches but explicitly excludes them from inspection.

Low
Category
Excessive Agency
Confidence
98% confidence
Finding

The package-cleanliness check skips every path containing pycache yet can report that no caches or binaries exist. This creates an assurance gap in which excluded artifacts escape inspection while the package receives a clean score; it does not by itself demonstrate execution of those artifacts.

Content

No source excerpt is available for this finding.