Back to skill

Security audit

QuantClaw Data

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed financial-data helper that uses expected external finance APIs and Python libraries, with the main caution being unpinned dependency installation.

Install in a dedicated virtual environment or container, review the referenced GitHub project before enabling the MCP server, and prefer pinned or locked dependency versions if you rely on the results for serious financial analysis.

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:10
Finding
Unpinned Third-Party Python Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 10 and 23 **Vulnerability Type**: Unpinned third-party dependencies and mutable transitive dependency resolution **Risk Level**: Medium **Complete Code Snippets**: ```yaml metadata: openclaw: requires: bins: ["python3"] install: - id: quantclaw-deps kind: shell command: "pip install yfinance numpy scipy pandas statsmodels pandas-datareader requests beautifulsoup4" label: "Install Python dependencies" ``` The same unsafe installation instruction is repeated in the Quick Start section: ```bash # Install deps pip install yfinance numpy scipy pandas statsmodels pandas-datareader requests beautifulsoup4 ``` ### Technical Analysis The Skill installs eight Python packages without exact version constraints or cryptographic integrity hashes. Consequently, `pip` resolves the latest versions satisfying each package's metadata, along with mutable transitive dependencies, from the configured package index at installation time. Python package installation can execute package build backends and installation-related code. If a named package, one of its transitive dependencies, the configured package index, or an upstream release is compromised, installation may execute attacker-controlled code with the privileges of the user running the Skill installer. Even without a malicious compromise, unreviewed package updates can introduce incompatible behavior or silently change financial calculations. The reviewed artifact does not include a lockfile, hash-locked requirements file, or vendored dependency set that would make installation reproducible and integrity-verifiable. ### Attack Path 1. An attacker compromises an upstream package, a transitive dependency, or the package distribution channel used by `pip`. 2. The attacker publishes a malicious release that remains eligible because the Skill specifies no version ...[truncated 995 chars]
Remediation
## Remediation Suggestions 1. Move all dependencies into a reviewed requirements or lock file and pin every direct and transitive dependency to an exact version. 2. Record cryptographic hashes for every permitted distribution and install with hash verification, for example: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 3. Generate and review the lock file using a reproducible dependency-management workflow such as `pip-tools`, Poetry, or an equivalent controlled process. 4. Install dependencies in a dedicated virtual environment or container under a non-privileged account; do not recommend system-wide or root-level installation. 5. Prefer pre-reviewed binary wheels where appropriate and restrict unexpected source builds. 6. Use an approved package index or internal mirror and continuously scan locked dependencies for known vulnerabilities and compromised releases. 7. Update both the installation metadata and Quick Start documentation so they reference the same integrity-locked installation process.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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 (3)

External Transmission

Medium
Category
Data Exfiltration
Content
### REST API (54 endpoints)
```
GET https://data.quantclaw.org/api/v1/prices?ticker=AAPL
GET https://data.quantclaw.org/api/v1/technicals?ticker=TSLA
GET https://data.quantclaw.org/api/v1/monte-carlo?ticker=SPY
```
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### REST API (54 endpoints)
```
GET https://data.quantclaw.org/api/v1/prices?ticker=AAPL
GET https://data.quantclaw.org/api/v1/technicals?ticker=TSLA
GET https://data.quantclaw.org/api/v1/monte-carlo?ticker=SPY
```
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### REST API (54 endpoints)
```
GET https://data.quantclaw.org/api/v1/prices?ticker=AAPL
GET https://data.quantclaw.org/api/v1/technicals?ticker=TSLA
GET https://data.quantclaw.org/api/v1/monte-carlo?ticker=SPY
```
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.