Back to skill

Security audit

analyst-ratings-tracker

Security checks across malware telemetry and agentic risk

Overview

The skill is a coherent read-only analyst-data guide, but it should be reviewed because it recommends running an npm CLI and an API-key auth command that broaden local execution and credential exposure.

Install only if you are comfortable using a SentiSense API key with this skill. Prefer the documented REST/curl path or a separately reviewed CLI installation over `npx -y`; avoid putting the API key on a command line, keep it in the environment or a protected secret store, and rotate the key if it may have appeared in logs or process telemetry.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:51
Finding
Third-Party npm Package Is Downloaded and Executed at Runtime## Vulnerability Details **File Location**: `SKILL.md`, lines 51 and 69-73 **Vulnerability Type**: Unsafe third-party dependency execution **Risk Level**: Medium ### Vulnerable Code ```markdown - Any HTTP client, or no install at all via the official CLI (`npx -y sentisense@0.52.0`). Plain `curl` works, or Python 3.8+ using only the standard library. ``` ```bash npx -y sentisense@0.52.0 analysts NVDA --coverage npx -y sentisense@0.52.0 analysts NVDA --days 30 npx -y sentisense@0.52.0 analyst quinn-bolton --calls npx -y sentisense@0.52.0 search Tesla --type company npx -y sentisense@0.52.0 analysts NVDA --coverage --json ``` ### Technical Analysis The Skill repeatedly recommends `npx -y`, which can retrieve and immediately execute an npm package without an interactive installation or review step. Pinning the package to version `0.52.0` improves reproducibility, but it does not independently authenticate the artifact, verify its integrity, or protect against compromise of the package, its transitive dependencies, the publisher account, or the package registry. The `-y` option suppresses confirmation. Consequently, following the Skill can cross from read-only HTTPS data retrieval into local third-party code execution. This exceeds the minimum privilege needed for the declared functionality because the document also states that all supported operations can be performed through read-only REST requests using `curl` or Python's standard library. The audit did not establish that the named npm package is malicious. The vulnerability is the unsafe execution model and resulting supply-chain exposure. ### Attack Path 1. An attacker compromises the npm publisher, package artifact, registry delivery path, or a dependency resolved by the package. 2. The user or Agent follows the Skill and runs an documented `npx -y sentisense@0.52.0` command. 3. npm retrieves the package and any required dependencies from the external regist ...[truncated 886 chars]
Remediation
## Remediation Suggestions 1. Make direct HTTPS requests with `curl` or a standard-library client the default and recommended execution path. 2. Do not automatically invoke `npx -y` from an Agent workflow. 3. If the CLI remains supported, require an explicit, separately reviewed installation step rather than download-and-execute behavior. 4. Verify the package publisher, package provenance, cryptographic integrity, and complete transitive dependency tree. 5. Use a lockfile with integrity hashes in a controlled project environment. 6. Disable npm lifecycle scripts where practical, for example by using an installation policy equivalent to `--ignore-scripts`, after confirming that the package does not legitimately require them. 7. Run the CLI in a sandbox with restricted filesystem access, a minimal environment, and network access limited to the documented SentiSense host. 8. Pass only the required API credential into the sandbox and remove unrelated secrets from its environment.

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:76
Finding
SentiSense API Key Is Passed Through a Command-Line Argument## Vulnerability Details **File Location**: `SKILL.md`, line 76 **Vulnerability Type**: Credential exposure through process arguments **Risk Level**: Medium ### Vulnerable Code ```markdown Auth: `SENTISENSE_API_KEY` in the environment, or store it once with `npx -y sentisense@0.52.0 auth "$SENTISENSE_API_KEY"` (saved to `~/.config/sentisense/`, file mode 600, local to your machine, removable with `auth --remove`). ``` ### Technical Analysis The shell expands `"$SENTISENSE_API_KEY"` before starting the command, placing the credential in the command's argument vector. Depending on the operating system and execution environment, process arguments may be visible through process inspection, endpoint monitoring, shell auditing, terminal recording, CI telemetry, debugging tools, or command-execution logs. Saving the resulting configuration file with mode `600` appropriately restricts ordinary file access, but it does not protect the credential while it is present in the command line. This exposure is unnecessary because the CLI is already documented as capable of reading `SENTISENSE_API_KEY` from the environment. ### Attack Path 1. A user exports a valid `SENTISENSE_API_KEY`. 2. The user follows the documented authentication command. 3. The shell expands the environment variable into the command's argument vector. 4. A local process monitor, audit subsystem, telemetry collector, terminal recorder, or other principal with sufficient visibility records or reads the arguments. 5. The observer extracts the API key and reuses it against the SentiSense API. 6. Unauthorized requests consume the victim's quota and access data available to the credential. ### Impact Assessment Exposure would compromise the SentiSense API credential. Based on the reviewed documentation, the key provides access to a read-only financial intelligence API and cannot place trades, move funds, access wallets, or modify account state through the documented ...[truncated 360 chars]
Remediation
## Remediation Suggestions 1. Remove the documented form `auth "$SENTISENSE_API_KEY"`. 2. Have the CLI read the credential directly from `SENTISENSE_API_KEY` without copying it into the argument vector. 3. Alternatively, accept the credential through standard input using a non-echoing prompt. 4. Ensure the CLI never prints the key and redacts it from errors, diagnostics, and telemetry. 5. Continue storing persistent credentials in a user-only file with mode `600`, but document the file location and removal procedure clearly. 6. Avoid running authentication commands in recorded terminals, verbose CI jobs, or environments that collect process arguments. 7. Advise users to rotate the API key if command-line exposure or logging 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

63/63 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.