Back to skill

Security audit

label-compliance-checker

Security checks for vulnerabilities and agentic risk

Overview

This is a small, disclosed medical-device label checklist CLI with no hidden access, persistence, or data movement.

Before installing, treat it as a convenience checklist only: verify outputs against current official NMPA rules and be aware that some documentation examples appear stale. It does not appear to collect data, use credentials, persist changes, or perform network actions at runtime.

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
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The display name, description, instructions, and FAQ are all presented only in Chinese, and the file does not indicate that the skill is intentionally limited to Chinese-speaking users or a China-specific deployment context. Under the language/locale policy, forcing a single language without user opt-in or justification is a natural-language policy concern.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
This file contains user-facing descriptions, help text, warnings, and output disclaimers exclusively in Chinese. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly documented and justified; this file does not provide such opt-in or justification.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
Line L19 states '中文文档见 `SKILL.md`', indicating the skill documentation is only provided in Chinese. The file does not offer an alternative language or explain that the tool is intentionally limited to a Chinese-language regulatory context, which can violate a language/locale policy requiring user choice or explicit justification.

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Content
allok = False
                print(json.dumps({"tool": META["slug"], "input": d, "errors": [str(e)], "rc": 2}, ensure_ascii=False))
        sys.exit(0 if allok else 2)
    args = {k: getattr(ns, k) for k in argnames}
    if not any(v not in (None, "") for v in args.values()):
        # 无参数时打印帮助
        p.print_help()
Confidence
50% confidence
Finding
Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls.

Static analysis

No suspicious patterns detected.