Back to skill

Security audit

DXF

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent DXF generation tool with disclosed local file generation behavior, though its Python dependencies are not pinned.

Install this if you need local DXF generation from Python CAD sources, but review generated Python files before running them and consider pinning dependencies in your environment for reproducible installs.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (1)

T08 · Insecure Dependencies

Warning
Location
requirements.txt:2
Finding

Unpinned Third-Party Dependencies Permit Unreviewed Supply-Chain Changes

Content
View full analysis

Vulnerability Details

File Location: requirements.txt:1-2; scripts/packages/cadpy/pyproject.toml:1-11
Vulnerability Type: Unpinned third-party dependencies
Risk Level: Medium

Vulnerable Code

requirements.txt:1-2:

text
--editable ./scripts/packages/cadpy
ezdxf

scripts/packages/cadpy/pyproject.toml:1-11:

toml
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"

[project]
name = "cadpy"
version = "0.3.5"
description = "Shared STEP/GLB topology artifact generation runtime for CAD skills."
requires-python = ">=3.11"
dependencies = [
  "build123d",
  "cadquery-ocp",
]

Technical Analysis

The project installs ezdxf, build123d, and cadquery-ocp without exact version constraints or integrity hashes. The build dependency also permits any setuptools release at or above version 68.

Consequently, identical installation commands can resolve to different package versions over time. Those versions have not necessarily undergone the same review as the project source. Python packages and build backends can execute code during installation, import, or normal runtime. If a dependency release is compromised, malicious, or introduces a critical regression, the affected code may execute within the Skill's environment.

The audit found no evidence that the currently named packages are malicious. The vulnerability is the absence of deterministic version and integrity controls.

Attack Path

  1. An attacker compromises a maintainer account, distribution infrastructure, or release process for one of the unconstrained dependencies.
  2. The attacker publishes a malicious version under the legitimate package name.
  3. A user or deployment process installs the project using requirements.txt or builds the local cadpy package.
  4. The package resolver selects the malicious version because no exact reviewed version or hash is req ...[truncated 755 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin every direct dependency to a reviewed version, including ezdxf, build123d, cadquery-ocp, and the build backend.
  2. Generate a lock file that also fixes all transitive dependency versions.
  3. Require package hashes, such as through a hash-locked requirements file installed with pip --require-hashes.
  4. Build and install exclusively from a trusted package index or an internally controlled artifact repository.
  5. Disable fallback to public indexes when using a private package source to reduce dependency-confusion exposure.
  6. Update dependencies through a controlled process that includes changelog review, vulnerability scanning, and functional testing.
  7. Consider producing reproducible wheels in an isolated build environment and promoting only verified artifacts into production.
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 (54)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation does not actually generate/regenerate DXF and instead analyzes geometry manifests and planar groups, then the skill description is materially misleading. The core security issue is deceptive scope: reviewers may approve or trust a tool based on promised low-risk vector drawing behavior that is not what the code primarily does.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dynamic_code_execution

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
scripts/packages/cadpy/src/cadpy/assembly_spec.py:243

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
scripts/packages/cadpy/src/cadpy/generation.py:738