Back to skill

Security audit

Image Table Extractor Lz

Security checks for vulnerabilities and agentic risk

Overview

This skill performs a related image-to-table task, but its fallback path uploads user-selected files to a third-party service with weak disclosure and weak file scoping.

Review before installing. Use this only with images you are comfortable sending to the Ketop third-party API, do not provide sensitive business, personal, financial, credential, or regulated data, and avoid running the script on arbitrary local paths. The publisher should add explicit upload consent, endpoint disclosure, secure token guidance, and strict file validation before broad use.

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

other

Error
Location
scripts/imgread.py:10
Finding

Undisclosed Transmission of User Images to a Third-Party Service

Content
View full analysis
. 3. Obtain the absolute image path and run: python scripts/imgread.py -f imgpath ``` ### Technical Analysis The script opens the complete user-supplied image and sends it as a multipart upload to `kpp.ketop.cn`. It also transmits the API credential in the `X-API-Key` header. HTTPS protects the request in transit, but it does not prevent the receiving third party from accessing, processing, retaining, or logging the uploaded image. Remote image analysis is related to the declared table-extraction functionality. However, the primary Skill description does not clearly disclose that fallback recognition transfers the entire image to a named external provider. It also does not require informed confirmation immediately before the transfer. Images containing tables may include personal information, test records, business data, credentials, financial information, or other confidential material. Because the Skill first recommends built-in multimodal processing, unconditional fallback to an external upload is not the least-privileged approach. The external disclosure should be optional, transparent, and limited to data explicitly authorized by the user. ### Attack Path 1. A user supplies an image containing a table, potentially including confidential information. ...[truncated 1058 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
scripts/imgread.py:34
Finding

Unrestricted File Path Allows Upload of Arbitrary Readable Local Files

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (15)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The described behavior is limited to image table extraction and CSV/table output, but the detected behavior includes undeclared external requests, file uploads, and reliance on an environment credential (KETOP_KEY_TOKEN). This mismatch is dangerous because reviewers and users may trust the skill for a narrow local transformation while it actually exfiltrates data or depends on hidden privileged integrations.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The document promises that extracted table data will remain unmodified, but then mandates deletion of cells containing "pass" or "通过". This contradiction can mislead users into trusting the output as faithful evidence when the skill is in fact altering source data, which is especially dangerous for test, compliance, or audit records.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The notes section repeats a guarantee of complete, unmodified extraction while the procedure still requires content removal. Repeated inconsistent claims increase the likelihood that downstream users rely on falsified or incomplete data without realizing filtering occurred.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
82% confidence
Finding

The skill declares no explicit tool scope or permissions, yet the analysis indicates capabilities involving environment access and network use. In a skill that processes user-uploaded images, undeclared network/file-upload behavior can lead to silent transmission of sensitive image contents or metadata to external services without user awareness or policy control.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description lists trigger phrases such as “提取图片数据” and describes use when the user needs to “识别表格内容或导出CSV”, which are broad enough to overlap with common image/data requests outside this skill’s intended scope. The file does not provide exclusion conditions or negative examples to clarify when the skill should not activate.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The activation condition says the skill applies whenever a user needs to extract tables from images, recognize table content, or export data, but it does not define constraints such as requiring an uploaded image with a visible table or excluding non-tabular image analysis. This ambiguity can cause the skill to be invoked for loosely related requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The skill instructs processing uploaded images with multimodal models but does not warn users that image contents may be sent to such systems for analysis. Because images can contain personal, confidential, or regulated data, failing to disclose this processing creates privacy and compliance risk, especially in the context of document/table extraction workflows.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill instructs the operator to obtain and store an external access key and set it as an environment variable, even though the skill is framed as simple image table extraction. This expands the trust boundary and can lead to unnecessary credential collection, storage, or mishandling without clear justification, scope limits, or security controls.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill tells users to acquire and set an access key but provides no warning that the key is sensitive, should not be exposed in logs, and should be stored securely. This raises the risk of credential leakage through shell history, screenshots, shared terminals, or copied workflow transcripts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill has the user process potentially sensitive images using an external script/service path without disclosing whether image contents may be transmitted, stored, or logged outside the local environment. Users may unknowingly submit regulated, proprietary, or personal data to external processing.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script uploads user-provided image files to a third-party service at kpp.ketop.cn for processing, which creates a real data exposure boundary outside the local environment. For a table-extraction skill, this may be functionally intended, but it is still security-relevant because potentially sensitive image contents are transmitted off-device and the manifest text does not clearly disclose that remote processing occurs.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The code sends raw image content to an external API without any visible user warning, consent step, or privacy notice. Because images used for table extraction can contain proprietary, personal, or regulated data, silent transmission to a third party can lead to unintended disclosure and compliance issues.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
72% confidence
Finding

The entire skill description, triggers, and output guidance are written as if the skill operates only in Chinese, with no indication that users may choose another language or that the Chinese-only scope is intentional and justified. This can violate language/locale policy when a skill implicitly forces a specific language without opt-in.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The script retrieves KETOP_KEY_TOKEN from the environment to authenticate to the remote service. Credential access is not mentioned in the manifest and is not directly implied by a simple image-to-table/CSV extraction skill description, especially since users are not told the skill depends on external account-backed access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

Reading a credential from KETOP_KEY_TOKEN is a sensitive operation under the warning criteria. The file contains no comment, help text, or user-facing message explaining that an API key is required from the environment or how it will be used.

Content

No source excerpt is available for this finding.