Back to skill

Security audit

table-structure-handler

Security checks for vulnerabilities and agentic risk

Overview

This Excel-processing skill mostly matches its purpose, but it can silently alter supposedly preserved spreadsheet data and may access or write files outside the documented folders.

Review this skill before installing. Use it only on disposable copies of workbooks, avoid passing path-like filenames, and do not rely on its A-E preservation claim unless the script is fixed to enforce directory containment and accurately document or remove the destructive transformations.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/process_table.py:190
Finding

Path Traversal Enables Access to Files Outside Approved Directories

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/process_table.py:219
Finding

Undeclared Destructive Workbook Transformations Violate Data-Preservation Guarantees

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (162)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The declared purpose describes an Excel table-structure processing skill, but the provided code does not implement any table processing behavior. It merely exposes a library symbol and package metadata for et_xmlfile, which is a supporting XML-writing library used by other packages. Since the actual code chunk's primary purpose is unrelated package initialization rather than the described skill behavior, this is a material description-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

声明描述的是Excel表结构处理,但代码中没有任何Excel读取、写入、表格解析、工作簿/工作表处理、列结构分析等逻辑。相反,代码完全围绕XML ElementTree的序列化展开,包括命名空间处理、标签/属性写出、XML声明生成,以及输出到文件或流。这属于与声明的主要用途明显不同的能力,因此应判定为描述与实际行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The declared description says this is an Excel table-structure processing skill, but the provided code is a generic XML writer implementation from et_xmlfile/openpyxl infrastructure. It does not perform table schema analysis, Excel table structure transformation, or user-triggered business logic. Instead, it provides low-level support for incrementally serializing XML elements to an output stream/file, including namespace handling and syntax checks. While XML support can be a supporting detail for Excel .xlsx internals, this code chunk's actual primary behavior is infrastructure for XML output, not a table-structure Excel processing skill as declared.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

该代码片段仅为 openpyxl 包初始化文件,作用是聚合导入和暴露 Workbook、load_workbook 等接口以及版本常量。这属于底层依赖库入口,而不是一个完成“表结构Excel处理”的技能实现。虽然 openpyxl 与 Excel 处理相关,但此处代码没有执行、定义或封装任何表结构分析/转换/处理流程,因此与声明的技能主要目的存在实质偏差。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述的是一个面向Excel表结构处理的技能,但给出的代码片段只是 openpyxl 的 _constants.py 元数据定义文件,不包含读取、解析、修改或处理Excel表结构的任何逻辑。该代码的主要用途是保存库的版本和作者等信息,与技能声明的核心功能无关,因此应判定为描述与实际行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The declared description says this is a skill for processing Excel table structures, but the supplied code does not implement any such behavior. It merely re-exports classes from the openpyxl cell package. There is no logic for handling Excel table schemas, no user-trigger behavior, and no skill-specific functionality. This is a materially different purpose from the declared description, so it should be flagged as a mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

该描述强调“表结构Excel处理”,通常会让人理解为针对工作表/表头/列结构等进行处理的高层功能;但代码并未体现表结构解析、表头整理、字段映射、工作表结构操作等能力,而是在实现 openpyxl 内部的单元格写入流程。它根据单元格数据类型生成 XML,支持公式、数组公式、数据表公式、富文本、日期转换和超链接收集等。这说明代码的主要用途是 Excel 文件写出时的底层序列化,而不是声明中的“表结构处理”。因此描述与实际行为存在明显不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

声明描述的是“表结构Excel处理”,通常会让人预期代码与工作表结构、表头/列定义、模式解析或表结构转换有关。但给出的代码并未实现表结构识别或处理流程,也没有任何技能触发逻辑;它是 openpyxl 库中通用的 Cell 实现文件,主要职责是维护单元格属性和行为。这与声明的主用途存在明显偏差。虽然该代码属于 Excel 处理生态的一部分,但其实际能力是底层单元格读写与类型管理,不是“表结构处理”这一更高层、特定场景的能力描述,因此应判定为描述与行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared description says this is an Excel table-structure processing skill. However, the supplied code is a library component from openpyxl that models read-only cells and empty cells. It exposes properties like coordinate, style, number format, font, fill, border, alignment, protection, and read-only value semantics. There is no table-schema extraction or transformation workflow, no skill orchestration logic, and no trigger logic for the stated phrase. While the code is Excel-related, its primary purpose is materially different from the declared skill description, so this is a mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description says the skill handles Excel table structure processing, but the supplied code is specifically for representing and manipulating rich text in Excel cells (formatted text runs, font blocks, XML tree conversion). It does not perform table schema extraction, table structure analysis, or any broader worksheet/table processing. This is a materially different primary purpose, so the description does not accurately represent the code.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared purpose says the skill handles Excel table structure processing, but the supplied code only contains class definitions for 3D chart-related objects in openpyxl (View3D, Surface, _3DBase). These classes represent chart rotation, depth, perspective, and surface styling metadata. There is no logic for parsing, transforming, or processing worksheet/table schemas, and no code related to user-trigger handling. This is a materially different primary purpose from the declared description, so it should be flagged as a mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

声明描述聚焦于“表结构Excel处理”,通常应涉及工作表结构、单元格布局、表头/字段处理等能力。但代码内容仅为 openpyxl 图表模块的导出入口,没有看到任何表结构处理逻辑,也没有与触发表述相对应的业务实现。其主要目的显然是支持 Excel 图表创建与引用,属于与声明用途 materially different 的能力,因此应判定为描述与行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

该代码的核心职责是Excel图表处理,而不是“表结构处理”。它围绕 ChartBase 实现图例、布局、系列、坐标轴、图表写出与XML路径等逻辑,属于图表生成/配置基础设施。虽然同属Excel领域,但“表结构Excel处理”通常指工作表表头、列结构、单元格表格结构等处理,和此处图表对象管理不是同一主要目的。因此描述未准确代表代码实际行为,属于明显不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The declared purpose says this skill handles Excel table structure processing and should trigger on '表结构处理'. However, the supplied code is a library module from openpyxl that defines AreaChart and AreaChart3D classes and related chart properties. Its primary purpose is representing/configuring chart objects, not processing spreadsheet table schemas or structures. There is also no trigger logic present. This is a material description-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述聚焦于“表结构Excel处理”,通常应涉及工作表表头、字段结构、列定义、表格解析或结构化数据处理。但代码内容完全是 openpyxl 的 chart.axis 模块,负责 Excel 图表坐标轴对象的定义与 XML 序列化/反序列化,不包含表结构识别、表格清洗、字段映射或触发逻辑。其主要用途与声明的技能目的明显不一致,因此属于描述与实际行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill handles Excel table structure processing. However, the supplied code is specifically part of openpyxl's chart subsystem, implementing bar chart and 3D bar chart classes and their chart-specific attributes. This is a materially different primary purpose from table structure processing. Additionally, the code does not include any trigger logic related to the declared activation phrase. Therefore, the description does not accurately represent the actual behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared purpose says this skill handles Excel table structure processing. The supplied code instead defines a BubbleChart model class within openpyxl, used to construct or serialize bubble chart settings. Its primary purpose is chart representation/configuration, not processing worksheet table structures. There is also no code related to user-trigger phrases or a skill entrypoint. This is a clear description-to-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared purpose says the skill handles Excel table structure processing. However, the supplied code is specifically part of openpyxl's chart subsystem: it defines classes representing chart containers and chart-space XML, with fields for titles, legends, 3D settings, plot areas, protection, external data, graphical/text properties, and XML namespace serialization. There is no logic for parsing, transforming, or validating Excel table structures/schemas. The primary purpose is materially different: chart representation/serialization rather than table structure processing.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

该代码片段属于 openpyxl 的 chart.data_source 模块,定义了一系列用于 Excel 图表的数据源类,如 NumRef、StrRef、MultiLevelStrRef、AxDataSource 等,核心用途是描述图表引用、缓存点和序列化结构。它没有体现“表结构处理”相关能力,例如解析工作表表头、列结构、字段映射、表格格式整理等。虽然都与 Excel 有关,但主功能明显偏向图表数据源而非表结构处理,因此描述与实际行为存在明显不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared purpose describes a skill for processing Excel table structures, but the provided code is a library module from openpyxl's chart subsystem. It implements descriptor classes used for chart configuration validation and number-format assignment, not logic for handling Excel table structures. There is no user-triggered workflow, no table schema parsing or transformation, and no clear relation to the stated trigger phrase. This is a material purpose mismatch rather than a mere supporting detail.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述聚焦于“表结构Excel处理”,通常应涉及工作表、表头、列类型、表结构解析或转换等能力。但实际代码只是定义了一个 ErrorBars 类,用于 Excel 图表中的误差线配置序列化,没有看到任何表结构读取、修改、分析或触发逻辑。虽然同属 Excel 相关库代码,但其主要目的与声明的技能用途明显不同,因此属于描述与实际行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The declared description says this is an Excel table-structure processing skill, but the supplied code is a library model for chart label objects in openpyxl. It primarily represents and serializes chart data label settings, which is materially different from processing spreadsheet table structures. There is also no code related to skill triggering or user phrase handling. This is a clear description-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The supplied code is a library model for Excel chart layout configuration, not a skill for processing worksheet/table structures. Its primary function is to declare serializable classes and constrained fields for chart layout properties. That is materially different from the declared purpose of '表结构Excel处理技能' (Excel table structure processing). There is no evidence of table parsing, schema transformation, worksheet structure handling, or trigger implementation. Therefore the description does not accurately represent the code's actual behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description says this skill handles Excel table structure processing. However, the supplied code is a library model for chart legend elements in openpyxl, defining serializable classes and fields for legend formatting and layout. It does not process worksheet/table schemas, parse or modify table structures, or contain any skill-triggering logic. This is a materially different purpose, so the description does not accurately represent the code.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared purpose says this skill handles Excel table structures, but the provided code is specifically for defining line chart and 3D line chart classes in openpyxl. It models chart properties such as grouping, series, axes, labels, markers, and up/down bars. There is no logic for parsing, transforming, or processing worksheet/table structures. This is a materially different primary purpose, so it is a clear description-behavior mismatch.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.