Back to skill

Security audit

Rvt To Excel

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for converting Revit files, but it asks users to run a third-party executable without a pinned version or verification steps.

Install only if you trust the RvtExporter source. Before running it on project files, use a specific reviewed release, verify its hash or code signature if available, place it at an explicit trusted path, and run it with access only to the input and output folders needed for conversion.

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
SKILL.md:214
Finding
Unverified Third-Party RvtExporter Executable<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 214–216 **Vulnerability Type**: Unverified third-party binary and insecure software supply chain **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown ## Resources - **GitHub**: [cad2data Pipeline](https://github.com/datadrivenconstruction/cad2data-Revit-IFC-DWG-DGN-pipeline-with-conversion-validation-qto) - **Download**: See repository releases for RvtExporter.exe ``` ### Technical Analysis The Skill directs users to obtain and execute the precompiled `RvtExporter.exe` from repository releases. It does not pin a specific release or asset, provide a cryptographic checksum, require digital-signature verification, or document a trusted installation process. Because the executable is not included in the audited project, its implementation and behavior cannot be verified from the available files. The Skill's example integration subsequently invokes this binary through `subprocess.run`. Although the example safely passes command arguments as a list and does not use `shell=True`, that protection does not mitigate the risk of executing an untrusted or substituted binary. The vulnerability is therefore a software supply-chain trust failure rather than command injection in the provided Python example. ### Attack Path 1. An attacker compromises the referenced repository, its release publishing process, a maintainer account, or the distribution channel used to obtain `RvtExporter.exe`. 2. The attacker publishes or substitutes a malicious executable under the expected filename. 3. A user follows the Skill documentation and downloads the executable without a pinned version, verified checksum, or trusted signature. 4. The agent or user invokes the malicious executable to process local RVT/RFA files. 5. The executable runs with the privileges of the invoking user and can perform arbitrary actions available to that account. ### Impact Assessment Successful exploitation would provide ar ...[truncated 627 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin `RvtExporter.exe` to a specific, reviewed release version and immutable release asset. 2. Publish an expected SHA-256 or stronger cryptographic digest and require verification before execution. 3. Require verification of a trusted code-signing certificate, including publisher identity and certificate validity. 4. Prefer distributing auditable source code with reproducible build instructions so users can verify that the binary corresponds to the reviewed source. 5. Document a secure installation procedure that rejects unsigned, mismatched, or unexpectedly located binaries. 6. Resolve the executable to an explicit trusted path rather than relying on the current directory or system `PATH`. 7. Run the converter with least privilege in a sandbox or isolated worker that has access only to the required input and output directories. 8. Restrict outbound network access for the conversion process unless it is explicitly required. 9. Record and validate the executable version and hash before each invocation. ]]>
Vulnerability Patterns
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.