Back to skill

Security audit

Real Estate Report Workflow

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a real-estate report workflow, but it can trigger broadly and asks the agent to run local commands, install mutable dependencies, and create persistent project files.

Install only in a dedicated workspace, review each command before execution, pin dependencies or use reviewed lockfiles, and avoid entering confidential client, deal, or account data unless you are authorized and comfortable with external searches. Confirm all file paths before saving, merging, exporting, or committing generated report artifacts.

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
package.json:9
Finding

Unpinned Third-Party Dependencies Permit Unreviewed Supply-Chain Changes

Content
View full analysis
=1.0.0 ``` `SKILL.md:29-30`: ```bash pip3 install python-docx # Word document generation ``` `SKILL.md:47-48`: ```text | `node` / `docx` package | Remind the user: `npm install docx` to support Word export | | `python3` / `python-docx` | Remind the user: `pip3 install python-docx` to support document style cleanup | ``` ### Technical Analysis The Node.js dependency uses the compatible-version range `^9.0.0`, while the Python dependency accepts any version equal to or newer than `1.0.0`. The setup instructions also install packages by name without specifying an exact version, integrity hash, trusted package index, or lockfile. Consequently, the code installed at deployment time may differ from the dependency version that was reviewed during this audit. Package installation and subsequent imports execute registry-delivered package code under the privileges of the user or AI-agent runtime. This creates a supply-chain exposure if a permitted future release, package maintainer account, transitive dependency, or configured package registry is compromised. No evidence was found that the currently named packages are malicious. The vulnerability is the project's acceptance of mutable, unverified dependency content rather than a confirmed malicious payload in those packages. ### Attack Path 1. An attacker compromises a package maintainer account, an allowed transitive dependency, or the package registry configured in the deployment environment. 2. The attacker publishes a malicious version satisfying `^9.0.0` for `docx` or `>=1.0.0` for `python-docx`. 3. A user or agent follow ...[truncated 1168 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (30)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill claims a broad end-to-end analytical workflow, yet the visible content emphasizes local report checking/export mechanics and file-based processing not disclosed in the trigger/description. Even absent clear maliciousness, this discrepancy weakens informed consent and can cause the skill to be routed into contexts where users do not expect file reads, path-based operations, or local automation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill claims a broad end-to-end analytical workflow, yet the visible content emphasizes local report checking/export mechanics and file-based processing not disclosed in the trigger/description. Even absent clear maliciousness, this discrepancy weakens informed consent and can cause the skill to be routed into contexts where users do not expect file reads, path-based operations, or local automation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill claims a broad end-to-end analytical workflow, yet the visible content emphasizes local report checking/export mechanics and file-based processing not disclosed in the trigger/description. Even absent clear maliciousness, this discrepancy weakens informed consent and can cause the skill to be routed into contexts where users do not expect file reads, path-based operations, or local automation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README explicitly declares network search/fetch and Word export dependencies, but it does not warn users that using the skill may trigger external requests or generate local files. In an agent-skill context, missing disclosure can lead to unintended data exposure, unexpected outbound access, or unnoticed file creation in the user's workspace.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
82% confidence
Finding

The skill explicitly instructs use of powerful tools such as web_search, web_fetch, write/edit, and exec, but it declares no explicit tool scope or permissions boundary in the skill manifest. This creates an authorization ambiguity where the runtime may expose more capability than a user would reasonably infer from the metadata, increasing the risk of unintended file access, network activity, or command execution.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger description uses broad phrases such as '工作流', '市场调查报告', '竞品分析', 'SWOT分析', and '运营预测', which can match many ordinary user requests outside the intended real-estate context. Overbroad triggering is dangerous because it can cause inappropriate skill activation, unexpectedly bringing in web/file/exec behaviors and overriding a safer or more relevant agent path.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The skill metadata and content are entirely presented in Chinese and describe the workflow as if that language is the default operating mode, but there is no note offering the user a language choice or explaining a required locale restriction. This can violate language/locale policy when a skill effectively forces one language without opt-in.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The installation and usage instructions encourage users to feed project-specific real-estate data into an AI-driven workflow and export deliverables, but they do not disclose where that data may be sent, stored, or logged. In this context, reports may contain confidential business, client, or transaction information, so omission of data-handling warnings can lead to unintentional exposure to external AI services, repositories, or plugins.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The only natural-language description is entirely in Chinese, which can imply a fixed language/locale expectation for the skill. Under the language/locale policy, this should either offer user choice or clearly document that the skill is intended only for a Chinese-language context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The workflow repeatedly instructs automatic file creation, incremental saving, persistence, and state recovery, but does not present a user-facing warning or consent boundary for local file modification. That matters because a user invoking a writing skill may not expect the agent to create multiple files, maintain project state, or overwrite content on disk.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The workflow directs the agent to execute local Python and Node scripts as part of a report-writing process, expanding behavior from content generation into code execution on the host environment. Even if the scripts are ostensibly for quality checks and document export, this creates a risky capability boundary where a prompt-triggered workflow may run unreviewed local code, access files, or modify artifacts without explicit user authorization at execution time.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The workflow includes shell/script execution and document generation steps without an explicit warning that local commands will run and may modify files. This is dangerous because document-generation pipelines often invoke dependency code and merge/delete artifacts, which broadens the attack surface beyond simple text assistance.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file contains natural-language instructions exclusively in Chinese, and nowhere indicates that the user may choose another language or that the protocol is intentionally limited to a Chinese-speaking or region-specific context. Under the 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

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The entire skill file is written as prescriptive output guidance in Chinese and provides mandatory writing rules without any indication that the user may choose another language or locale. Under the policy criteria, forcing a specific language without opt-in is a natural-language policy violation unless the locale constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The file is entirely framed as Chinese-only writing guidance for a report section, with no indication that users may opt into another language or locale. Under the 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

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The entire skill guidance is written as prescriptive Chinese-language writing rules and does not indicate that users may choose another language or locale. Under the policy, forcing a specific language without opt-in is a natural-language policy violation unless the regional constraint is explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The title and all instructions are written as mandatory global writing principles in Chinese, indicating the skill is constrained to a specific language/locale. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script sets a default Chinese report title and uses Chinese user-facing strings, indicating the skill is designed to generate Chinese-language output by default. This is a natural-language locale constraint presented without any explicit user opt-in or documented justification for being region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The generated document enforces Chinese fonts such as 微软雅黑 and SimHei and uses Chinese footer text like '第' and '页'. This hardcodes a specific language/locale into the output rather than offering a configurable or opt-in localization choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This Python file contains natural-language documentation entirely in Chinese and presents usage/help text only in Chinese, which imposes a specific language on users without any opt-in or alternative. The policy specifically calls out forced language or locale as a natural-language violation when no choice is offered.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script's error messages, status output, and command-line usage examples are all presented only in Chinese. Because the file does not offer any language selection or document a justified region-specific constraint, this constitutes a forced language policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The natural-language instructions and usage examples are entirely in Chinese, and the file does not indicate that users may choose another language or that the skill is intentionally limited to a Chinese-language/regional context. Per the policy, forcing a specific language without user opt-in can be a locale-policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The text states the workflow is '面向中文房地产咨询', which indicates a language/locale constraint. Under the policy, language restrictions should either be optional for the user or clearly justified as region-specific; this file does not provide either.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

This is a manifest file, so vague-trigger checks apply. The description presents the skill as a general real-estate report writing workflow without clarifying when it should or should not activate, and it provides no specific trigger phrases or exclusion conditions.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
96% confidence
Finding

The dependency uses a caret range (^9.0.0), which allows automatic installation of future minor and patch releases. This creates supply-chain risk because a compromised or breaking upstream release of the docx package could be pulled into builds or deployments without deliberate review, especially relevant here because the package is used to generate output documents.

Content

Scanner excerpt · package.json (reported line 10)May include surrounding context.

json
"export": "node scripts/generate_report_docx.js"
  },
  "dependencies": {
    "docx": "^9.0.0"
  },
  "engines": {
    "node": ">=18"

Static analysis

No suspicious patterns detected.