Back to skill

Security audit

Product Detail Page Generator

Security checks for vulnerabilities and agentic risk

Overview

The skill’s main product-page workflow is coherent, but it publishes a reusable demo username and password for an external platform and under-explains privacy/publication risks.

Review this skill before installing. Do not use the published demo credentials for real work, and assume anything uploaded to the platform, emailed to the provider, or published as a share link may be visible outside your organization unless the provider gives clearer privacy and access controls.

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 (1)

T09 · Insecure Skill Coding Practices

Error
Location
README.md:5
Finding

Publicly Exposed Shared Demo Credentials

Content
View full analysis

Vulnerability Details

File Location: README.md, line 5
Vulnerability Type: Hardcoded plaintext credentials
Risk Level: High

Vulnerable Code Snippet:

text
- 账号体系:3diy/123456(演示账号,实际使用需客户自有账号)

The documentation exposes the reusable username 3diy and password 123456 for the external platform. The surrounding text identifies these as demo credentials and notes that customers should use their own accounts, but this does not prevent arbitrary parties from using the disclosed credentials.

Technical Analysis

Authentication credentials committed to distributable documentation are available to every person or automated system that can access the package. The password is also weak and predictable. If the account remains active and the platform does not impose compensating restrictions, an attacker can authenticate without authorization.

Because the project contains documentation rather than the platform implementation, the account's exact authorization scope cannot be verified from the audited files. The confirmed defect is therefore the plaintext disclosure itself; access to specific platform resources depends on the permissions assigned to the demo account.

Attack Path

  1. Obtain the Skill package or view its public README.md.
  2. Extract the disclosed username and password from line 5.
  3. Navigate to the declared platform at https://show.3diy.world.
  4. Attempt authentication using username 3diy and password 123456.
  5. If the credentials remain active, access all projects, uploaded data, generation resources, and account functions granted to the shared demo account.
  6. View or alter shared content, consume service resources, or disrupt other users of that account where the account permissions allow it.

Impact Assessment

Successful exploitation grants the attacker the same privileges as the shared demo account. Depending on server-side authorization, this may permit access t ...[truncated 403 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the username and password from README.md and all distributed package versions.
  2. Immediately rotate or disable the disclosed password and invalidate every active session or token associated with the account.
  3. Review account authentication logs for unknown logins and inspect projects, uploads, publications, and resource usage for unauthorized activity.
  4. Replace shared reusable credentials with individual account registration or time-limited invitation links.
  5. If a demo environment is necessary, provide a read-only account with isolated sample data, strict rate limits, no paid-resource access, and automatically expiring credentials delivered outside the repository.
  6. Enable multi-factor authentication where supported and enforce a strong, unique password.
  7. Add secret scanning to pre-commit and CI workflows so credentials cannot be committed to source files or documentation.
  8. Review repository history and previously published artifacts for the secret. Removing it only from the current revision is insufficient because prior versions may remain accessible.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

This markdown file describes saving and publishing content, culminating in obtaining a share link and QR code, but does not warn users that publication may expose generated assets or product information to others. Because markdown files should disclose behaviors affecting user data, privacy, or system integrity, this omission is a safety-relevant missing warning.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs users to send product descriptions and image attachments by direct email, but provides no privacy notice, retention policy, consent language, or handling guidance for potentially sensitive business content. This can expose confidential product materials, unreleased marketing assets, metadata, and personal contact information to insecure or unclear processing outside the platform’s normal controls.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

A language-only experience can violate language/locale policy when it effectively forces a specific language without user opt-in. This file contains all operational instructions in Chinese and does not mention multilingual support, user choice, or a justified region-specific restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The package description is written entirely in Chinese and describes the skill as generating a product detail page, but nowhere in this manifest entry does it indicate that output language is optional or user-selectable. Under the policy, forcing a specific language without opt-in is a natural-language locale/language concern unless the constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.