Back to skill

Security audit

OC Doc Generator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local code documentation generator with disclosed optional Feishu export and no evidence of hidden execution, persistence, or data exfiltration.

Install only if you want an agent to inspect selected source files and generate API documentation. Review generated output for internal endpoints, schemas, comments, or secrets before saving broadly or sending it to Feishu.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (12)

Tp4

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

The declared behavior says the skill generates API/technical docs and supports Feishu output, but the content indicates mismatches between what is promised and what is actually implemented. Such mismatches are dangerous because users may authorize the skill under false assumptions, leading to unexpected processing, data handling, or downstream sharing behavior.

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 62)May include surrounding context.

md
python3 scripts/extract_api.py app/routes.py --format markdown

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
python3 scripts/extract_api.py app/routes.py --format markdown

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
python3 scripts/extract_api.py app/routes.py --format markdown

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
python3 scripts/extract_api.py app/routes.py --format markdown

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill instructs reading source files and writing generated documentation to local files, but it declares no explicit tool scope such as permissions or allowed-tools. This increases the risk of overbroad file access and unintended writes because the runtime has no documented boundary for what paths or tools the skill should be allowed to use.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The description advertises Chinese document templates, and the parameter section states “--chinese:使用中文模板(默认中文)”, making Chinese the default output behavior. This is a language/locale constraint presented without a clear user opt-in or explicit alternative default, which may violate language-choice policy expectations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger phrases are broad enough to match common requests like general writing or document generation, which can cause the skill to activate outside its intended narrow context. Over-triggering is risky because it may lead the agent to read source code or prepare exports when the user only wanted generic assistance, increasing accidental data exposure and unauthorized file handling.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill describes writing generated content to Feishu cloud documents and local files without an explicit warning that source-derived content may be disclosed to external systems or persisted on disk. In this context, generated documentation may include sensitive code details, endpoints, internal schemas, or secrets accidentally extracted from comments, making silent export materially dangerous.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
| 版本 | v1.0.0 |
| 更新日期 | {date} |
| 维护团队 | {team} |
| Base URL | `https://api.example.com/v1` |

## 快速开始

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

请求示例

bash
curl -X {METHOD} "{base_url}{path}" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{request_body}'

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code makes Chinese the default output language by setting --chinese to true by default and computing chinese = not args.english, so users receive Chinese output unless they explicitly override it. That is a natural-language locale policy concern because the skill forces a specific language choice rather than offering neutral default behavior or explicit opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.