T08 · Insecure Dependencies
- Location
README.md:17- Finding
Unpinned Package Execution in the Documented Installation Procedure
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a weekly-review report renderer, but it asks agents to collect AI session data and inspect local folders without clear limits.
Review the collection scope before installing or using this skill. It is best used when you intentionally want a Chinese weekly AI-usage report from selected sessions and workspaces. Avoid letting it scan arbitrary folders or session history, prefer user-supplied review-input JSON, and pin or verify the installer source before running npx.
README.md:17Unpinned Package Execution in the Documented Installation Procedure
SKILL.md:55Insufficiently Scoped Session and Filesystem Collection Instructions
charts.py:346Path Traversal Through an Unvalidated Chart Filename Component
声明描述的是一个功能较完整的自动复盘/分析/清理 Skill,而实际代码仅是一个报告渲染型 MCP 包装器:接收外部 Agent 已经采集好的 review_input,验证 period.start 是否存在,然后输出 Markdown 或 JSON。代码注释还明确说明“读会话存储由调用方 Agent 完成;本工具只做结构校验与渲染”“不读取任何本地会话数据库;采集由调用方 Agent 负责”。因此其主要实际能力远窄于声明范围。虽然‘周度复盘报告生成’这一部分与声明部分重合,但大量核心宣称能力在该代码中并未实现,构成明显的描述与行为不匹配。
The skill title and core description are presented only in Chinese, which indicates a language constraint in the skill’s natural-language interface. The file does not mention any user choice, opt-in, or justification for restricting the skill to Chinese-language usage.
The README instructs users to execute npx skills add ... without pinning an exact package version or otherwise establishing supply-chain integrity. This can cause users to fetch and run whatever package version is current at install time, increasing exposure to malicious updates, typo-squatting, or compromised upstream publishing in a context where installation commands may be copied verbatim.
The skill references capabilities that imply environment access and file read/write behavior, but it does not declare any tool scope or permission boundaries. In an agent ecosystem, this can cause the host to grant broader access than users expect, enabling unintended reading of conversation data, local files, or writing reports/charts to disk without explicit authorization.
The manifest description states the skill is '面向任意 AI Agent 自动复盘', but all user-facing instructions and invocation wording are presented only in Chinese with no opt-in or language-selection guidance. For a generally applicable skill, this creates a locale bias without documenting that the skill is intentionally region-specific or optional by language.
The skill advertises very broad trigger phrases around review, prompt optimization, summaries, visualization, and cleanup, which can cause over-invocation on common user requests. In practice this may prompt the agent to load the skill and request or access sensitive usage/session data in situations where the user did not intend a retrospective analysis or conversation cleanup workflow.
The 'read_when' list is ambiguous and unconstrained, increasing the chance that the skill is auto-selected for generic tasks like prompt improvement or summaries. Because this skill is designed to work with session histories, disk checks, and open-conversation cleanup, ambiguous routing can expose more context or trigger more powerful actions than necessary.
The installation instruction uses an unpinned 'npx skills' flow, which can fetch the latest package or remote content at install time. This creates a supply-chain risk: a compromised or malicious upstream package version could execute unexpected code or install a modified skill without review.
This Python file contains user-facing natural-language strings entirely in Chinese, including the module description and later chart titles/labels, which indicates the skill is designed to emit a fixed language output. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly documented and justified, which is not present here.
The module docstring and CLI description are written entirely in Chinese, indicating a language-specific user experience. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation unless the locale restriction is explicitly documented and justified, which is not present here.
This code accesses environment variables to locate a local SQLite session database and then uses that path to read session records, which can contain sensitive user activity metadata such as titles, working directories, models, and automation details. There is no confirmation prompt, visible user-facing log, or warning in this file indicating that sensitive session data will be accessed.
The module docstring and later user-facing strings are written in Chinese, and the tool description exposed through the MCP schema is also Chinese-only. This creates a natural-language locale policy concern because the skill appears to enforce a specific language without user opt-in or justification.
The MCP tool description, input field descriptions, and runtime validation errors are all presented only in Chinese. Because these strings are surfaced to users or calling agents, the file fixes interaction to one language without offering choice or documenting a region-specific reason.
The file’s natural-language instructions describe the report generator entirely in Chinese, including the module docstring and class docstring, which strongly indicates the skill is intended to render output in a fixed language. There is no visible option, parameter, or documented opt-in allowing users to choose another language or locale.
The entire skill documentation is written in Chinese and prescribes fixed Chinese output text such as the required title template, with no indication that users may choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly documented and justified.
The module docstring and multiple user-visible exception messages are written in Chinese, which imposes a specific language on users without any opt-in or indication that the skill is region-specific. Under the stated policy, locale-specific messaging should either be optional or clearly justified.
The natural-language strings in the module and docstrings are written exclusively in Chinese, which can constitute a language/locale policy violation when no user choice, opt-in, or documented region-specific constraint is provided. The file contains no indication that Chinese is required for a justified locale-specific purpose.
No suspicious patterns detected.