Back to skill

Security audit

Mathmodel Master Full

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Chinese mathematical-modeling competition assistant with limited local validation scripts and no evidence of hidden access, exfiltration, or persistence.

Install this if you specifically want Chinese/CUMCM-style mathematical modeling support. Expect Chinese contest formatting by default, narrow use to contest-paper workflows when possible, and run the DOCX checking scripts only on documents you trust. Also confirm your competition or institution allows AI assistance for the intended use.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
skills/modeling/scripts/verify_docx_figures.py:32
Finding

Unbounded DOCX Decompression and XML Parsing Can Cause Resource Exhaustion

Content
View full analysis
ET.Element: with zipfile.ZipFile(docx_path) as zf: try: return ET.fromstring(zf.read("word/document.xml")) except KeyError as exc: raise RuntimeError("word/document.xml not found; file may not be a valid DOCX") from exc ``` From `skills/modeling/scripts/verify_docx_math.py:47-52`: ```python def read_document_xml(docx_path: Path) -> str: with zipfile.ZipFile(docx_path) as zf: try: return zf.read("word/document.xml").decode("utf-8") except KeyError as exc: raise RuntimeError("word/document.xml not found; file may not be a valid DOCX") from exc ``` From `skills/modeling/scripts/verify_docx_typography.py:53-68`: ```python def read_xml(zf: zipfile.ZipFile, name: str) -> ET.Element | None: try: return ET.fromstring(zf.read(name)) except KeyError: return None def iter_xml_parts(zf: zipfile.ZipFile) -> list[tuple[str, ET.Element]]: names = list(TEXT_PARTS) names.extend(name for name in zf.namelist() if name.startswith("word/header") and name.endswith(".xml")) names.extend(name for name in zf.namelist() if name.startswith("word/footer") and name.endswith(".xml")) parts = [] for name in dict.fromkeys(names): root = read_xml(zf, name) if root is not None: parts.append((name, root)) return parts ``` ### Technical Analysis DOCX files are ZIP archives. All three validation scripts accept a caller-selected DOCX file and use `ZipFile. ...[truncated 2546 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (37)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill description, headings, and usage examples are entirely in Chinese and present the expert as operating in that language, with no indication that users may choose another language. Under the policy, a language or locale constraint should be optional or explicitly justified; neither is present here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

标题和摘要均将技能定位为“国赛指导”,且全文仅以中文表述能力与流程,没有说明是否支持按用户偏好切换语言。对于适用于更广泛建模场景的技能,若默认强制特定语言/locale 而无用户 opt-in,可能构成语言/locale 策略问题。

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

L07 的“用户要求建模、建模型、数学模型”和 L10 的“帮我建模”都属于日常或跨领域常见表达,并不必然指向数学建模竞赛场景。虽然其他行提到国赛/CUMCM 等较具体语境,但这些宽泛触发词缺少排除条件或负例,容易与普通数据建模、产品建模等请求发生重叠。

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The activation description is broad enough to match general math, optimization, coding, statistics, and LaTeX-writing requests outside the intended competition-specific scope. That can cause inappropriate auto-invocation, over-collection of user context, or routing to a highly specialized skill when a narrower or safer general-purpose assistant would be more appropriate.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill content is written as if operation should proceed in Chinese and does not offer a language-selection rule based on the user's preference. This can degrade reliability, lead to confusing outputs, and create prompt-routing errors where users receive responses in an unintended language, though it is not a direct security compromise.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill content is presented entirely in Chinese and is specifically framed around Chinese competition materials, with no indication that the user can choose another language. This creates a locale/language constraint that is not offered as an opt-in choice.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The activation guidance is very broad: if a user wants a paper, modeling code, or a template, the agent should use the skill. This can cause the skill to be invoked in situations where the user did not specifically ask for this toolkit, leading to inappropriate tool use, unwanted context injection, or responses that overfit to this resource instead of the user's precise request. In this skill's context, the content is mostly templates and references rather than powerful external actions, so the danger is limited but still real as a prompt-routing and scope-control issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The title and introductory description are written entirely in Chinese and frame the document as a general-purpose quick reference for experts, but there is no indication that the skill is region-specific or that users can opt into this language. Under the policy, forcing a specific language without user choice is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The file describes the skill entirely as being for the CUMCM competition and requires the final deliverable to be a complete mathematical modeling paper, but it does not offer any user language or locale choice. Because the instructions are explicitly framed in Chinese and tied to a Chinese competition context, the skill effectively imposes a specific language/locale without opt-in, which matches the policy-violation category.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The on-demand conditions are phrased very broadly using natural-language concepts such as 'detailed model selection' or 'full paper structure', which can cause unintended loading of reference material for ordinary requests. In a routing manifest, ambiguous activation boundaries increase the risk of prompt-scope expansion, making the skill pull in more instructions than necessary and reducing predictability and policy control.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The condition explicitly references 'Chinese/English font consistency' and the use of 'Times New Roman, SimSun', which imposes locale-specific document conventions. There is no indication here that the user can choose another locale/style or that the constraint is limited to a justified region-specific workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The title and the entire instructional content are written exclusively in Chinese, and the file does not indicate that language selection is optional or limited to a region-specific use case. Under the stated policy, forcing a specific language without user opt-in can constitute a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The entire skill is written in Chinese and does not indicate that language selection is optional or limited to a justified region-specific use case. Per the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

L013 明确要求标题“中文用宋体”,并规定英文与数字字体,体现出对中文文档格式的强制要求。该文件整体也以中文指令形式规定输出风格,但没有说明这是仅适用于中文竞赛论文场景,或允许用户选择其他语言/地区规范,构成语言/locale 方面的自然语言策略风险。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

L037 规定“图中文字必须统一字体:中文宋体,英文与数字 Times New Roman”,这是面向特定语言环境的强制格式要求。若技能被用于非中文论文或其他地区格式规范,该要求会在未获用户同意的情况下施加特定 locale 约束。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

L116 与 L123 在检查清单中再次要求“字体为中文宋体、英文数字 Times New Roman”以及标题样式固定,巩固了单一中文 locale 的默认约束。文件未说明这是特定竞赛论文模板要求,也未允许依据用户语言或机构规范调整,因此属于语言/locale 策略问题。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill hard-codes formatting and locale requirements such as Chinese Songti for Chinese text, Times New Roman for English and numerals, and black-only headings unless the user explicitly provides a different template. This can override user preferences, institutional templates, accessibility needs, or target publication standards, causing the agent to produce output that is misaligned with the user's actual requirements.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file presents all user-facing instructions in a single language, which can amount to a language/locale policy violation when no user opt-in or alternative is provided. The file does not state that the skill is region-specific or otherwise justify the mandatory Chinese-only presentation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Line L053 requires Chinese text to use 宋体 and English/numbers to use Times New Roman as a universal rule. This is a natural-language locale/style constraint imposed without opt-in or a stated region-specific compliance reason, which matches the policy-violation criterion for forced language/locale behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

This markdown file presents all instructions and examples exclusively in Chinese, which can impose a specific language on users without opt-in. Under the natural-language policy rules, forcing a language or locale without offering a choice is a policy concern unless clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The file is entirely written as a prescriptive standard for Chinese typography, including required Chinese fonts such as 宋体 and black title styling, and presents these as defaults for "竞赛论文" without stating that this applies only to Chinese-language submissions or giving a language choice. This creates a natural-language locale policy concern because it forces a specific language/locale convention rather than making it optional or context-bounded.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file is written entirely in Chinese and uses imperative instructions for how the skill should be applied, but it does not indicate that Chinese is optional or limited to a region-specific use case. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The regex patterns only recognize Chinese figure captions ("图") and Chinese section headings, which imposes a specific language/locale assumption in the skill's behavior. There is no surrounding comment, argument, or documentation in this file indicating that the tool is intentionally limited to Chinese-language DOCX documents or that users can opt into this locale constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The instruction requires Chinese text to use 宋体 and English/numbers to use Times New Roman, which encodes a specific language/locale formatting policy. The file does not indicate this is optional, user-selected, or limited to a justified region-specific context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The title and surrounding instructions establish a default stance entirely in Chinese, including a required Chinese alignment block later in the file. There is no indication that the user can choose another language or that Chinese is required for a region-specific or compliance-related reason, which creates a language/locale policy concern.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.