Back to skill

Security audit

test_maibao

Security checks for vulnerabilities and agentic risk

Overview

This is a low-risk mock weather skill that returns simulated weather data and does not request sensitive access or persistence.

Installers should understand that this skill appears safe from a security perspective, but it is a mock weather generator rather than a real weather integration, so its results should not be treated as live weather data.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • 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 (6)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · skill.md (reported line 25)May include surrounding context.

md
- `humidity`: 湿度百分比

## Example
**​User:​** "查一下深圳的天气"
**​Model Call:​** `WeatherQuery(city="深圳", unit="celsius")`
**​Output:​** `{"city": "深圳", "temperature": "28°C", "description": "多云", "humidity": "60%"}`

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · skill.md (reported line 26)May include surrounding context.

md
- `humidity`: 湿度百分比

## Example
**​User:​** "查一下深圳的天气"
**​Model Call:​** `WeatherQuery(city="深圳", unit="celsius")`
**​Output:​** `{"city": "深圳", "temperature": "28°C", "description": "多云", "humidity": "60%"}`

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · skill.md (reported line 27)May include surrounding context.

md
- `humidity`: 湿度百分比

## Example
**​User:​** "查一下深圳的天气"
**​Model Call:​** `WeatherQuery(city="深圳", unit="celsius")`
**​Output:​** `{"city": "深圳", "temperature": "28°C", "description": "多云", "humidity": "60%"}`

YARA rule 'agent_skill_mcp_tool_poisoning_metadata': MCP/tool metadata poisoning indicators in tool schemas or skill manifests [agent_skills]

High
Category
YARA Match
Confidence
80% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

Scanner excerpt · skill.md (reported line 25)May include surrounding context.

md
�文或英文均可)。 | "Beijing", "上海" |
| `unit` | string | 否 | 温度单位,可选值为 'celsius' (摄氏度) 或 'fahrenheit' (华氏度)。默认为 'celsius'。 | "celsius" |

## Output Format
工具返回一个 JSON 字符串,包含以下信息:
- `city`: 查询的城市
- `temperature`: 当前温度
- `description`: 天气简述
- `humidity`: 湿度百分比

## Example
**​User:​** "查一下深圳的天气"
**​Model Call:​** `WeatherQuery(city="深圳", unit="celsius")`
**​Output:​** `{"city": "深圳", "temperature": "28°C", "description": "多云", "humidity": "60%"}`

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The comment states in Chinese that the skill uses only Python standard library, which indicates a fixed language presentation without any user choice or documented locale-specific need. For organizational language policy, forcing a specific language without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The natural-language documentation in the docstring and comments is written in Chinese only, with no indication that the skill is region-specific or that users can opt into a preferred language. This can violate a language/locale policy when a skill implicitly assumes a single language without documenting that constraint.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.