Back to skill

Security audit

analytics-dashboard

Security checks for vulnerabilities and agentic risk

Overview

This is a read-only analytics dashboard skill with some documentation and scoping caveats, but no artifact-backed malicious behavior.

Install only where dashboard-mcp is configured for authorized users, because responses may include operational, tenant, event, queue, and agent-status data. Treat the Cookie-management line as a documentation defect and prefer narrowing read permissions to dashboard-mcp-only access if the platform supports it.

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
  • 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
Findings (7)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述的是一个面向数据看板查询的 Skill,应具备获取实时统计、系统健康等看板数据的能力。但代码片段实际上只是测试脚本:读取本地 SKILL.md 文件并断言其文档结构完整,没有任何网络请求、dashboard-mcp 访问、实时统计查询、系统健康检查或租户/队列/订阅数据获取逻辑。因此该代码的主要目的与声明用途显著不一致,属于明显描述-行为不匹配。

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
85% confidence
Finding

The skill exposes a read capability via the manifest but does not define a clear allowlist or permission boundary for what may be read. In a dashboard skill that can surface operational and tenant data, missing tool scoping increases the chance of unintended file or data access if the implementation later expands or if the runtime interprets generic read access broadly.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger list includes broad phrases such as morning-briefing or agent-status style requests without strong constraints, which can cause the skill to activate in loosely related contexts. For a skill that surfaces system health, tenant overviews, and event feeds, overbroad activation can expose operational or tenant-specific data when the user did not clearly intend a sensitive dashboard query.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

L021 写明“本技能提供/Cookie管理等能力”,但 manifest 的 L003 明确写“不触发:...Cookie管理”,后续工作流 L040-L068 也全部是 dashboard-mcp 的只读看板查询。这属于文档文字与技能真实意图/实现范围直接冲突,而非单纯信息不完整。

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill handles potentially sensitive operational and tenant-specific dashboard data but does not warn users about that sensitivity or expected access controls. Without a disclosure boundary, users may request or receive system-health, event-stream, or tenant-overview information without understanding the confidentiality implications.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The manifest description is written entirely in Chinese and embeds Chinese trigger phrases, which indicates a language-specific interaction model. The file does not state that the skill is region-specific or provide an opt-in or alternative language path.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This Python file contains multiple natural-language comments and docstrings in Chinese, including the primary file description and test descriptions, without indicating that Chinese is optional or required for a justified region-specific purpose. Under the policy rule for language/locale, this can be considered a forced language choice in user-facing or maintainer-facing natural-language content.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.