Back to skill

Security audit

can-dbc-matrix

Security checks for vulnerabilities and agentic risk

Overview

This skill is a narrow CAN database JSON reference with a normal dependency-install note and no hidden or persistent behavior.

Before using the conversion example, install canmatrix in a virtual environment and pin or review the package version if your workflow is sensitive. Treat outputs as local engineering data and verify bit-numbering assumptions against your canmatrix export settings.

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:184
Finding

Unpinned Third-Party Package Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 184–188
Vulnerability Type: Unpinned and unverified third-party dependency installation
Risk Level: Medium

bash
pip install canmatrix
canconvert input.dbc output.json --jsonExportAll

Technical Analysis

The documentation instructs users to install canmatrix directly from pip without specifying an approved version, validating package hashes, using a dependency lock file, or constraining the package index to a trusted source.

As a result, the installed package and its transitive dependencies can change after the Skill has been reviewed. Python package installation may execute package-controlled build or installation logic. If the package, one of its dependencies, or the configured package index is compromised, installation could execute attacker-controlled code.

This is a supply-chain weakness rather than evidence that the current canmatrix package is malicious.

Attack Path

  1. An attacker compromises the canmatrix distribution, one of its transitive dependencies, or a package source configured in the victim's pip environment.
  2. The attacker publishes or serves a malicious package release.
  3. A user follows the Skill's documented pip install canmatrix command.
  4. pip resolves and downloads the attacker-controlled package without enforcing a reviewed version or cryptographic hash.
  5. Malicious build or installation logic executes with the privileges of the user running pip.
  6. The installed package can execute additional malicious behavior when canconvert is subsequently invoked.

Impact Assessment

Successful exploitation could permit arbitrary code execution under the account that performs the installation. The attacker could access or modify files available to that account, compromise CAN database inputs and generated outputs, steal accessible credentials or environment data, and install additional user-level payloads.

If the command is run from an elevat ...[truncated 220 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin canmatrix and all transitive dependencies to versions that have been reviewed and tested.
  2. Maintain dependencies in a lock file or requirements file containing cryptographic hashes.
  3. Install with hash enforcement, for example:
bash
python -m pip install --require-hashes -r requirements.txt
  1. Explicitly use an approved package index and prevent fallback to untrusted or unexpected indexes.
  2. Perform installation inside a dedicated virtual environment or similarly isolated environment without administrative privileges.
  3. Periodically scan pinned dependencies for known vulnerabilities and review changes before updating them.
  4. Document the expected package version, provenance, and integrity-verification procedure in SKILL.md.
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
Findings (1)

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The text states that Canmatrix JSON uses LSB bit numbering and that big-endian start_bit is also in LSB format, which imposes a single representation convention in natural language. Because the policy category includes forced format or locale-style constraints without opt-in, this can be read as mandating one convention without documenting user choice or scope limitations.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.