Back to skill

Security audit

Cwicr Cost Calculator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed construction cost calculator with ordinary local data-processing behavior and no evidence of hidden or destructive actions.

Before installing, use a virtual environment and consider pinning pandas and numpy versions from a trusted package index. Provide only the construction datasets or quantity files needed for the calculation.

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

Unpinned Third-Party Python Dependencies

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 30–33
Vulnerability Type: Uncontrolled third-party dependency resolution
Risk Level: Medium

Vulnerable Code:

markdown
### Prerequisites
```bash
pip install pandas numpy
text

### Technical Analysis

The installation command specifies `pandas` and `numpy` without fixed versions or cryptographic hashes. Consequently, pip resolves whichever compatible package versions are available from its configured package index at installation time.

Although both package names refer to established projects, the installation is not reproducible and does not verify that users receive dependency artifacts reviewed by the skill publisher. Risk arises if a package release or configured package index is compromised, or if dependency resolution retrieves an unexpected transitive component. A user-configured or attacker-controlled pip index could also serve substituted artifacts under these package names.

The project does not provide a lock file, hash-verified requirements file, or documented trusted-index restriction to mitigate this supply-chain exposure.

### Attack Path

1. A user follows the prerequisite instructions and runs `pip install pandas numpy`.
2. pip contacts the package index configured in the user's environment and dynamically resolves package versions and transitive dependencies.
3. An attacker compromises a resolved release or controls the configured package index and supplies a malicious distribution.
4. The malicious component executes during package installation or when the installed module is imported by the documented implementation.
5. The component operates with the privileges of the user running pip or the calculator.

### Impact Assessment

Successful exploitation could permit arbitrary code execution under the installing user's account. The resulting access could include reading or modifying files available to that account, accessin
...[truncated 418 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin all direct and transitive dependencies to reviewed versions in a lock file.
  2. Generate a hash-verified requirements file and require hashes during installation:
    bash
    python3 -m pip install --require-hashes -r requirements.txt
    
  3. Include SHA-256 hashes for every permitted distribution in requirements.txt.
  4. Document installation from an explicitly trusted package index, while avoiding embedded credentials:
    bash
    python3 -m pip install \
      --index-url https://pypi.org/simple \
      --require-hashes \
      -r requirements.txt
    
  5. Recommend installation inside a dedicated virtual environment with no elevated privileges.
  6. Establish dependency review and update procedures, including vulnerability scanning and deliberate lock-file regeneration.
  7. Keep package installation separate from normal skill execution so dependencies are not dynamically installed whenever the skill is invoked.
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.