Back to skill

Security audit

Energy Tracker

Security checks for vulnerabilities and agentic risk

Overview

This skill is not malicious, but it should be reviewed because it proactively records and analyzes mental-health-adjacent daily status data without clear consent, retention, or deletion controls.

Install only if you want an agent to ask about and store daily mental-energy status. Before using it, decide where ./energy_data.json will live, who can access it, how long to keep it, and how to delete it. Treat the chart and psychological labels as wellness journaling, not medical advice, and avoid enabling proactive check-ins unless the user clearly opts in.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (17)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

声明描述包含两部分:1)每日能量状态追踪;2)多日趋势分析;并特别强调当智能体需要主动采集用户当日状态时使用。但实际代码只实现了对已有历史JSON数据的读取和趋势分析,没有任何用户交互、当日状态采集、数据记录保存或追踪流程。它的核心功能与“多日趋势分析”一致,但未覆盖“主动采集/每日追踪”这一重要声明能力,因此描述与实际行为存在实质性不匹配。权限方面未发现额外越权行为;主要问题是声明的用途比代码实际能力更广。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

声明包含两个核心点:1)每日能量状态追踪;2)多日趋势分析,并特别说明当智能体需要主动采集用户当日能量状态时使用。实际代码只处理已有历史数据文件,进行排序、数值映射、绘图和统计,主要用途是生成趋势图。它没有任何用户交互、状态采集、写入新记录或触发主动询问的实现。因此,虽然“多日趋势分析”部分与代码生成趋势图大体相关,但声明中强调的“主动采集当日能量状态”与代码行为不符,且代码的主要实现更准确地说是“历史数据可视化图表生成”。因此应判定为描述与行为存在实质性不匹配。

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill directs the agent to collect and persist mental-health-related daily status data, but it provides no user-facing notice about storage, retention, or privacy implications. Because this is sensitive psychological data collected over time, silent persistence creates a substantial privacy risk and may expose intimate health inferences if accessed by others or reused later.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill instructs the agent to read local files such as ./energy_data.json and reference other local resources, but it does not declare any explicit tool scope or permissions. Missing scope declarations can cause overbroad file access at runtime or make reviewers unaware that the skill needs filesystem capabilities.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill mandates ongoing proactive collection and storage of users' daily psychological state, enabling creation of a longitudinal mental-health profile. In this context, the sensitivity is elevated because repeated low-energy entries and trend analysis can reveal mental-health conditions, crisis indicators, and intimate behavior patterns over time.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger condition is broad enough that an agent could invoke this skill whenever it infers a need to ask about energy, leading to unsolicited collection of sensitive mental-health data. Ambiguous activation criteria increase the chance of overcollection, repeated prompting, or use in contexts where the user did not meaningfully consent.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The instruction to generate personalized reward content from user memory creates a path for prior personal information to be surfaced in new outputs without a fresh need-to-know check. In the context of mental-health tracking, this increases the risk of unnecessary disclosure of sensitive past details and cross-context reuse of personal data.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
81% confidence
Finding

The description says the tool automatically performs trend analysis, identifies psychological patterns, and provides professional suggestions after enough data is collected. Autonomous interpretation in a psychological or mental-wellness context can overstep user expectations and produce sensitive inferences without sufficient human review or explicit confirmation.

Content

Scanner excerpt · manifest.toml (reported line 5)May include surrounding context.

toml
slug = "energy-tracker"
version = "1.1.0"
description = "每日能量状态追踪与多日趋势分析工具 / Daily energy status tracking and multi-day trend analysis tool"
description_en = "Daily energy status tracking and multi-day trend analysis tool. AI agent proactively collects daily energy status, provides instant interpretation and advice. Automatically performs trend analysis after 7+ days of data, identifies psychological patterns and provides professional suggestions."
category = "生活方式"
visibility = "public"

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
81% confidence
Finding

The summary reiterates automatic trend analysis and psychological pattern identification, reinforcing that the skill may make autonomous inferences about a user’s mental state. In this context, the danger is increased because repeated collection plus automatic analysis can create a profiling workflow around sensitive personal data.

Content

Scanner excerpt · manifest.toml (reported line 13)May include surrounding context.

toml
enabled = true
title = "能量状态追踪器"
summary = "每日能量状态追踪与多日趋势分析工具。智能体主动采集用户每日能量状态,提供即时状态解读和建议。积累7天以上数据后,自动进行趋势分析,识别心理模式并给出专业建议。"
summary_en = "Daily energy status tracking and multi-day trend analysis tool. AI agent proactively collects daily energy status, provides instant interpretation and advice. Automatically performs trend analysis after 7+ days of data, identifies psychological patterns and provides professional suggestions."
trigger = "[\"能量追踪\", \"能量状态\", \"心理能量\", \"每日能量\", \"能量评估\", \"energy tracker\", \"energy status\", \"mental energy\"]"
category = "[\"生活方式\"]"
tags = "[\"心理健康\", \"能量管理\", \"状态追踪\", \"趋势分析\", \"mental health\", \"energy management\", \"status tracking\", \"trend analysis\"]"

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list is broad and generic, including phrases like 'energy status' and 'mental energy', which can cause the skill to activate in situations where the user did not clearly request this specific tool. Because the skill is described as proactively collecting sensitive wellness information, unintended invocation increases privacy and consent risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document defines storage of sensitive mental-state data in a predictable local file (./energy_data.json) but does not warn that this information is privacy-sensitive or advise obtaining explicit user consent before persisting it. Because the data concerns psychological condition and daily well-being, silent local retention can expose highly sensitive personal information to other local users, backups, sync tools, or later unintended reuse.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The user-facing interpretation text is entirely in Chinese, with no indication that language choice is configurable or that Chinese is a documented regional requirement. This can violate language/locale policy when users are not given a choice or informed consent about the enforced language.

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 contains natural-language strings that force a specific language for the skill’s description and outputs. Under the language/locale policy, a skill should not require one language unless it offers user opt-in or clearly documents that the tool is intentionally region- or locale-specific.

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 contains natural-language documentation entirely in Chinese and presents itself as a general chart-generation script, but it does not indicate that the skill is region-specific or provide a language option. The policy allows locale constraints only when clearly documented and justified, which is not present here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Error and usage output shown to users is emitted exclusively in Chinese, and there is no mechanism for choosing another language. For a general-purpose script, this is a language policy violation unless the locale restriction is explicitly justified.

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 repeatedly states that the AI agent will proactively collect daily energy status and provide interpretation, but it does not mention explicit consent, opt-in, or language/locale handling. In a mental-health-adjacent context, collecting and interpreting personal state without clear user approval can lead to privacy issues, unwanted prompting, and mismatched language behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The markdown provides concrete instructions to create, append, and overwrite a user-local file repeatedly, but does not explicitly warn that these actions modify local data or may overwrite existing contents. In this skill context the primary concern is unauthorized or insufficiently disclosed persistence of sensitive wellness data, though the use of a fixed relative path limits the impact compared with arbitrary file write behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.