Back to skill

Security audit

Proposal Comparator

Security checks for vulnerabilities and agentic risk

Overview

This skill locally turns user-provided proposal material into a Chinese-language comparison report, with no active networking, persistence, or hidden data transfer found.

Install this if you want Chinese-language proposal comparison drafts from local input files. Provide only documents you are comfortable processing locally, review the chosen output path before writing, and be aware that unused audit code is present but not active in the packaged 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 (12)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

描述强调的是“多个方案文档对比”和“输出差异、隐含成本、风险、推荐结论”的决策支持能力,但代码本身并未实现文档间比较逻辑,也没有识别多个方案、计算差异、隐含成本或生成基于比较的推荐。相反,代码的核心行为由 spec.json 的 mode 驱动,可执行目录审计、CSV 审计、风险模式匹配和 Skill 规范检查等通用扫描/审计任务。这些能力与声明用途明显不同,且包含未声明的安全扫描与项目结构检查能力。因此属于实质性描述-行为不匹配。

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The pattern_audit function implements security scanning over arbitrary files or directories using regexes for secrets, private URLs, and dangerous shell patterns, which is unrelated to proposal comparison. In a skill advertised for business decision support, hidden scanning functionality is risky because it can expose sensitive snippets from local files and enable covert recon beyond user expectations.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The script supports multiple generic audit modes such as directory, CSV, pattern, and skill auditing, which materially exceed the stated purpose of comparing proposal documents and producing recommendations. This capability mismatch increases the chance of unintended repository inspection, broader data access, and repurposing of the skill for reconnaissance on local content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file includes invocation examples such as '比较 A/B 两个方案并给出取舍' and '指出隐藏成本和风险' without clarifying boundaries, exclusions, or a tighter activation scope. These phrases are generic enough to match common everyday analysis requests, which increases the risk of unintended skill routing.

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 capabilities via python3 and references reading local resources and writing output files, but does not declare any explicit tool scope such as allowed tools or permissions. This creates an authorization ambiguity where a host agent may grant broader file or shell access than users expect, increasing the chance of unintended command execution or local file access.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file presents all headings and guidance in Chinese, which can amount to a language/locale policy violation when no opt-in, alternative language, or justification is provided. The audit criteria specifically call for flagging skills that force a specific language without user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This code generates user-facing report text entirely in Chinese, including headings, prompts, and next-step instructions. That enforces a specific language/locale on all users without any visible configuration or opt-in, which matches the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The directory and CSV report generators emit report titles, section labels, and analysis guidance in Chinese only. Because these are end-user visible outputs and no alternative locale or opt-in is offered, the script imposes a language choice across multiple modes.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

These functions continue the same pattern of Chinese-only report content for findings, review instructions, and audit results. Across the file, the natural-language interface is locked to one language with no indication of user choice or justified regional limitation.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill_audit path performs repository compliance checks for expected files and parses SKILL.md frontmatter, which is unrelated to comparing proposals. While less severe than secret/pattern scanning, it still broadens filesystem inspection and provides a hidden audit capability inconsistent with the declared skill purpose.

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 instructions and examples are entirely in Chinese, but the file does not state that the skill is region-specific or that users may choose another language. Under the language/locale policy, forcing a single language without opt-in can be a policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The manifest description and main instructions are primarily in Chinese, with some embedded English, but the skill does not state that users may choose their preferred language for interaction or output. Under the stated policy, forcing or assuming a specific language without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.