T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned Third-Party Dependency Installation Guidance
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent local CAD drawing/model comparison helper with no evidence of exfiltration or persistence, though users should be cautious with its dependencies and generated reports.
Install dependencies in an isolated virtual environment or container, prefer reviewed/pinned package versions, and run the scripts only on intended drawing/model files. Treat the report as a review aid, manually verify geometric tolerances and critical engineering decisions, and be aware that Markdown output can reflect unescaped input metadata.
SKILL.md:20Unpinned Third-Party Dependency Installation Guidance
scripts/compare.py:277Markdown Report Injection Through Unescaped Feature Metadata
声明的核心能力是“2D图纸与3D模型自动对比并输出差异报告”。但提供的代码块功能明显更窄:它是一个2D图纸解析器,按文件类型读取DWG/DXF/PDF,抽取线、圆、弧、多段线、尺寸文本、几何公差和边界框,并保存为结构化JSON。代码确实支持直径符号和几何公差识别,这与声明部分一致;但声明中的主要目标——3D模型相关处理、2D/3D差异比较、轮廓/尺寸一致性判定,以及Markdown差异报告输出——在代码中完全没有体现。因此该描述不能准确代表此代码块的实际行为,属于实质性不匹配。
声明描述的是一个完整的“2D图纸-3D模型比对与差异报告”能力,包含图纸解析、尺寸/轮廓差异检测、符号与几何公差识别、JSON/Markdown报告输出等。实际代码只是一个3D模型解析脚本:根据文件格式加载STL或STEP/IGES,提取顶点、面、边、包围盒、面积/体积等信息,并生成一个简单的2D投影结果保存为JSON。它没有处理任何2D图纸输入,没有做比对逻辑,没有识别工程标注语义,也没有生成Markdown报告。因此代码的实际行为与声明的核心用途存在明显且实质性的偏差。
The skill instructs execution of local scripts that read user-supplied files and write output artifacts, but it declares no explicit tool scope or permission boundaries. In an agent environment, this can lead to over-broad file system access assumptions and unsafe execution against unintended paths or sensitive local files.
The document explicitly claims there is 'no external dependency risk' and that it is a 'pure documentation/script skill,' yet the workflow requires running local parsing and comparison scripts with multiple external libraries. This misleading safety framing can lower reviewer caution and cause users or agents to execute code they otherwise would have scrutinized, increasing the chance of unsafe file handling or dependency-related abuse.
The module documentation describes this as a 2D-versus-3D difference comparison tool, but one advertised comparison area—geometric tolerances—is not actually compared. This is a security-relevant integrity issue because users may rely on the tool for engineering sign-off and miss critical discrepancies that the documentation implies were checked.
This Python file contains natural-language descriptions and generated report content in Chinese, while the CLI argument descriptions are in English, creating an implicit language constraint for core output and documentation. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless clearly justified as region-specific.
The code labels geometric tolerance handling as part of the comparison workflow, but it does not actually validate those tolerances against the 3D model; it merely copies 2D tolerance annotations into the report with an informational note. In a design-review context, this can mislead users into believing a critical verification step was performed automatically, causing unsafe or nonconforming designs to be approved.
The markdown report produced by the script is fully hard-coded in Chinese, which forces a specific locale for downstream users and reviewers. The file does not provide any mechanism for choosing another language or explain that the skill is intentionally limited to a Chinese-language environment.
This code file contains user-facing natural-language documentation exclusively in Chinese in the module docstring, while the policy requires flagging language or locale constraints that are forced without user opt-in. There is no indication that the skill is region-specific or that users may choose another language.
This is a natural-language policy issue because the file embeds user-facing documentation and messages in a single language, which can force a locale on users without opt-in. The file does not indicate that the tool is region-specific or provide an alternative language option.
该 markdown 文件从标题到内容均仅使用中文,且未说明这是面向特定中文用户群体或区域场景的限定文档。按规则,若技能强制特定语言而没有用户选择或明确、合理的地域性说明,可视为自然语言/语言环境策略问题。
No suspicious patterns detected.