Back to skill

Security audit

Lca Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward openLCA helper that installs one Python dependency and runs a local bridge script to query or create openLCA assessment data.

Install this only if you are comfortable adding the olca-ipc Python package and letting the skill interact with your openLCA IPC server. Review commands that create product systems before running them against important databases, and prefer a pinned or locked dependency version 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
scripts/requirements.txt:1
Finding

Unpinned Third-Party Dependency Creates Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: scripts/requirements.txt:1; SKILL.md:16-18
Vulnerability Type: Unpinned and integrity-unverified third-party dependency
Risk Level: Medium

Complete Code Snippets:

scripts/requirements.txt:1

text
olca-ipc>=2.4.0

SKILL.md:16-18

yaml
install:
  - kind: uv
    package: olca-ipc

Technical Analysis

The project installs olca-ipc from a package repository without pinning an exact audited version or verifying a cryptographic hash. The requirement olca-ipc>=2.4.0 permits the resolver to install any later compatible release, while the installation metadata does not specify a version at all.

Consequently, the effective dependency code can change after this Skill has been reviewed. Builds are not reproducible, and a malicious or compromised future package release could be selected automatically. Python packages may execute code during installation, and package module-level code executes when scripts/lca_bridge.py imports olca_ipc and olca_schema.

This finding does not establish that the current olca-ipc package is malicious. The vulnerability is the project's failure to constrain and integrity-check the externally supplied executable dependency.

Attack Path

  1. An attacker compromises the upstream package, its maintainer account, or a package-distribution channel and publishes a malicious release satisfying >=2.4.0.
  2. A user installs the Skill dependency using the declared uv package configuration or scripts/requirements.txt.
  3. The dependency resolver selects the compromised release because no exact version or hash restricts the accepted artifact.
  4. Malicious package code executes during installation or when lca_bridge.py imports the package.
  5. The payload operates with the privileges of the user running the installation or bridge script.

Impact Assessment

Successful exploitation could provide arbitrar ...[truncated 394 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin olca-ipc to a specific, reviewed version instead of using a lower-bound constraint:
    text
    olca-ipc==2.4.0
    
  2. Generate and commit a dependency lockfile that records all transitive dependency versions.
  3. Require cryptographic hashes for downloaded artifacts, such as through a hash-locked requirements file:
    text
    olca-ipc==2.4.0 --hash=sha256:<verified-artifact-hash>
    
  4. Make the installation metadata in SKILL.md use the same exact version as the locked dependency configuration.
  5. Use an explicitly trusted package index and disable unintended fallback indexes to reduce dependency-confusion exposure.
  6. Review dependency updates before changing the pin, verify package provenance and signatures where available, and run automated dependency and malware scanning in CI.
  7. Install and execute the Skill in a least-privileged, isolated environment with only the filesystem and network access required to communicate with openLCA.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
94% confidence
Finding

The dependency is only lower-bounded (olca-ipc>=2.4.0), which allows future major or minor releases to be installed without review. This creates a supply-chain and integrity risk because a compromised, malicious, or breaking upstream release could be pulled into the skill environment unexpectedly.

Content

Scanner excerpt · scripts/requirements.txt (reported line 1)May include surrounding context.

text
olca-ipc>=2.4.0

Static analysis

No suspicious patterns detected.