Back to skill

Security audit

architecture-generator

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for AI toy generation, but its examples ask users to run an unpinned npm CLI while an API key is in scope.

Review this before installing if you plan to use the CLI path. Prefer the REST curl examples or use a pinned, verified `onekey` package version in an isolated environment with only the required OneKey key exposed. Do not submit confidential prompts, private images, or regulated data unless you trust the gateway and downstream providers.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:185
Finding

Unpinned npm Package Execution Through npx

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 185, 276, and 433
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: Medium

Vulnerable Code

Line 185:

shell
npx onekey agent craftsman-agent/craftsman-agent toy_generator_design_draft '{"prompt":"Stuffed Steve in Minecraft","images":["https://static.aiagenta2z.com/container/craftsman-agent/default/static/derekzz/a49f905b-4e0d-40c6-af7a-c37be3d1741e/3ccb042bbd9b41c3a9f5d31c564ef4c0.png"],"asset_size":"small","template_id":"stuffed-toy","provider_model_id":"default","session_name":"3D Build Plan","tag_list":"","mode":"demo"}'

Line 276:

shell
npx onekey agent craftsman-agent/craftsman-agent toy_generator_task_create '{"prompt":"","images":["https://static.aiagenta2z.com/container/craftsman-agent/default/static/derekzz/a49f905b-4e0d-40c6-af7a-c37be3d1741e/3ccb042bbd9b41c3a9f5d31c564ef4c0.png"],"multi_view":{"front":"https://craftsman-agent.aiagenta2z.com/static/derekzz/75302fb3-b0f4-4bfe-a406-1c97eda64dbf/build_front.png","right":"https://craftsman-agent.aiagenta2z.com/static/derekzz/75302fb3-b0f4-4bfe-a406-1c97eda64dbf/build_right.png","back":"https://craftsman-agent.aiagenta2z.com/static/derekzz/75302fb3-b0f4-4bfe-a406-1c97eda64dbf/build_back.png"},"asset_size":"small","template_id":"stuffed-toy","provider_model_id":"tripo/tripo","model":"P1-20260311","session_name":"3D Build Plan","tag_list":"","mode":"basic"}'

Line 433:

shell
npx onekey agent craftsman-agent/craftsman-agent toy_generator_task_poll '{"task_id":"96b2116e-4b86-4d3c-af04-baf0da0c23ac","kwargs":{"provider_model_id":"tripo/tripo","mode":"basic"}}'

Technical Analysis

The documented commands invoke the onekey npm package without specifying a version, lockfile, or integrity hash. When an appropriate package is not already available locally, npx can retrieve it from the configured npm registry and execute its entry point.

Consequently, the code executed by these commands ...[truncated 1911 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin onekey to a specific, reviewed version in every example:

    shell
    npx --yes onekey@<verified-version> agent craftsman-agent/craftsman-agent ...
    
  2. Verify the expected package publisher, package provenance, and registry before execution. Document the approved npm registry explicitly.

  3. Maintain a project manifest and lockfile where practical, and install dependencies with lockfile enforcement, such as npm ci, rather than resolving the latest package dynamically.

  4. Use npm provenance and integrity verification where supported. Review the pinned package and its transitive dependencies before approving updates.

  5. Prefer the documented HTTPS REST API examples when installing and executing a local package is unnecessary.

  6. Run the CLI in a least-privileged, isolated environment with access only to required files and network destinations.

  7. Supply the gateway key only for the duration of the required command, avoid exposing unrelated secrets in the process environment, and rotate the key if execution of a compromised package is suspected.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (15)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill processes user prompts and image URLs by sending them to an external gateway and downstream generation providers, but the documentation does not clearly warn users about that data transfer. This can cause inadvertent disclosure of sensitive prompts, proprietary imagery, or regulated data to third parties.

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

text

| API                        | Description                                                                                 |
| -------------------------- | ------------------------------------------------------------------------------------------- |
| toy_generator_design_draft | Generate a toy design draft and multi-view reference sheets from text prompts and/or images |
| toy_generator_task_create  | Create a new Toy 3D Generation Task from images, prompts, and/or multi-view references      |

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

md
#### Requests Input Parameter

| Parameter         | Description                                                                                     |
| ----------------- | ----------------------------------------------------------------------------------------------- |
| prompt            | Text prompt describing the desired toy                                                          |
| images            | Array of source image URLs used as visual references                                            |

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

commandline
export DEEPNLP_ONEKEY_ROUTER_ACCESS=your_access_key

curl -X POST "https://agent.deepnlp.org/agent_router" \
  -H "Content-Type: application/json" \
  -H "X-OneKey: $DEEPNLP_ONEKEY_ROUTER_ACCESS" \
  -d '{

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

commandline
export DEEPNLP_ONEKEY_ROUTER_ACCESS=your_access_key

curl -X POST "https://agent.deepnlp.org/agent_router" \
  -H "Content-Type: application/json" \
  -H "X-OneKey: $DEEPNLP_ONEKEY_ROUTER_ACCESS" \
  -d '{

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

commandline
export DEEPNLP_ONEKEY_ROUTER_ACCESS=your_access_key

curl -X POST "https://agent.deepnlp.org/agent_router" \
  -H "Content-Type: application/json" \
  -H "X-OneKey: $DEEPNLP_ONEKEY_ROUTER_ACCESS" \
  -d '{

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The documentation instructs users to run npx onekey without pinning an exact package version. Because npx resolves and executes whatever package version is current at install time, a compromised or maliciously updated package could execute arbitrary code on the user's system.

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

md
#### Request Input Parameters

| Parameter         | Description                                                                                                                       |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| prompt            | Text prompt describing the desired 3D toy                                                                                         |
| images            | Array of source image URLs                                                                                                        |

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

md
| Parameter         | Description                                                                                                                       |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| prompt            | Text prompt describing the desired 3D toy                                                                                         |
| images            | Array of source image URLs                                                                                                        |
| multi_view        | Object containing multi-view image URLs. `front` is required when using multi-view generation; `right` and `back` can be supplied |
| asset_size        | Target toy asset size, depending on the selected template                                                                         |

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

md
| Parameter         | Description                                                                                                                       |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| prompt            | Text prompt describing the desired 3D toy                                                                                         |
| images            | Array of source image URLs                                                                                                        |
| multi_view        | Object containing multi-view image URLs. `front` is required when using multi-view generation; `right` and `back` can be supplied |
| asset_size        | Target toy asset size, depending on the selected template                                                                         |
| template_id       | Toy generation template                                                                                                           |

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

md
| images            | Array of source image URLs                                                                                                        |
| multi_view        | Object containing multi-view image URLs. `front` is required when using multi-view generation; `right` and `back` can be supplied |
| asset_size        | Target toy asset size, depending on the selected template                                                                         |
| template_id       | Toy generation template                                                                                                           |
| provider_model_id | 3D generation provider, such as `tripo/tripo` or `meshy/meshy`                                                                    |
| model             | Optional provider-specific model, such as `P1-20260311` or `v3.1-20260211`                                                        |
| session_name      | Name of the generation session                                                                                                    |

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

md
| template_id       | Toy generation template                                                                                                           |
| provider_model_id | 3D generation provider, such as `tripo/tripo` or `meshy/meshy`                                                                    |
| model             | Optional provider-specific model, such as `P1-20260311` or `v3.1-20260211`                                                        |
| session_name      | Name of the generation session                                                                                                    |
| tag_list          | Optional tags                                                                                                                     |
| mode              | Generation mode such as `basic`, `standard`, `advanced`, or `demo`                                                                |

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

md
| provider_model_id | 3D generation provider, such as `tripo/tripo` or `meshy/meshy`                                                                    |
| model             | Optional provider-specific model, such as `P1-20260311` or `v3.1-20260211`                                                        |
| session_name      | Name of the generation session                                                                                                    |
| tag_list          | Optional tags                                                                                                                     |
| mode              | Generation mode such as `basic`, `standard`, `advanced`, or `demo`                                                                |

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

This example again relies on unpinned npx onekey, which creates a software supply-chain risk. Users following the docs may download and execute a different package version than the author tested, including a trojanized release.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

Using npx onekey without version pinning exposes users to arbitrary code execution through package substitution or malicious upstream updates. This is especially relevant because the command is positioned as a routine way to access the skill APIs.

Content

No source excerpt is available for this finding.