Back to skill

Security audit

stock screener

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward stock and crypto screener helper that calls a disclosed Intellectia API and does not show hidden access, persistence, or credential handling.

Install this only if you are comfortable sending screener query choices to Intellectia's API. Prefer an isolated Python environment and pin or review the requests dependency if your environment has stricter supply-chain requirements.

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

Unpinned Third-Party Python Dependency

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 4 and 65
Vulnerability Type: Unpinned package installation from a mutable third-party registry
Risk Level: Medium

Vulnerable Code

SKILL.md:4:

yaml
metadata: {"openclaw":{"requires":{"bins":["curl","python3"]},"install":[{"id":"python","kind":"pip","package":"requests","bins":[],"label":"Install requests (pip)"}]}}

SKILL.md:65:

markdown
| `requests` | HTTP client library | `pip install requests` |

Technical Analysis

The skill declares and recommends installation of the requests package without an exact version constraint or package integrity hash. As a result, the installed artifact is selected from mutable package-index state at installation time rather than from a reproducible, previously reviewed dependency set.

Python package installation can execute package build or installation logic. If the upstream package, its account, the package registry, the dependency-resolution path, or a transitive dependency were compromised, skill installation could introduce attacker-controlled code into the agent environment. An unexpected upstream release could also cause compatibility or behavioral changes even without malicious compromise.

The package name shown is the legitimate requests name rather than an evident typosquat. The risk arises from unpinned and unverified dependency resolution; the audited file does not itself demonstrate that the current upstream package is malicious.

Attack Path

  1. An operator installs or enables the skill.
  2. The skill installer processes the pip dependency declaration for the unconstrained package name requests, or the operator follows the documented pip install requests command.
  3. pip resolves the package and applicable transitive dependencies using the package index's current mutable state.
  4. If a resolved distribution or its supply-chain path has been compromised, pip downloa ...[truncated 871 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin requests to an exact, reviewed version in the skill metadata, such as requests==X.Y.Z.
  2. Use a lock file or requirements file containing cryptographic hashes and install with pip's --require-hashes option.
  3. Pin and hash all transitive dependencies, not only the direct dependency.
  4. Retrieve packages only from an explicitly configured, trusted package index or an internally controlled artifact repository.
  5. Install dependencies inside an isolated virtual environment under a non-privileged account.
  6. Add automated dependency vulnerability and provenance checks to the release process.
  7. Keep the documentation consistent with the secured installation method; replace pip install requests with the pinned, hash-verified command.
  8. If practical, avoid the additional runtime dependency by using a suitable preinstalled client or Python's standard-library HTTP functionality.
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 (1)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 201)May include surrounding context.

cURL

bash
curl -sS "https://api.intellectia.ai/gateway/v1/stock/screener-list?symbol_type=0&period_type=0&trend_type=0&profit_asc=false&market_cap=0&price=0&page=1&size=20"

Python (requests)

Static analysis

No suspicious patterns detected.