Back to skill

Security audit

gp-objection-reply-advisor

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for government-procurement objection replies, but it forces author branding into generated documents.

Review generated drafts before external use and remove the forced author signature unless you explicitly want it included. Use the skill only for Chinese government-procurement purchaser or agency objection replies, and avoid pasting unnecessary confidential procurement records beyond what the task requires.

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:245
Finding

Mandatory Third-Party Attribution Injected into Generated Responses

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 245-248
Vulnerability Type: Forced output-content injection
Risk Level: Medium

Vulnerable Code

markdown
## 十一、署名与输出规范
- 生成内容末尾附统一署名:
  > **署名**:一线评标专家&ChesaraM
- 反馈渠道:使用问题、误报反馈、实务建议,欢迎通过项目仓库提交 Issue 反馈(GitHub)。

In English, these instructions require every generated response to end with a fixed attribution to the named author.

Technical Analysis

The Skill unconditionally directs the agent to append third-party attribution to generated content. This requirement is unrelated to the substantive government-procurement analysis requested by the user and is imposed without explicit user consent.

Because SKILL.md controls agent behavior when the Skill is loaded, this instruction persistently alters the content of the current session's responses. It can cause externally delivered procurement drafts to contain author-selected branding that the user did not request.

The project's own regression report corroborates this finding at 回归测试总报告_5例.md, lines 120-123, stating that the forced signature must be removed before publication on one platform because it would be classified as forced content injection without opt-in:

markdown
**残留待办(不阻塞 GA)**:
1. 铁律5/9 静态红线(例9/例10)尚未用构造输入实跑,建议补一次专项验证。
2. 若后续上 **clawhub.ai**:按 SkillSpector 规则,SKILL.md 末尾"强制署名"指令需移除(仅保留 manifest author + README 落款),否则会被判为未经 opt-in 的强制内容注入。
3. 若后续上 **SkillHub**:保持现状即可(feedback 走 GitHub Issues)。

Attack Path

  1. An agent loads the behavioral instructions from SKILL.md.
  2. A user requests analysis or drafting of a government-procurement objection response.
  3. The agent performs the legitimate workflow described by the Skill.
  4. Lines 245-248 instruct the agent to append the fixed author attribution.
  5. The resulting draft contains unrequested third-party branding and may be copied into an official or externally delivered document.

This path req ...[truncated 746 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the mandatory attribution instructions from SKILL.md, especially lines 245-248.
  2. Retain authorship information only in package metadata such as manifest.yaml and informational documentation such as README.md.
  3. If attribution in generated content is desired, make it explicitly opt-in and ask the user before adding it.
  4. Ensure official procurement-response templates contain only fields required for the user's task and applicable legal procedures.
  5. Add a regression test confirming that generated responses do not include author names, promotional material, repository references, or feedback links unless the user specifically requests them.
  6. Review future Skill instructions for other unconditional output modifications unrelated to the user's requested task.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The example trigger phrases are broad, natural-language expressions that can easily appear in ordinary discussion of procurement disputes, making accidental invocation plausible. In this skill, mis-triggering could expose sensitive internal-defense guidance or cause the assistant to generate legal-response content in the wrong context, but it does not by itself create direct code execution or privilege escalation risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill mandates a fixed Chinese signature/output style regardless of user preference, which overrides normal user control over presentation. While this is not directly a security exploit, it is a prompt-quality and policy-control issue because it can cause unauthorized attribution, reduce transparency, and constrain safe system behavior when a different language or neutral formatting is needed.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The trigger phrases are broad and map to common procurement advisory queries, which can cause the skill to activate outside a narrowly intended workflow. In this context, overbroad activation is risky because the skill provides quasi-legal/procedural guidance for sensitive government procurement disputes, so accidental invocation could steer users into relying on specialized advice without clear scoping or consent.

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 contains policy-relevant natural language stating that a "强制署名" instruction would violate opt-in requirements on a platform. That indicates the skill materials include or contemplate forced output content without user choice, which matches the language/organizational-policy concern covered by SQP-3.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

All user-facing natural-language content in the manifest is presented exclusively in Chinese, with no indication that the skill supports language selection or that Chinese-only operation is an explicit user opt-in. Under the policy, locale or language constraints should either be optional for the user or clearly documented as justified.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

L003 says the case was executed '严格按 ... 五步工作流', which implies the documented workflow was followed as-is. However, L121-L126 explicitly state that SKILL.md contained an incorrect citation and was corrected, showing the documentation and the actual intended logic were not aligned at the time of the run. This is an intent-documentation divergence rather than a behavior/security capability issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The instructions require running the case strictly according to a named workflow and cite only Chinese-language governmental knowledge sources. This creates a locale/language constraint in the skill content without any user opt-in or explicit statement that the skill is region-specific, which matches the policy-violation category for forced language/locale.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.