Back to skill

Security audit

Lowcode Module Generator

Security checks for vulnerabilities and agentic risk

Overview

This low-code generator is not malicious, but it needs review because it can steer an agent to write generated source code and SQL into broad user-selected project paths without clear safety bounds.

Install only where the agent is limited to the intended project directories. Before allowing writes, review the generated file list and resolved paths, reject absolute or traversal path overrides you did not intend, and inspect generated SQL manually before running it against any database.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:292
Finding

User-Controlled Output Paths Permit Arbitrary File Creation or Overwrite

Content
View full analysis
config.json - **Microservice project**: The user may specify it in natural language. - **Frontend module generation path**: The user may specify it in natural language. - **Database type**: The user may specify it in natural language. - If the user does not specify these values, read the defaults from `src/config.json`. ``` Related output rules: ```markdown | Type | Path | |------|------| | Backend code | `{microservice.path}/` | | Frontend code | `{frontend.path}/` | | SQL file | Path calculated from `{microservice.path}` and written to `{microservice.name}/db/init.sql` | ``` ### Technical Analysis The Skill explicitly gives natural-language user input priority over configured backend and frontend output paths. It subsequently directs the Agent to create generated Java, React, XML, and SQL files at those destinations. No instruction requires the Agent to: - Restrict destinations to an approved workspace or project root. - Reject absolute user-supplied paths. - reject `..` traversal components. - Resolve and verify canonical paths before writing. - Detect symbolic-link escapes. - Prevent overwriting existing files. - Request confirmation before writing outside the current project. This creates a path-manipulation vulnerability at the instruction level. If an Agent has filesystem-writing tools, a crafted request can redirect generated content into any location writable by that Agent. The generated content could overwrite application source, build configuration, deployment files, or other security-sensitive project artifacts. ### Attack Path 1. An attacker submits an otherwise valid module-generation request. 2. The ...[truncated 1197 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
src/documents/sql-generator.md:62
Finding

Unescaped User-Controlled Values Are Interpolated into Generated SQL

Content
View full analysis
Remediation
View remediation
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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (22)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README states that the user only needs to provide a Simplified Chinese module name, which imposes a specific language requirement in the skill’s natural-language instructions. The file does not offer an alternative language option or explain a justified locale constraint, so this is a language policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill states that all generated content must use Simplified Chinese, which imposes a specific language policy on all outputs. This is a natural-language policy concern because the document does not present this as an opt-in choice or a clearly justified region-specific constraint.

Content

No source excerpt is available for this finding.

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

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

md
**生成路径对照**:

| 类型 | 路径                                                                                                                                 |
|-----|------------------------------------------------------------------------------------------------------------------------------------|
| 后端代码 | `{microservice.path}/`                                                                                                             |
| 前端代码 | `{frontend.path}/`                                                                                                                 |

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

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

md
| 类型 | 路径                                                                                                                                 |
|-----|------------------------------------------------------------------------------------------------------------------------------------|
| 后端代码 | `{microservice.path}/`                                                                                                             |
| 前端代码 | `{frontend.path}/`                                                                                                                 |
| SQL文件 | 以`{microservice.path}`中`{microservice.name}`的位置为基准,即`{microservice.path}中{microservice.name}之前的路径/{microservice.name}/db/init.sql` |

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

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

md
| 类型 | 路径                                                                                                                                 |
|-----|------------------------------------------------------------------------------------------------------------------------------------|
| 后端代码 | `{microservice.path}/`                                                                                                             |
| 前端代码 | `{frontend.path}/`                                                                                                                 |
| SQL文件 | 以`{microservice.path}`中`{microservice.name}`的位置为基准,即`{microservice.path}中{microservice.name}之前的路径/{microservice.name}/db/init.sql` |

**路径计算示例**:

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The instruction mandates automatic conversion of Traditional Chinese to Simplified Chinese and forbids direct use of Traditional Chinese. This enforces a locale/language transformation on user content without presenting a choice or obtaining consent.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The file is entirely written in Chinese and the example user invocation, field labels, and generated outputs all assume Chinese-language interaction. There is no indication that the skill supports other languages, allows opt-in language selection, or is explicitly limited to a Chinese-only regional/compliance context.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The listed identification features are ambiguous phrases such as “页签”, “标签页”, and “右侧详情”, which can appear in many normal descriptions without meaning this specific layout pattern. In a code-generation skill, ambiguous routing criteria can steer generation into an unintended template set, producing incorrect UI structure and propagating faulty assumptions into generated modules.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The document states that whenever user input contains words like “页签” or “标签页”, the generator automatically enters the tab-layout flow. This trigger is overly broad and based on weak keyword matching, so unrelated requests can be misclassified, causing the skill to generate the wrong code path and bind detail-panel logic without explicit user confirmation.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document says that when user input contains the phrase "左右布局", the workflow automatically enters a specialized generation path. This trigger is broad and based on simple keyword matching, which can cause unintended activation from ambiguous or incidental user text and may lead the agent to generate files, routes, and backend objects the user did not explicitly confirm.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This JSON file contains user-facing description fields entirely in Chinese, such as the top-level description and multiple configuration descriptions. If organizational policy requires language choice or forbids forcing a specific language without user opt-in, this is a natural-language policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown example forces a single language throughout the skill content, including headings, instructions, examples, and generated API descriptions, with no indication that users may choose another language. The policy specifically calls for flagging language or locale constraints unless the skill offers opt-in or clearly documents a justified regional restriction.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

这是一个 markdown 文件,描述了附件上传能力和上传接口,但未说明上传文件会被发送到服务端、可能包含敏感数据,或需要用户在上传前确认文件内容。根据规则,markdown 文件应对可能影响用户数据或隐私的行为提供适当警示。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file is entirely written with Simplified Chinese field names, labels, and output conventions, and it does not indicate that the user can choose another language or locale. Under the policy rule, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This markdown file uses Chinese throughout its instructions and examples, which can amount to a language/locale policy constraint when no user opt-in or alternative language option is provided. Under the policy rule, forcing a specific language without documented choice or justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

This markdown file describes a user-selection control that fetches data from allSelectGeneralUser and resolves user names from userId, which implies access to and display of user directory information. The document does not include any warning or disclosure about fetching user data, privacy considerations, or access scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The entire skill document is written in Chinese, including headings and operational descriptions, with no indication that the user can choose another language or that the skill is intentionally limited to a Chinese-speaking environment. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The entire skill file is written in Chinese and does not indicate that language selection is optional or region-specific. Under the language/locale policy, forcing a single language without user opt-in can be a natural-language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This markdown skill specifies that generated SQL should be stored under the microservice's db/init.sql, which implies creation or overwrite of a file in the user's project. The description does not include any warning about file modification, overwrite risk, or the need to review generated SQL before saving.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

This markdown file presents all operational instructions entirely in Chinese and does not indicate that other languages are supported or that Chinese is a required locale for a region-specific workflow. Under the policy, forcing a specific language without user opt-in or documented justification can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The title and all explanatory content are written in Simplified Chinese, which establishes a single required language for using the skill documentation. There is no indication that users may choose another language or that the Chinese-only constraint is optional or justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The entire user-facing instruction file is written only in Chinese, with no indication that other languages are supported or that the locale restriction is intentional. Under the policy, fixed language presentation without opt-in or justification can be a natural-language locale violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.