Back to skill

Security audit

anti-cheat-identity

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to be a non-exfiltrating contest anti-cheat helper, but its identity-review purpose is paired with inconsistent inputs, overbroad declared tools, and weak privacy/retention guidance.

Review this before installing in a real contest workflow. It should not be treated as final adjudication, and operators should align the actual CLI inputs with the documented identity-review process, restrict tool permissions to what the script needs, and define privacy, retention, and human-review controls before storing or acting on participant identity records.

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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (8)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This file contains natural-language instructions exclusively in Chinese and explicitly points AI agents to follow those instructions. Under the stated policy, forcing a specific language without user opt-in is a locale/language policy violation unless clearly justified or optional.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The text states '中文文档见 SKILL.md', while the file overall presents the skill in Chinese and does not offer an explicit language or locale choice. This can violate language/locale policy because it effectively constrains users to Chinese documentation without opt-in or an alternative language path.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger text is broad enough that an agent may invoke this skill in loosely related 'contest' or 'identity' contexts without clear boundaries. Because the skill handles anti-cheat and identity-verification decisions, overbroad activation can expose sensitive data to an unsuitable workflow and produce inappropriate security judgments outside the intended UIBC domain.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill describes processing contestant identity data and archiving verification records, but it does not warn users about handling sensitive personal data, retention, minimization, or consent. In practice this can lead operators or downstream agents to collect, store, or redistribute identity records unsafely, increasing privacy and compliance risk around PII.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation says the skill requires event_id, participant_json, and policy_version, but the declared interface schema lists different parameters (author_id, env_hash, etc.). This mismatch can cause an agent or user to supply the wrong data, leading to incorrect anti-cheat decisions, bypass of intended checks, or logging of unrelated identity information. In a security-sensitive identity verification workflow, contradictory interfaces are operationally dangerous even without code execution.

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 descriptions, validation errors, warnings, notes, and advice are all hard-coded in Chinese. This imposes a specific language on all users, and the file does not provide any opt-in, locale selection, or explicit documentation that the tool is intentionally limited to a Chinese-speaking or region-specific context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The changelog explicitly states “English first,” which indicates a preferred language policy in the documentation without offering user choice or opt-in. This can conflict with language/locale policy expectations when the skill is otherwise bilingual and not clearly region-restricted.

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 · anti-cheat-identity.py (reported line 93)May include surrounding context.

python
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: