Back to skill

Security audit

Investment Advisory Workflow

Security checks for vulnerabilities and agentic risk

Overview

This investment-advisory skill is mostly coherent, but it asks for broad command and file access while handling sensitive financial data and personalized recommendations.

Install only if you are comfortable with a Chinese-language investment-advisory workflow that may process holdings, amounts, age, risk profile, and reports. Run it in a sandbox or restrict its permissions before use; Bash/Exec and broad file read/write access are not justified by the documented purpose. Avoid entering full IDs, bank-card numbers, account credentials, or unnecessary precise portfolio details, and review any allocation or trading suggestions with a qualified professional.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:8
Finding

Overly Broad Tool Permissions Violate Least Privilege

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 8
Vulnerability Type: Excessive filesystem and command-execution permissions
Risk Level: Medium

Vulnerable Configuration

yaml
allowed-tools: [Bash, Read, Write, Exec, WebSearch]

Technical Analysis

The skill permits arbitrary shell execution, process execution, filesystem reads, filesystem writes, and web searches. Its documented functions are limited to investment-data retrieval, portfolio analysis, KYC questioning, and Markdown report generation. No shell commands, local executables, or use case requiring unrestricted host access are defined in the project.

Granting Bash and Exec creates a general-purpose code-execution channel. Broad Read and Write access also permits access to files outside the skill package and intended report-output area. This violates least privilege and increases the consequences of malicious user input, a compromised delegated skill, or unsafe content returned by an external data source.

The audit found no commands that currently exploit these permissions, no embedded malicious scripts, and no remote payload retrieval. The risk arises from the unnecessary authority exposed by the configuration.

Attack Path

A potential exploitation path is:

  1. An attacker supplies crafted content through a user request, external market-data response, or compromised delegated skill.
  2. That content influences the agent into invoking one of the broadly authorized tools.
  3. The agent uses Read to access unintended local files or uses Bash/Exec to run attacker-selected commands.
  4. The process executes with the filesystem and operating-system privileges of the agent runtime.
  5. If Write is available outside a constrained output directory, the attacker may also alter files accessible to that runtime.

This path depends on a separate mechanism capable of influencing tool invocation; no such exploit payload was identified in the audited package.

...[truncated 574 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove Bash and Exec unless a concrete, reviewed operation requires them.
  2. Replace unrestricted tools with narrowly scoped financial-data APIs and report-generation capabilities.
  3. Restrict Read access to explicitly allowlisted package files, such as references/ and templates/.
  4. Restrict Write access to a dedicated report-output directory using canonical-path validation and deny path traversal.
  5. Allowlist required network destinations and operations instead of granting unrestricted WebSearch.
  6. Run the skill in a sandbox with a read-only filesystem, except for its dedicated output directory.
  7. Ensure the runtime has no access to unrelated credentials, environment secrets, SSH material, or sensitive host paths.
  8. Require explicit user confirmation before any operation that writes files or invokes external processes.
  9. Add tests that verify attempts to read, write, or execute outside the declared workflow are denied.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (20)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The event-analysis trigger is underspecified because "this event" is not scoped to financial or macroeconomic events. That ambiguity can lead the skill to analyze unrelated events as if they were investment-relevant and generate action recommendations from weak or irrelevant premises.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrase for behavior-guidance use is broad and conversational, which can cause the skill to activate on loosely related user messages and deliver investment-oriented advice without clear user intent. In a financial advisory workflow, mis-triggering is risky because it may process sensitive portfolio context or produce consequential suggestions in the wrong context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill advertises holdings lookup, asset allocation, and rebalancing advice but does not warn users that these workflows involve sensitive financial data and consequential recommendations. In this context, missing privacy, suitability, and risk disclosures increases the chance of unsafe data collection, overreliance on automated advice, and inappropriate handling of personal portfolio information.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill’s trigger condition is overly broad: it activates for essentially any request that could be construed as investment advisory, including vague prompts like '最近 XX 怎么看' or '大跌了怎么办'. In a high-stakes financial context, overly broad routing can cause the agent to enter an advisory workflow prematurely, provide regulated-style guidance without sufficient qualification, or collect sensitive KYC-style data when a narrower informational workflow would be safer.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The natural-language description, trigger phrases, workflow labels, and expected outputs are all specified in Chinese, and the file does not indicate that users may choose another language. This effectively imposes a locale/language constraint without opt-in or justification as a region-specific tool.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest description is written entirely in Chinese and presents the skill as a general investment advisory workflow, but it does not indicate that use is limited to a Chinese-speaking or region-specific context. Under the stated policy, forcing a specific language without user opt-in or justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The notes explicitly acknowledge a privacy protection gap for sensitive financial information but do not translate that into concrete user-facing warning or handling requirements. In an investment-advisory workflow, users are likely to disclose holdings, asset size, and risk details, so failing to require redaction/minimization increases the chance of unnecessary collection or exposure of sensitive financial data.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The file’s user-facing prompt and expected behavior are entirely specified in Chinese, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-only or region-specific context. This creates a natural-language policy concern because it implicitly enforces a locale/language without opt-in or justification.

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’s title, user prompt, and expected output are entirely specified in Chinese, which implies a fixed language/locale behavior. There is no indication that the user can opt into another language or that the Chinese-only constraint is required for a documented region-specific purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The prompt is written entirely in Chinese and prescribes Chinese-language interaction without any mechanism to detect or honor the user's preferred language. This can cause exclusion, misunderstanding, or unsuitable responses for users who are not expecting Chinese output, which is a genuine quality and safety issue in a user-facing advisory workflow.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The holding-diagnoser skill explicitly handles sensitive financial and personal data, including customer name, risk level, holdings, amounts, and returns, and instructs the agent to output them in a report without any privacy guardrails. In an agent context, this increases the risk of unnecessary collection, overexposure in outputs, and disclosure to logs, downstream tools, or unauthorized viewers.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The fund-analyzer-pro skill references external service access, including qieman_client for holding look-through and performance attribution, but does not mention user consent, third-party sharing, or restrictions on transmitting portfolio data. This creates a real privacy exposure because sensitive investment data may be sent to external providers without transparency or minimization.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The fund-allocator skill processes customer age and risk preference to generate allocation advice, which involves sensitive personal and financial profiling, yet includes no handling constraints or disclosure guidance. In advisory workflows, this can lead to overcollection, inappropriate persistence, and exposure of suitability-related data in outputs or tool traces.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The report-generator skill template includes customer-identifying fields such as name and date and is designed to aggregate prior analysis data into standardized reports without any sensitivity warning or redaction rules. This is dangerous because it can amplify earlier data exposure by packaging personal and financial details into easily shareable output artifacts.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The entire markdown template is written in Chinese and structurally requires generated reports, labels, and guidance text to be produced in Chinese. This is a natural-language policy concern because it imposes a specific language/locale without any visible user opt-in or documented region-specific justification in the file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

README 从标题、触发词、场景说明到示例输出均固定为中文,没有向用户提供语言切换、英文选项或说明该技能仅面向特定中文场景。按规则,未经过用户选择就固定语言/locale 可能构成自然语言政策问题。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The natural-language content throughout the file is entirely in Chinese, and there is no indication that users may choose their preferred language or that the locale restriction is documented as intentional. Under the policy rule, forcing a specific language without user opt-in 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
86% confidence
Finding

This markdown file contains only Chinese-language headings and descriptions, which can constitute a language-policy issue when the skill does not provide user opt-in or indicate that it is intended for a Chinese-only audience. Under the policy, forcing a specific language without user choice is reportable unless the locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

All natural-language instructions and skill descriptions in this file are presented in Chinese, and there is no indication that users may choose another language or that the Chinese-only constraint is required for a justified regional use case. Under SQP-3, forcing a specific language without user opt-in is a policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The heading is entirely in Chinese and presents the skill reference as a Chinese-only artifact, with no indication that users may choose another language or that the locale restriction is required. Under the language/locale policy rule, natural-language content that implicitly forces a specific language without opt-in can be a policy concern.

Content

No source excerpt is available for this finding.