Back to skill

Security audit

non-clinical-checker

Security checks for vulnerabilities and agentic risk

Overview

This is a small local decision-support checker for medical device non-clinical study requirements, with no hidden network, credential, persistence, or destructive behavior found.

Install only if Chinese-language regulatory decision-support output is useful for your workflow. Treat the recommendations as a checklist aid, not a compliance conclusion, and verify against current official NMPA/GB/YY texts before making registration, recall, clinical, or business decisions.

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 (6)

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
This code file contains user-facing descriptions and messages exclusively in Chinese, including the module docstring and operational disclaimer. Under the policy rule for language/locale, forcing a specific language without user opt-in or justification can be a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The argument help text is presented only in Chinese, which constrains the skill's interaction language without offering an opt-in choice. This may violate organizational language policy unless the locale limitation is explicitly justified.

Natural-Language Policy Violations

Medium
Confidence
87% confidence
Finding
Multiple user-visible CLI strings and the final disclaimer are emitted only in Chinese. Because the skill does not offer language selection or clearly justify a mandatory Chinese locale, this is a policy concern under the natural-language locale rule.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
Line L19 states '中文文档见 `SKILL.md`', indicating the skill documentation is provided in Chinese only. This is a natural-language locale choice embedded in the file, and no alternative language option or user opt-in is offered.

Natural-Language Policy Violations

Low
Confidence
89% confidence
Finding
The user-facing title, description, usage guidance, FAQ, and disclaimers are entirely written in Chinese, and there is no indication that another language is available or that Chinese is optional. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale restriction is clearly documented and justified.

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.