Back to skill

Security audit

md-classification-route

Security checks for vulnerabilities and agentic risk

Overview

This appears to be an offline medical-device classification helper, but its package metadata requests broader agent powers than the tool needs and its integrity metadata is inconsistent.

Review this before installing because the package should narrow its allowed tools and republish accurate integrity hashes. If used, grant only the minimum needed to run the local Python CLI, avoid Write/WebFetch unless separately justified, and verify all classification results against current official regulatory sources or qualified counsel.

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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (8)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The document title and introductory guidance are written entirely in Chinese and direct readers to other materials without indicating any language choice or opt-in. This can violate language/locale policy when the skill is expected to be generally usable across users or agents with different language preferences.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger list includes broad generic terms such as “医疗器械”, “医械合规”, and “判定器”, which can cause the skill to activate outside its narrowly intended use. In an agent environment, overbroad invocation can route unrelated medical-regulatory queries into a deterministic screener, increasing the chance of incorrect compliance guidance or unintended tool use.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The natural-language description and usage context are presented entirely in Chinese, which imposes a specific language on users without any stated opt-in or alternative language support. The policy allows locale constraints when explicitly justified, but this file does not document such a limitation or offer user choice.

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 docstrings, CLI help text, error messages, warnings, and output disclaimer are all written in Chinese, and there is no option for the user to select another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document is explicitly split into English and Chinese sections, but there is no indication that language output is optional or user-selectable. Under the stated policy, forcing specific languages without opt-in can be a natural-language locale violation unless the restriction is clearly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The changelog explicitly states "Bilingual rewrite (full EN+ZH, English first)", which imposes a presentation order preference rather than offering a user-selected language or locale. The file includes both English and Chinese content, but does not state that language choice is user-configurable or optional.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The visible text in the asset is primarily Chinese, which imposes a specific language choice on users. For a non-region-scoped skill artifact, this can violate language/locale policy when no alternative language option or justification is provided.

Content

No source excerpt is available for this finding.

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Confidence
50% confidence
Finding

Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls.

Content

Scanner excerpt · md-classification-route.py (reported line 135)May include surrounding context.

python
"rc": 2, "error_code": e.code}, ensure_ascii=False))
        sys.exit(0 if ok else 2)

    args = {k: getattr(ns, k) for k in names}
    if not any(v not in (None, "") for v in args.values()):
        p.print_help()
        sys.exit(0)

Static analysis

No suspicious patterns detected.