Back to skill

Security audit

Interior Proposal Generator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward interior-design PPT generator with some install and scoping cautions but no evidence of hidden or harmful behavior.

Install dependencies in a virtual environment, consider pinning package versions, and use the skill only when you want a Chinese interior-design proposal PPT generated from the project details and optional images you provide.

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:113
Finding

Unpinned Third-Party Dependencies Installed Without Integrity Verification

Content
View full analysis
Remediation
View remediation
Pillow== ``` 2. Generate and record SHA-256 hashes for every direct and transitive dependency. 3. Require hash verification during installation: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 4. Use a lock-file workflow such as `pip-tools` to pin the complete transitive dependency graph. 5. Install dependencies inside a dedicated virtual environment rather than a global or privileged Python environment. 6. Configure a trusted package index explicitly and prevent unintended fallback to untrusted indexes. 7. Review and update pinned versions regularly for security fixes, regenerating hashes only after the new artifacts have been verified. 8. Avoid running dependency installation as root or with administrator privileges. ]]>
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (8)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger phrases include broad everyday expressions like 'PPT生成' and '方案汇报', which can cause the skill to activate in contexts where the user did not clearly request this specific automation. Over-broad activation can lead to unintended file generation, inappropriate context switching, or accidental use of project data in the wrong workflow.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The activation conditions are framed very broadly, covering generic proposal making, presentation preparation, and bid document work without exclusion criteria. In an agent environment, this increases the risk of the skill auto-engaging on loosely related conversations and acting on sensitive business or residential project information without sufficiently specific user intent.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
77% confidence
Finding

L110 明确指定“中文PingFang SC / 英文Avenir Next”,整体文档也默认以中文内容和中文命名示例为主,但未说明是否支持其他语言或由用户选择语言/地区格式。对于通用提案生成技能,这构成了默认强制特定语言/本地化风格的风险。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file contains user-facing natural language that forces a specific language/locale experience, including the module docstring and the slide text generated throughout the presentation. Under the policy criteria, a fixed language is a violation when the skill does not provide user opt-in or clearly justify a region-specific limitation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The name and description fields are entirely in Chinese, which effectively forces a specific language for understanding the skill's purpose and use. There is no indication that this is a region-specific skill or that users can opt into another language, which can violate a language/locale policy requiring neutrality or user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file contains natural-language content that implicitly forces a specific language/locale for all users. Under the policy, language restrictions should either be optional for the user or clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

This markdown file contains natural-language content and includes fixed English wording such as "LESS IS MORE", "QUALITY LIFE", and "TIMELESS" inside an otherwise Chinese template. Because the file does not state that the template is intended for bilingual or English-language presentations, it may impose a language preference without user opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.