Back to skill

Security audit

Metric Definition Catalog

Security checks for vulnerabilities and agentic risk

Overview

This is a local metrics-catalog helper that is mostly purpose-aligned, with some dormant generic audit code users should be aware of.

Install only if you want a Chinese-first local helper for organizing metric definitions. Keep inputs scoped to the files you intend to summarize, and be aware that the bundled script contains unused audit modes that could scan broader local content if someone modifies the spec configuration.

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
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (13)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

声明描述的是一个面向指标定义整理的专用能力,但代码并未体现任何与‘指标口径、公式、归属、例外情况、常见误用’有关的领域逻辑。相反,代码的核心行为由 resources/spec.json 中的 mode 决定,可执行多种通用审计/扫描任务:扫描目录文本文件、统计扩展名、抽取 Markdown 标题、读取 CSV 生成字段概览、对文件内容执行风险模式匹配、检查 Skill 目录文件完整性和 SKILL.md frontmatter。虽然 structured_brief 模式会把输入整理成分节报告,表面上可用于某些文档梳理,但它只是通用模板化摘要器,不是专门的指标目录整理工具。因此代码的主要用途与声明存在实质偏差,并包含多项未声明的审计/扫描能力。

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The script implements broad directory, CSV, pattern-scanning, and skill-audit behaviors that materially exceed the stated purpose of cataloging metric definitions. This scope mismatch is dangerous because it enables filesystem inspection and security-style analysis over arbitrary user-supplied paths, increasing unintended data exposure and repurposing risk in a skill that users would not expect to have audit capabilities.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The built-in risky-pattern scanner searches arbitrary files for secrets, private URLs, and shell-danger patterns, which is unrelated to a metric catalog skill. In context, this creates an unnecessary content-inspection capability that can surface sensitive snippets from local repositories and turns the skill into a lightweight security scanner without clear user expectation or need.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger examples "整理这批指标定义" and especially "统一口径和计算方式" are natural phrases that could appear in general collaboration without clearly signaling this specific skill. The README does not provide constraints, explicit invocation patterns, or negative examples to distinguish when the skill should or should not activate.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill advertises executable capability via python3 and references reading templates/specs and writing output, but it does not declare any explicit tool scope such as allowed tools or permissions. That creates a least-privilege gap: an agent or reviewer cannot reliably tell what filesystem or shell access is intended, increasing the chance of overbroad execution in a supposedly documentation-oriented skill.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The manifest description forces mixed-language instructions (Chinese and English) as the default presentation, but does not state that the user can choose their preferred language or locale. This can violate a language/locale policy when skills are expected to respect user language preference unless explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file presents all user-facing headings and instructions exclusively in Chinese, and it does not indicate that the skill is region-specific or that users may choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Multiple generated user-facing report strings are hard-coded in Chinese, such as headings and guidance text, with no option for the user to select language or locale. This creates a natural-language policy issue because the skill enforces a specific language without opt-in or justification.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The repository/skill packaging audit capability checks for project files and parses SKILL.md frontmatter, which is outside the declared analytics catalog use case. While less severe than the pattern scanner, it still broadens the skill into filesystem and repository inspection, creating unnecessary access to local project structure and metadata.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file’s user-facing instructions and expected outputs are fully Chinese-language, and there is no indication that users can opt into another language or that the skill is intentionally limited to a Chinese-speaking context. Under the policy, forcing a specific language without user choice is 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 file presents the skill name, usage, triggers, and warnings only in Chinese, which effectively forces a language/locale choice in its natural-language interface. There is no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The file is entirely written in Chinese and does not indicate that language choice is optional or limited to a justified region-specific context. Under the policy for natural-language violations, a skill that effectively constrains interaction to a specific language without opt-in can be considered a locale policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown template forces a specific language for all headings and instructions, which can violate language/locale policy when no user opt-in or justification is provided. The file contains no indication that the skill is region-specific or that users may choose another language.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.