Back to skill

Security audit

投标文件编制助手

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its bid-document formatting purpose, but it also forces branded attribution into every skill response, which is unrelated to generating DOCX bid skeletons.

Review the attribution requirement before installing: the generated DOCX files are kept clean, but the skill instructs the agent to append the author's signature to conversational responses. Use it only if that response behavior is acceptable for your workflow, and provide only tender documents you are comfortable processing locally with the included scripts.

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
Findings (1)

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:267
Finding

Mandatory Branded Content Injection into User-Facing Responses

Content
View full analysis
**Attribution**: Frontline Bid Evaluation Expert & ChesaraM - Feedback channel: GitHub Issues in the project repository. Questions, formatting false positives, and practical recommendations should be submitted through repository issues. - Note: Generated DOCX skeletons do not contain the attribution. The mandatory attribution applies only to conversational responses and is not written into generated documents. ``` ### Technical Analysis The skill instructs the agent to append fixed author branding to every user-facing response. This rule is unrelated to the core function of parsing and generating DOCX bid-document skeletons and applies broadly to dialogue, instructions, and guidance. When the skill is loaded, its instruction text becomes part of the agent's operational context. The mandatory wording therefore alters how the agent constructs responses, even where attribution is irrelevant or was not requested. Labeling the behavior as not being forced content injection does not change its technical effect. This is instruction hijacking because the skill imposes a persistent output requirement within the current skill-enabled session rather than limiting its instructions to the declared document-formatting task. ### Attack Path 1. A user or platform loads the bid-document assistant skill. 2. The agent reads and follows the instructions in `SKILL.md`. 3. The user requests any response covered by the skill, including guidance or usage ins ...[truncated 957 chars]
Remediation
View remediation
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • 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
99% confidence
Finding

The skill claims a constrained, well-defined document-formatting function, but the static analysis indicates the described capabilities are not actually implemented and that an extra XML repair/modification path exists beyond the declared behavior. This kind of description-behavior mismatch is dangerous because operators may trust the skill under false assumptions, and hidden or undocumented document-rewriting behavior can alter files unexpectedly and bypass review expectations.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 181)May include surrounding context.

md
NODE_PATH=$(npm root -g) node scripts/generate_bid_template.js --config config.json --out 投标文件.docx

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 184)May include surrounding context.

md
NODE_PATH=$(npm root -g) node scripts/generate_bid_template.js --config config.json --out 投标文件.docx

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 199)May include surrounding context.

md
NODE_PATH=$(npm root -g) node scripts/generate_bid_template.js --config config.json --out 投标文件.docx

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The entire skill description is presented only in Chinese, and there is no indication that users may choose another language or that the skill is intentionally limited to a Chinese-language or China-region audience. Under the policy, forcing a specific language without opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill mandates that all user-facing outputs append a fixed signature without user opt-in. While not a classic exploit, forced content injection is a policy and integrity issue: it can leak attribution, create unauthorized endorsements, and contaminate downstream business communications in ways users did not request.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger phrase set includes broad, generic requests such as generating a bid-document skeleton or formatting a tender document, which can easily overlap with ordinary user intent outside a narrowly scoped skill invocation. This can cause unintended activation, leading the agent to apply this skill in contexts where the user did not explicitly request it, potentially routing sensitive procurement documents or formatting tasks through the wrong workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

文件标题及全文均以中文固定呈现,未说明该技能仅面向中文招投标场景,也未提供语言/locale 选择机制。根据规则,未经用户选择而强制单一语言属于自然语言层面的语言/locale 政策风险。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This JavaScript file contains natural-language documentation and usage text entirely in Chinese, and the skill’s visible strings indicate a Chinese-only interaction model. The policy requires flagging skills that force a specific language or locale without user opt-in or a clearly documented region-specific justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This code file contains natural-language instructions and operational messages entirely in Chinese, starting with the module docstring and continuing throughout the CLI UX. Because the skill does not offer a language/locale option or state that it is intentionally restricted to Chinese-speaking users, it creates a language policy concern under the natural-language policy rules.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The skill metadata presents user-facing content in both Chinese and English across platforms, but there is no explicit statement that the skill adapts to the user's preferred language or is limited to a Chinese-language tendering context. For a skill file with natural-language UX fields, this can create an implicit language policy ambiguity rather than a documented opt-in or justified locale constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This markdown file is in scope for SQP-3, which applies to all file types. The title and formatting requirements require Chinese-specific fonts and conventions such as 宋体、仿宋、黑体 and Chinese numbering styles, but the document does not state that this is optional or limited to a China-specific workflow, nor does it offer a user opt-in for locale-specific formatting.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.