Back to skill

Security audit

银行流水解析,流水报告生成等

Security checks for vulnerabilities and agentic risk

Overview

The skill appears intended to generate bank-statement reports, but it uploads sensitive financial files to an external service without clear consent, privacy, or file-scope safeguards.

Install only if you are comfortable sending bank statements and report prompts to the external dfwytech service using your ZY_TOKEN. Before use, confirm exactly which file path will be uploaded, avoid broad or ambiguous paths, and do not use it for statements containing data you cannot share with that provider.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Tainted flow: 'files' from open (line 14, file read) → requests.post (network output)

High
Category
Data Flow
Content
headers["Authorization"] = f"Bearer {final_token}"

    try:
        response = requests.post(url, headers=headers, files=files)
        response.raise_for_status()

        data = response.json()
Confidence
95% confidence
Finding
The script reads an arbitrary local file path and transmits its contents to an external server via HTTP request. In the context of an agent skill, this creates a real exfiltration risk because the code provides no validation, allowlist, consent checkpoint, or restriction on what local files may be uploaded.

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill performs environment-variable access and networked file upload/report generation, but it does not declare corresponding permissions. Missing permission declarations weaken review and consent controls, making it easier for a user or platform to underestimate that local files and secrets will be accessed and transmitted off-host.

Missing User Warnings

High
Confidence
97% confidence
Finding
This skill instructs uploading local bank statement files to a remote server, but provides no explicit privacy warning, data-handling notice, retention policy, or confirmation step. Because bank statements contain highly sensitive financial and personal data, silent transfer to a third party materially increases the risk of unauthorized disclosure, compliance violations, and irreversible privacy harm.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script sends user-supplied file references and query text to a remote third-party endpoint without any explicit disclosure, confirmation, or local validation. In the context of bank-statement analysis, those inputs are likely to contain highly sensitive financial data or pointers to such data, so silent transmission increases privacy, compliance, and data-handling risk.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The code is explicitly designed to upload a local file to a remote service, but it contains no user-facing warning, interactive confirmation, or in-code safeguard indicating that sensitive financial documents will leave the local environment. Because this skill handles bank statements, the missing consent and transparency materially increase privacy and data-handling risk.

Static analysis

No suspicious patterns detected.