Back to skill

Security audit

Win Football Predictor

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a football prediction tool, but its advertised historical training and accuracy claims are not supported by the bundled code or data.

Review this as an unverified demo or heuristic tool, not a validated betting model. Do not rely on its accuracy claims unless the publisher provides real historical data, model artifacts, provenance, and reproducible backtest methodology.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (20)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the actual system uses heuristic proxies and random/simulated data while advertising trained ensemble models over 9940 historical matches, that is a material integrity issue. The main risk is not code execution but user deception: consumers may infer scientific validity and historical grounding that do not exist, leading to poor decisions and reduced ability to audit the skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the actual system uses heuristic proxies and random/simulated data while advertising trained ensemble models over 9940 historical matches, that is a material integrity issue. The main risk is not code execution but user deception: consumers may infer scientific validity and historical grounding that do not exist, leading to poor decisions and reduced ability to audit the skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the actual system uses heuristic proxies and random/simulated data while advertising trained ensemble models over 9940 historical matches, that is a material integrity issue. The main risk is not code execution but user deception: consumers may infer scientific validity and historical grounding that do not exist, leading to poor decisions and reduced ability to audit the skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the actual system uses heuristic proxies and random/simulated data while advertising trained ensemble models over 9940 historical matches, that is a material integrity issue. The main risk is not code execution but user deception: consumers may infer scientific validity and historical grounding that do not exist, leading to poor decisions and reduced ability to audit the skill.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The module presents itself as a real historical lottery data collector, but the implementation generates synthetic match results and features instead of retrieving authoritative records. In a betting/prediction skill, this is dangerous because downstream training, evaluation, and user-facing predictions can be based on fabricated data while appearing legitimate, causing materially misleading outputs and poor decision-making.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The header comments and usage text claim a real three-model ensemble with historical coverage and tuning, but the implementation relies on simplified proxies and fabricated data. This mismatch is dangerous because it can deceive operators, auditors, or end users about the trustworthiness and empirical basis of the outputs.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

This code generates synthetic match data and outcomes while presenting itself as a historically trained predictor using real CatBoost/XGBoost/Dixon-Coles models. In a betting or decision-support context, that is a security-relevant integrity issue because users may rely on fabricated analytics and false provenance to make financial decisions.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file describes the skill exclusively as a Chinese sports-lottery data collector and all user-facing descriptions are written as if Chinese is the required locale. Under the policy, forcing a specific language without user opt-in or a clearly justified region-specific constraint is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The comments acknowledge that production should use a real API, yet the exposed history-fetching workflow still synthesizes all records. This mismatch can mislead operators into believing they have collected genuine historical data, undermining model integrity and auditability in a gambling-related context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module docstring and all user-facing descriptive text are written entirely in Chinese, with no indication that other languages are supported or that the language is region-specific by design. The policy specifically calls for flagging language or locale constraints when the skill does not offer user opt-in or a documented justification.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The inline comment states the fusion uses odds 25%, Pi-Rating 20%, and CatBoost+XGB 55% split evenly, but the code actually sets weights to CatBoost 20%, XGBoost 15%, Pi-Rating 40%, and odds 25%. This is an active contradiction between documentation and behavior, not merely an omitted detail.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The module docstring and user-facing descriptors are entirely in Chinese, including output labels such as confidence values later in the file. This indicates a language choice is being imposed by the skill rather than offering a user-selectable locale or documenting a justified region-specific constraint.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

模块与类文档在 L002-L005、L103-L106 明确宣称使用 Dixon-Coles 与 GBT/Pi-Rating 进行融合。但这里新建的 DixonColesModel 未先训练,且以三个参数调用其在 L077 定义的两参数 predict(home_team, away_team) 接口,说明文档描述的 DC 融合并未被正确实现,和代码实际行为相矛盾。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The module docstring and user-facing export strings are written entirely in Chinese, and the code emits Chinese report headings, labels, and confidence values. There is no indication that the user can opt into another language or that the skill is intentionally restricted to a Chinese-only regional context, which can violate language/locale policy requirements.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The markdown export path produces headings and recommendation text such as '胜负彩预测报告', '联赛', '时间', and '胜平负建议' only in Chinese. Because these are directly user-visible outputs and no locale selection mechanism exists, the skill imposes a specific language without opt-in or justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file includes its usage instructions entirely in Chinese and later emits Chinese-only reports and status messages, which imposes a specific language on users. The policy allows locale constraints only when explicitly documented and justified or when users can opt in, neither of which is present here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The markdown content is entirely written in Chinese and does not indicate that language selection is optional or user-configurable. Under the policy criteria, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The docstring suggests a straightforward yearly period-number generator, and line 26 appears intended to use the declared PERIOD_PREFIXES mapping. Instead, it references PERIOD_PREFIXS, an undefined name, and the computed prefix is not used by the subsequent branches, so the documented mechanism does not match the implementation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The printed status message and formatted result string are fixed Chinese text, which imposes a language choice on users. The file does not offer localization, fallback, or any indication that Chinese-only output is intentional and justified.

Content

No source excerpt is available for this finding.