Back to skill

Security audit

Changelog Curator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local changelog drafting helper with no network, persistence, or destructive behavior, though its bundled script contains inactive audit modes that are broader than the advertised changelog use.

Install this if you want a Chinese-language local helper for drafting reviewable changelogs from provided release notes or commit summaries. Review inputs for sensitive data before use, and treat the inactive audit modes in scripts/run.py as extra bundled functionality that should not be enabled unless you intentionally want local file inspection.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (13)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

声明描述聚焦于“整理对外 changelog / release notes”,这是一个文档总结类能力。但代码实现明显是多模式的通用审计/报告工具:会读取 spec.json 决定模式;可递归扫描目录中的文本文件、统计扩展名、抽取 Markdown 标题;可读取 CSV/TSV 并统计字段;可对文件/目录做危险命令、secret、private URL 等正则扫描;还可检查一个 Skill 目录是否包含必需文件并解析 SKILL.md frontmatter。这些能力与 changelog 整理并不等价,且属于未声明的重要扩展能力。虽然在 structured_brief 模式下它可以对输入文本做结构化整理,部分贴近声明用途,但整体主能力实际上取决于外部 spec,范围远超 changelog 工作流,因此描述未准确代表代码实际行为。

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The implementation materially diverges from the declared changelog-curation purpose by adding directory auditing, pattern-based security scanning, CSV auditing, and skill-package validation. This scope mismatch is dangerous because users or orchestrators may grant the skill access expecting documentation processing, while the code enumerates and inspects broader local files and repository content than necessary.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill advertises executable behavior via python3 and references local input/output files, but it does not declare any explicit tool scope such as allowed tools or permissions. This creates an authorization ambiguity: an agent/runtime may grant broader file or shell access than reviewers expect, increasing the chance of unintended reads, writes, or command execution.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill content is written entirely in Chinese and instructs behavior in Chinese, while the manifest description also mixes Chinese with English. There is no indication that the user can choose another language or that the locale restriction is intentionally limited to a region-specific use case, 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 generated report strings are written in Chinese literals such as '结果', '摘要', and workflow instructions, which imposes a specific language on all users. The file does not provide any option, configuration, or opt-in mechanism for locale selection, so this is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The pattern_audit capability scans arbitrary files or directories for secrets, internal URLs, and risky shell patterns, which is outside the advertised function of a changelog curator. In this context, the main risk is covert data inspection and unexpected access to sensitive repository contents under a misleading skill identity.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill_audit functionality validates package structure and metadata for an entire skill directory, which is unrelated to preparing customer-facing changelogs. While not directly destructive, it expands the operational scope to repository inspection and compliance assessment, increasing the chance of unauthorized analysis or misuse under false expectations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This markdown file presents all user-facing content in Chinese, but it does not state that the skill is China/Chinese-specific or that users may choose another language. Under the language/locale policy rule, forcing a specific language without opt-in can be a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file presents all skill instructions and requirements in Chinese, but it does not indicate that the user opted into that language or that the skill is specifically limited to a Chinese-speaking context. Under the policy rule for natural-language violations, forcing a specific language without user choice can be a locale-policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file contains only Chinese headings and instructions, which implies a fixed output language. Under the language/locale policy, 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.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The natural-language metadata is presented only in Chinese for the title and category label, with no indication that users can opt into another language or that the skill is region-specific. Under the policy, forcing a specific language without user choice can be a locale-policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The entire template, including the title and all section prompts, is written exclusively in Chinese, which implies a fixed output language for the skill. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The entire smoke-test document is written only in Chinese, including headings, instructions, and acceptance criteria, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking context. Under the policy rule, this is a natural-language locale constraint that is not documented as optional or justified.

Content

No source excerpt is available for this finding.