Back to skill

Security audit

evid-four-check

Security checks for vulnerabilities and agentic risk

Overview

This is a small local Chinese-language legal decision-support CLI with no network, credential, persistence, or system-modifying behavior.

Installers should treat this as Chinese legal decision-support only, not legal advice. Verify current official legal texts and have a qualified human review any real legal conclusion, but the artifact does not request sensitive access or high-impact system authority.

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

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
Line L19 states '中文文档见 `SKILL.md`', indicating the skill documentation is provided in Chinese only. The file does not offer an alternate language option or explain a region-specific necessity, which can violate language/locale choice expectations.

Natural-Language Policy Violations

Low
Confidence
91% confidence
Finding
The user-facing docstring, argument help text, descriptions, remediation text, and disclaimer are all hard-coded in Chinese throughout the file. This imposes a specific language/locale on all users with no opt-in or alternative, which matches the policy category for language or locale constraints.

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Content
out_list.append({"tool": META["slug"], "input": d, "errors": [str(e)], "rc": 2, "aigc_mark": AIGC})
        print(json.dumps(out_list, ensure_ascii=False, indent=2))
        sys.exit(0 if allok else 2)
    args = {k: getattr(ns, k) for k in argnames}
    try:
        res, rc = _run(args)
    except GateError as e:
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.