Back to skill

Security audit

tujian-suanliang

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a local CAD quantity-planning skill with disclosed caching and reporting behavior, not a hidden or malicious tool.

Install only if you trust the required cad-file-reader dependency and any CAD_SKILL_DIR path you configure. Expect local drawing-derived caches and report files to be created; use --cache-dir or delete .cadidx/output artifacts if the drawings are sensitive. Treat outputs as planning estimates, not settlement, fabrication, or final engineering quantities.

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

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述的是一个面向结构图纸的综合算量与物资计划技能,核心价值在于从 CAD 图中提取梁板柱墙工程量、钢筋估算、标号分档和分区分账,并做规范辅助校核与索引复用。该代码块则只处理一个非常窄的子问题:在已有模型数据中,比较 run 与模型梁的编号冲突,借助引线标注判定哪一侧编号归属成立,并估算潜在重复计量风险。它既不读取 DWG/DXF,也不生成楼层/区域的混凝土与钢筋计划量,不做规范校核,不做缓存索引,更明确说明“只定编号归属,不改任何构件体积”“formal_ready=false”。因此其实际行为与声明的主要用途存在明显且实质性的偏离,应判定为描述不准确。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared description presents a broad estimation and planning skill for structural CAD drawings: concrete quantities, rebar tonnage bands, standards checks, metadata assistance, floor/zone-based accounting, and reuse of parsed drawing indexes. In contrast, the actual code shown merely dispatches to a specific operation named 'cad_beam_attribution_conflict'. From the filename and inline comment, this operation is about determining responsibility between beam segments/model beams when they share axis and section but have different IDs, using leader annotations to decide which is correct. That is a materially different purpose from the declared quantity-estimation workflow, and none of the described major capabilities are visible in this code chunk. While this may be one subtool in a larger CAD system, based on the supplied chunk alone the behavior does not accurately match the declared description.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

声明描述的是一个面向生产使用的结构施工图工程量/钢筋估算与物资计划技能,覆盖多类构件、校核提示、分账口径和索引复用等完整能力。实际代码仅是 cad_beam_benchmark.py,其用途在注释中明确为“把 CAD 自动梁中心线结果与广联达模型汇总做对照”,且“内测时不对外宣称精度”。它只是读取现成的自动识别 JSON 与模型 CSV,对梁和连梁的混凝土方量做楼层范围比对并输出报表。该行为与声明的核心用途存在明显偏差,属于主功能和能力范围都不匹配,而不是单纯的实现细节缺失。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

声明描述的是一个较完整的结构图数量与钢筋估算/分账系统;而这段代码是其中非常局部的梁审计脚本。其输入是 model/coverage/reconciliation/gap 等 JSON 文件,说明前置解图和建模已经完成。脚本的核心功能是:1) 按编号参考截面复核梁实例体积差;2) 将图框内未覆盖的梁候选段基于同轴、端头间隙、宽度容差归属到已有梁实例;3) 将残余缺口分解为可归属、无编号候选、无法解释等类别;4) 为偏少编号生成回图核对目标;5) 输出报告文件。虽然这些行为与“梁量复核/分账流水线”的某些子任务相关,但远不足以支撑声明中的主要能力,且主要目的明显更窄、更偏向梁缺口归属审计。因此该代码块与声明存在实质性描述-行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明描述的是一个面向结构施工图综合算量与物资计划的高层技能,核心产出应是混凝土净量/订货量、钢筋吨数、分档分账和规范辅助信息。实际代码却是下游质量控制/审计环节中的一个专用脚本,目标是验证梁实例中心线是否被图面成对梁线支持,并据此将幻影或不可信实例退出台账。虽然它与“梁算量流水线”领域相关,且会统计相关体积字段并输出‘ledger_excluded’等结果,但这些只是审计证据,不是声明中承诺的主要功能。代码也没有实现钢筋估算、楼层或浇筑区计划、规范校核、图集元数据、全构件覆盖、或持久化索引复用。因此描述与实际行为存在明显且实质性的范围/主用途不一致。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

从当前代码片段可见,实际入口明确指向 cad_beam_centerline_support,且注释直接说明用途是“校验梁实例中心线在图面上有无成对梁线支撑,无支撑者退出台账”。这与声明中的主体能力——结构图工程量提取、钢筋估算、分账与物资计划——明显不同。即使该脚本可能属于更大系统的一部分,单就该代码块本身,暴露出的功能是特定的梁支撑校验,而不是所宣称的综合算量/分账流水线,因此属于描述与行为的实质性不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该代码的主功能与声明存在明显偏差。脚本名称、注释和实现都表明其目的是“审计梁图层图线是否已被算量实例覆盖,找出图框内未提取的梁候选”。它读取DXF或实体JSON和一个已有结构模型,围绕梁线段覆盖、未覆盖区间、镜像对称/平移重复视图、候选梁配对估算等进行分析,并明确输出 formal_ready=false、applied_to_formal_quantity=false,说明其并非正式算量流水线。虽然代码与声明主题都在CAD结构图/梁有关,且会估一个候选体积,但这只是覆盖审计中的辅助体积,不是声明中的完整混凝土与钢筋计划系统。声明强调的是完整楼层算量、物资计划、钢筋估算、规范校核和索引复用;代码则是一个狭窄的梁覆盖审计工具。因此应判定为描述与实际行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
89% confidence
Finding

The declared description presents a comprehensive construction drawing quantity-estimation skill that outputs concrete and steel estimates, planning quantities, standards prompts, and indexed query reuse. The supplied code chunk, however, exposes a specific audit command for beam coverage checking. Even though such an audit could be related to a quantity workflow, it is a materially different exposed capability and primary purpose from the declared 'give drawing name and output quantities' behavior. No quantity computation, floor/pour-zone reporting, standards checking, or index/query behavior is visible in this chunk. Therefore this code does not accurately match the declared description.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

声明描述的是一个面向结构施工图综合算量与分账的高层技能,核心产出应是混凝土净量/毛量、订货量、标号分档、钢筋吨数以及规范校核和物资计划。当前代码块的主功能明显不同:它只是在 DXF 文本层面提取梁编号标注与图名,建立图框归属,并针对外部提供的梁编号对账结果判断量差更可能来自本层缺闭合、实例数不一致或跨楼层图框等问题。输出中还明确写有“本节只做证据定位,不改体积,formal_ready 仍为 false”,进一步说明其不是正式算量产物,而是辅助排错/索引报告。因此这不是对已声明技能的准确实现,而只是其中一个很窄的支持性诊断脚本,且缺失声明中的主要能力,构成明显描述-行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

The declared description presents a broad construction-quantity and material-planning capability: extracting beam/slab/column/wall quantities, concrete grades, and rebar tonnage from structural drawings, with checking prompts and indexed reuse. The supplied code chunk, however, only dispatches to another script for a specific function: cad_beam_frame_label_index, whose comment indicates it determines which title block/floor a beam label belongs to in a DXF set. That may be a supporting subroutine in a larger CAD pipeline, but on its face it does not implement or directly expose the declared primary purpose. Because the actual chunk’s observable behavior is a narrower, different task not accurately represented by the description, this should be flagged as a mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

声明描述的是一个面向结构施工图的综合算量与物资计划技能,核心能力包括CAD图纸解析、跨构件算量、钢筋估算、规范辅助、分区分账以及索引复用。该代码块则是流水线中的一个专用后处理脚本,输入已经是上游生成的对账JSON和结构模型JSON,主要用途是把主梁编号层面的体积差异拆分为真实缺量、归属偏置和实例计数差,并输出检索目标与报表。虽然它与“梁”及“混凝土量对账”这一大主题相关,可能是所宣称系统中的一个子步骤,但从该代码块本身看,其主要目的和能力范围远窄于声明,且缺失声明中的关键主能力。因此应判定为描述与代码行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该代码的主目的与描述存在明显偏差。脚本输入固定为 model-json、geometry-dxf、reconciliation-json,读取 DXF 中特定图层的 LINE 实体,只识别梁与支座相关线段;随后依据梁编号中的跨数信息,对多跨梁做同轴续接推断,统计新增梁长、支座宽度和候选体积,并生成台账与证据链。它没有实现描述中所述的通用施工图解析、全专业/多构件混凝土与钢筋估算、按浇筑区分账、规范校核、元数据辅助、缓存索引查询等核心能力。虽然结果中有 candidate volume(候选体积)且与梁工程量分析相关,但这只是整体宣称能力中的一个很小且辅助性的专项步骤,且代码显式标注 formal_ready=false、applied_to_formal_quantity=false,说明并非正式出量流水线。因此应判定为描述与实际行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

该代码块的主功能与声明存在明显范围收缩。代码文件名、参数、注释和主要逻辑都表明它专注于“梁中心线对象生成与复核”:从特定图层读取LINE实体,配对梁边界形成中心线,结合梁标注提取截面,计算梁长度和混凝土体积,并输出复核文件。代码中还多次明确限制:‘长度是中心线合并粗长,尚未扣除支座和叠合板,不能替代模型净跨’、‘自动结果用于人工复核和能力测试,不作为结算或翻样交付’。这与声明中的“任意结构施工图”“梁板柱墙净量、订货量(含损耗)、标号分档与钢筋吨数带”“按浇筑区分账报物资计划”等综合能力并不匹配。虽然代码确实涉及混凝土粗方量、楼层标签、支座提示、拓扑补全等,属于声明中‘梁’算量的一部分,但未见钢筋统计、损耗订货量、浇筑区分账、规范/图集元数据、结构模型接管、解图索引缓存等关键能力实现。因此应判定为描述与实际行为不符。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

声明描述的是一个覆盖 CAD 解图、工程量提取、钢筋估算、分区分层物资计划和缓存索引的完整上层技能;而代码只是其中一个较窄的后处理内核,前提是上游已经提供规则 JSON 和分账报告。它的核心职责是按混凝土强度等级汇总体积、检查证据来源、处理叠合板预制子层去重,并导出台账文件。虽然这与声明中的‘混凝土分账’部分有关,属于相关子能力,但远不足以支撑声明的主要承诺,且缺失 CAD 解析、全构件算量、钢筋估算、查询索引等关键能力。因此描述与该代码块实际行为存在明显且实质性的不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该脚本的核心行为很明确:读取DXF文字实体或现成文字记录,在用户指定的表格区域内识别两类表(楼层标高表、材料表),提取“墙/柱/连梁”“梁/板/楼梯”等列对应的混凝土强度等级,处理合并单元格继承与复核标记,然后可选地把这些等级规则套用到外部传入的components_json体积列表上,生成按构件分组的混凝土标号规则草稿。它不做CAD几何构件识别、不计算混凝土工程量、不计算损耗订货量、不做钢筋算量,也没有查询索引、楼层/浇筑区流水分账等声明中的关键能力。虽然它与“混凝土标号元数据辅助”这一小部分有关,但整体主功能与声明的大型算量/分账技能相比明显偏窄,属于实质性描述不符。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

声明描述的是一个较完整的结构图出量与钢筋估算技能:从任意结构施工图直接解析,输出梁板柱墙净量、订货量、标号分档、钢筋吨数,并支持楼层/浇筑区及后浇带分账、规范辅助、索引复用等。实际代码仅覆盖其中一部分,而且核心定位明显更窄:它读取既有结构模型 JSON,计算梁/墙柱/板的候选混凝土量,对可选预制底板 DXF 做轮廓与编号匹配,再形成对照/门槛审计报告。代码还在报告中明确说明“本轮只完成混凝土分账的候选收口和门槛审计,不输出正式工程量”,formal_ready 也固定为 false。最显著的缺口是完全没有钢筋估算逻辑,也没有订货量含损耗、按浇筑区分账、规范/图集元数据、索引缓存查询等声明能力。因此描述与代码存在实质性不匹配;虽然“混凝土分账/预制底板辅助审计”方向相关,但远不足以支撑声明范围。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
89% confidence
Finding

声明描述的是一个较完整的结构施工图工程量与物资计划技能,核心能力应包括 CAD 图纸解析、构件识别、混凝土与钢筋工程量估算、规范校核、分区分账和索引复用。实际代码则是一个后处理脚本:读取 intersection/opening/verdict/sheet 等 JSON,按规则生成扣减台账,汇总构件相交与板洞口扣减,识别跨账重复扣减、未决归属和复核门禁,并导出报表。它属于已存在流水线中的一个审计/台账子步骤,而非声明中的端到端主能力。虽与“混凝土分账流水线”局部相关,但不足以支撑声明的主要用途,因此应判定为描述与行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

该代码块的主功能与声明存在明显偏差。声明描述的是完整的结构算量与物资计划技能,而代码仅完成算量前置的一步:提取并展开 CAD 中的基础线几何,用于人工核对和后续拓扑建模。代码中虽提到“供后续拓扑建模使用”,但没有任何体积、配筋、构件识别、分区分账、规范校核或计划汇总逻辑。输出文件也只是几何复核产物(DXF/SVG/JSON/MD 概要),而非声明中的工程量结果。因此这是“声明覆盖了更大系统,但当前提供代码块只实现其中一个底层几何支持组件”的情况;按本次核查标准,应判定描述未准确代表该代码块实际行为。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
84% confidence
Finding

声明描述的是一个面向 CAD 结构图的综合算量技能,核心能力应是读取 DWG/DXF、识别构件、输出混凝土与钢筋估算,并支持索引复用和分区分账。实际代码的主功能明显更窄且不同:它依赖外部已生成的广联达模型云指标报表(xlsx)和构件导出 JSON,进行分类汇总、口径勾稽、装配式板层去重、范围桶划分、报告渲染与导出。代码中没有任何 DWG/DXF 解析、CAD 图元识别、钢筋计算、规范校核、物资计划编制、缓存索引建立或查询接口。虽然代码内容与“结构混凝土算量”领域相关,但其实际职责更像一个‘广联达口径对账/范围边界分析脚本’,与声明的主要用途存在实质性不一致。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
89% confidence
Finding

Based on the supplied chunk, the code does not demonstrate the broad advertised functionality. It simply invokes another script with a specific mode, and the inline comment indicates a narrower purpose: comparing Guanglianda listing-caliber quantities with physical component quantities to output scope boundaries for concrete calculation. That is materially different from the declared comprehensive capability of reading arbitrary CAD structural drawings, extracting per-floor beam/slab/column/wall net and order quantities, reinforcement estimates, standards checks, and cached repeated-query support. While the wrapper may be part of a larger system, this chunk alone supports a different and narrower function than the 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
98% confidence
Finding

从当前代码片段可验证的行为非常有限:它只是定位 Python 运行时并转交执行一个名为 cad_concrete_grade_source.py 的脚本,注释表明用途偏向“图面等级表提取入口”。这与声明中描述的完整结构工程量与钢筋估算系统相比,主目的明显更窄且不同。虽然被调用的 Python 脚本可能包含更多功能,但在所给代码片段中并没有证据支持声明中的大部分核心能力。因此应判定为描述与实际代码行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该描述宣称的是一个较完整的结构施工图工程量/钢筋估算与分账系统,核心能力包括:直接处理DWG/DXF、输出梁板柱墙净量与订货量、钢筋吨数、规范校核、物资计划、缓存索引等。实际代码则是一个非常专门化的后处理审计工具,依赖外部已抽取好的JSON数据,对构件矩形相交导致的重复计量进行分析,输出潜在扣减体积、分组统计和候选净量试算。它没有图纸解析、没有钢筋计算、没有规范校核、没有分区物资计划、没有索引机制,且明确标注结果未正式应用。这不是仅仅“少实现了一部分细节”,而是主目的和能力边界都明显更窄,属于实质性描述与行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
86% confidence
Finding

描述强调的是完整的结构图工程量与物资计划流水线,而当前代码片段只暴露了一个特定审计入口:检查梁、柱、墙等矩形重叠以发现重复计量候选。这可能是整体系统中的一个辅助环节,但就该代码片段本身而言,其直接行为与描述中的主要承诺相差很大,且描述未明确提到“构件相交/重叠审计”这一能力。因此应判定为描述与代码行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该代码块的主功能非常明确:它是“cad_model_code_compare.py”,用于把自动识别得到的梁JSON与广联达模型Excel中的梁工程量按编号进行构件级比对,自动猜测对应楼层并输出差异报表。代码核心是读取xlsx(openpyxl)、读取json、规范化梁编号、计算编号集合匹配分、汇总每编号方量,并写出md/csv/json结果。它既不解析DWG/DXF,也不执行宣称的大范围结构构件算量流水线;没有钢筋计算、规范校核、分账、物资计划、索引缓存等关键能力。声明描述的是一个覆盖多构件、多业务环节的综合算量技能,而代码只是一个梁方量模型对照/审计辅助脚本,属于主目的和能力范围均明显不符,因此应判定为描述与行为存在实质性不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
87% confidence
Finding

Based on the provided snippet, the actual code is a thin launcher for a cad_model_code_compare operation, with an inline comment indicating it is for model self-check of beam object numbering. That behavior is materially different from the declared description, which emphasizes extracting concrete quantities, rebar estimates, standards checks, and reporting from DWG/DXF structural drawings. While the wrapper may be part of a larger system, this specific code chunk does not evidence the declared estimation pipeline and instead points to an undeclared comparison/self-check capability. Therefore this chunk does not accurately represent the declared purpose.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.