Back to skill

Security audit

judging-rubric-grader

Security checks for vulnerabilities and agentic risk

Overview

This is a small local contest-scoring helper that matches its stated purpose and does not show hidden access, persistence, or data exfiltration behavior.

Before installing, confirm that a Chinese-language contest rubric helper fits your workflow and treat its scores only as decision support. It does not appear to send data anywhere or modify the system, but organizers should still verify the rubric and final decisions manually.

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
88% confidence
Finding
This markdown file presents the skill name, title, and user-facing documentation entirely in Chinese, and does not indicate that the user can select another language. Under the policy rule for language or locale constraints, forcing a specific language without user opt-in is a natural-language policy concern.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The skill's user-facing docstring, CLI descriptions, help text, error messages, and output notes are entirely in Chinese, with no indication that other languages are supported or that the user can opt in to this locale. Under the policy, forcing a specific language without user choice is a natural-language policy violation.

Natural-Language Policy Violations

Low
Confidence
85% confidence
Finding
Line L18 states that the documentation is in Chinese only ("中文文档见 `SKILL.md`") without indicating any user language choice or alternative locale. This can be a natural-language policy issue because it effectively forces a specific language for users who need the primary instructions.

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.