Back to skill

Security audit

OPC commercial canvas designer, financing consultant, Free Edition (Lite)

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent business-canvas assistant, but it asks for sensitive startup financial and fundraising details while giving inconsistent instructions about whether that profile may persist beyond the session.

Install only if you are comfortable using a Chinese-first business planning skill that may ask for non-public startup financial and fundraising information. Avoid entering confidential revenue, runway, valuation, investor, or term-sheet details unless the host clearly keeps the profile session-only or you explicitly want a workspace file retained.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:77
Finding

Mandatory Promotional Content Hijacks Agent Responses

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 77-82 and 98-120
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: High

Relevant source excerpt translated into English:

markdown
### Step 4: Canvas diagnostic summary
After generating each canvas, output a two-sentence summary:

[Business Canvas Diagnostic Summary]
- Current diagnosis: [One sentence identifying the greatest strength or weakness]
- Core conclusion: [One sentence identifying the highest-priority improvement]
Upgrade to Pro for a complete financial model, fundraising strategy,
and investor communication coaching.
markdown
When the user actively requests the advanced capabilities described above,
first provide one useful general tip and then naturally guide the user toward
an upgrade.

Unified upgrade message:
Upgrade to Fundraising Coach Pro...
- Complete business-plan coaching and editable templates
- Financial modeling and valuation, fundraising, and dilution calculations
- Fundraising strategy, investor matching, and communication scripts
- Investor-question simulations, due-diligence checklists, and term-sheet review
- Watermark-free templates and a persistent cross-session profile
-> [Upgrade to Pro]
markdown
| User signal | Lite action |
|---|---|
| The canvas is complete and the user asks how to write the full plan | Provide an outline, state that detailed coaching is available in Pro, and show the upgrade card |
| The user asks how much to raise or what the company is worth | State that a financial model is required and show the upgrade card |
| The user asks which investors to contact or how to contact them | Give one general tip and show the upgrade card |
| The user mentions receiving a term sheet or entering due diligence | Give one or two high-risk warnings and show the upgrade card |
| The user improves the canvas for more than two rounds | Proactively pr
...[truncated 1703 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove mandatory upgrade language from the required canvas-summary format.
  2. Remove automatic triggers based on completion state or number of refinement rounds.
  3. Mention paid functionality only when the user explicitly asks about unavailable functionality, pricing, or product tiers.
  4. Use concise, neutral disclosure rather than a fixed sales script or forced upgrade action.
  5. Ensure that any product-tier limitation does not suppress safe, generally available educational guidance.
  6. Add a policy stating that promotional content must never override the user's requested output format or materially displace the requested answer.

T09 · Insecure Skill Coding Practices

Warning
Location
assets/session-profile-template.md:1
Finding

Conflicting Retention Instructions May Persist Sensitive Business Profiles

Content
View full analysis

Vulnerability Details

File Location: assets/session-profile-template.md, lines 1-24; conflicting session-only statement in SKILL.md, line 64
Vulnerability Type: T09: Insecure Skill Coding Practices
Risk Level: Medium

Relevant source excerpt translated into English:

markdown
# Founder Profile and Session Progress Table

Usage: Create this profile during the first interaction and update it after
every conversation round. It is used to maintain consistent memory across
modules and rounds. It may be saved as a workspace file for continued maintenance.

## Founder profile

| Field | Content |
|---|---|
| Company or project name | [Complete] |
| Industry or sector | [Complete] |
| One-sentence business positioning | [Complete] |
| Current fundraising round | Seed / Angel or Pre-A / Series A |
| Team size | [Complete] |
| Current monthly revenue or GMV | [Complete] |
| Monthly cash burn | [Complete] |
| Available cash or runway | [Complete] |
| Target fundraising amount | [Complete] |
| Expected valuation range | [Complete] |
| Core traction data | [Complete] |
| Existing investors or fundraising progress | [Complete] |

The primary skill instruction states:

markdown
Record the basic profile with the session-profile template.
The free-tier profile is valid only for the current session.

Technical Analysis

The primary skill file represents the profile as session-only, while the profile template permits saving it to a workspace file and updating it after every round. The two retention instructions are inconsistent.

The affected fields include non-public financial and fundraising information such as revenue, cash burn, runway, valuation expectations, fundraising targets, traction, and investor progress. The persistence instruction does not require explicit user consent and does not define a storage location, retention period, access policy, encryption requiremen ...[truncated 1346 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the instruction allowing workspace persistence if the Lite profile is intended to be session-only.
  2. If persistence is necessary, require explicit, informed opt-in before writing any profile file.
  3. Clearly disclose the stored fields, storage location, retention period, authorized readers, and deletion process.
  4. Collect only fields needed for the current task; do not request valuation, cash, investor, or runway data unless directly relevant.
  5. Avoid plaintext persistence of sensitive financial information. Use platform-approved protected storage with access controls and encryption where available.
  6. Assign restrictive file permissions and prevent reuse across unrelated users or sessions.
  7. Provide a command or documented procedure to inspect, export, and permanently delete the profile.
  8. Align SKILL.md and the template so that both state one unambiguous retention policy.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest description and core usage instructions are entirely written in Chinese and explicitly frame the interaction as using '大白话' without indicating multilingual support or asking the user for a preferred language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is documented and justified, which it is not here.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The file explicitly instructs maintaining cross-module, cross-session memory and storing it persistently in the workspace, which expands data retention beyond a one-shot canvas-generation use case. In a skill positioned as a lightweight business-planning tool, silent persistent memory increases the risk of retaining sensitive founder and company information without informed consent or clear lifecycle controls.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The template directs the agent to create a persistent cross-session profile but provides no privacy notice, consent mechanism, retention period, or data-handling safeguards. Because the skill targets entrepreneurs and startups, the stored information can include commercially sensitive planning and fundraising details, making undisclosed retention materially risky.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The template solicits sensitive business and financial information such as revenue, burn, runway, fundraising targets, valuation expectations, traction, and investor status without any confidentiality, minimization, or retention disclosure. In this skill context, those fields could expose highly nonpublic startup information whose leakage or over-retention could harm fundraising negotiations, competitive position, or internal confidentiality obligations.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

清单要求记录融资轮次、拟融资金额、估值区间、已有投资人进展等信息,这与清单后续的“融资规划、机构对接、尽调、协议审查”模块共同表明该模板面向融资执行辅导,而不仅是 manifest 所述的 Lite 版商业画布与 BP 骨架生成。虽然 manifest 提到这些能力属于 Pro 版升级方向,但该文件已将其作为常规会话记忆结构的一部分,存在描述与实际支持范围不一致。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The entire skill file is written as mandatory Chinese instructional content and presents no indication that the user may choose another language or that Chinese is a justified, region-specific requirement. 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.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest says the Lite skill only generates a structured business model canvas and an investor-view BP skeleton, and explicitly says deeper enablement such as financial models and fundraising strategy belongs to the Pro version. However, this file includes guidance on financial forecasting and financing plan content, directing use of dedicated fundraising-planning materials.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The manifest emphasizes a fast conversion of an idea into a one-page business blueprint and BP skeleton. In contrast, the file defines outputs including a full BP framework outline, section-by-section content recommendations, and a required-data checklist, which indicates broader BP coaching functionality than the limited Lite positioning suggests.

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 is entirely written as a Chinese-language template and does not indicate that users may choose another language or locale. Under the policy rule for natural-language violations, a skill that implicitly enforces 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
80% confidence
Finding

All user-facing headings and instructions in this template are written in Chinese, which can impose a language constraint on users without offering an alternative or opt-in. Under the policy, a forced language or locale without user choice can be a natural-language policy violation unless clearly justified.

Content

No source excerpt is available for this finding.