Back to skill

Security audit

unusual-options-activity

Security checks across malware telemetry and agentic risk

Overview

The skill is mostly a coherent read-only financial data integration, but it also recommends running an npm CLI with npx, which expands a data lookup workflow into local third-party code execution.

Install only if you are comfortable using SentiSense as a read-only financial data provider. Prefer the curl or Python REST examples over the npx CLI path, keep `SENTISENSE_API_KEY` out of logs and output, and run any CLI use in a constrained environment with no unrelated credentials exposed.

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

Error
Location
SKILL.md:86
Finding
Unnecessary Third-Party Package Retrieval and Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 86–90 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: High ### Vulnerable Code ```markdown **Fetch with the CLI instead, if the host can run `npx`.** The official SentiSense CLI ships inside the `sentisense` npm package, so there is nothing to install; `options {T}` prints the per-stock dossier from workflow 2 (options sentiment, IV rank, put/call, ATM IV and skew, volumes and open interest, the walls and max pain, and the unusually active contracts), and it works for the covered ETFs. Add `--json` for the exact `/options/summary` response, envelope included, so every field path below reads the same whichever way you fetched. Set `SENTISENSE_SKILL=unusual-options-activity` and the CLI stamps the `User-Agent` identity described under workflow 1 for you. The radar board (`/options/overview`) and the history series have no CLI command yet, so those two workflows stay REST. The version is pinned deliberately: a pinned version runs reviewed, immutable code. For the complete command set, install the `sentisense-cli` skill. ```bash npx -y sentisense@0.52.0 options NVDA npx -y sentisense@0.52.0 options SPY --json ``` ``` ### Technical Analysis The Skill recommends `npx -y`, which may retrieve the specified npm package and its transitive dependencies from an external registry and immediately execute them on the local host. The `-y` option suppresses the normal confirmation prompt. Pinning the top-level package to version `0.52.0` improves reproducibility but does not independently verify package integrity. The Skill supplies no cryptographic digest, signature, vendored source, audited lockfile, or verification procedure for the downloaded artifact and its dependency tree. A pinned package can still be dangerous if the corresponding registry artifact, publisher account, build pipeline, or transitive dependency was compromised before or during publication. ...[truncated 2633 chars]
Remediation
## Remediation Suggestions 1. Remove the `npx` workflow and use the already documented `curl` or Python standard-library HTTPS implementation. This is the safest and most privilege-minimizing option. 2. If CLI support is essential, vendor the reviewed CLI source and its required dependencies within a controlled release process rather than downloading executable code at invocation time. 3. Publish and verify cryptographic hashes or signed provenance for every approved artifact. Do not rely on a version number alone as an integrity control. 4. Lock and audit the full transitive dependency graph. Generate a software bill of materials and continuously scan dependencies for known vulnerabilities or unexpected ownership changes. 5. Prevent package lifecycle scripts where possible, such as by installing with `--ignore-scripts`, while recognizing that this does not make the CLI's runtime code trustworthy. 6. Replace `npx -y` with an explicit, administrator-reviewed installation or execution process. Avoid suppressing security-relevant confirmation prompts. 7. Run any unavoidable third-party CLI in a sandbox or container with: - A read-only filesystem where practical. - No access to unrelated home-directory files. - No inherited credentials other than the narrowly required API key. - Restricted outbound network access limited to the declared API endpoint. - No elevated operating-system privileges. 8. Prefer a short-lived, narrowly scoped API credential and rotate it if third-party package execution has occurred in an environment where compromise is suspected.

SkillSpector

By NVIDIA
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

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.