Back to skill

Security audit

QVerisAI

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it claims, but it can be auto-used to send user requests and parameters to a broad external tool-execution service with limited scoping and disclosure.

Review this skill before installing if you do not want automatic requests sent to QVeris. Use a scoped, revocable QVeris key, avoid passing secrets or sensitive personal/regulated data as tool parameters, prefer the ClawdHub or manual reviewed install path over unpinned npx, and require manual review of discovered tools where your agent supports it.

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
README.md:33
Finding

Unpinned NPX Installer Executes Mutable Third-Party Code

Content
View full analysis

Vulnerability Details

File Location: README.md, lines 33-36
Vulnerability Type: Unpinned third-party installer and mutable skill source
Risk Level: Medium

Complete Code Snippet:

bash
**Option 2: Install via NPX (For other coding agents)**
```bash
npx skills add hqman/qveris
text

### Technical Analysis

The documented installation command invokes the `skills` package through `npx` without specifying an exact package version or integrity hash. If the package is not already installed locally, `npx` may retrieve and execute its current published version. Consequently, the code executed during installation can differ from the code that was reviewed.

The `hqman/qveris` skill reference is also not pinned to an immutable release or commit hash. This creates a second mutable supply-chain boundary: even if the installer remains trustworthy, it may retrieve a later or compromised revision of the referenced skill.

This behavior is not required by the core runtime functionality. The audited runtime script uses only Node.js built-in APIs and can be installed manually. The unpinned NPX method therefore introduces additional installation-time privileges and supply-chain exposure beyond the minimum needed to run the skill.

### Attack Path

1. An attacker compromises the npm account, publication process, or repository associated with the `skills` package, or causes a malicious version to be resolved.
2. Alternatively, the attacker compromises or maliciously modifies the mutable `hqman/qveris` source referenced by the command.
3. A user follows the installation instructions and runs `npx skills add hqman/qveris`.
4. `npx` retrieves the currently resolved installer package, which can execute code under the user's account.
5. The installer retrieves or installs the mutable skill source.
6. Malicious installer or skill code can then act with the permissions available to the invoking process.

### Impact Asses
...[truncated 778 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the NPX package to a reviewed exact version, for example by using an explicit version rather than the latest resolved release.
  2. Pin the skill source to an immutable commit hash or cryptographically verified release instead of the mutable hqman/qveris reference.
  3. Publish and verify integrity information, such as expected package hashes, signed release artifacts, or npm provenance.
  4. Document the expected npm publisher, source repository, exact reviewed version, and verification procedure.
  5. Use npx options that prevent unexpected interactive package installation where supported, and fail closed if the pinned package is unavailable.
  6. Prefer the documented manual installation of reviewed local artifacts for security-sensitive environments.
  7. Advise users not to run the installer with elevated privileges and to use an isolated environment containing no unrelated credentials.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

Auto-invocation is enabled while the skill advertises extremely broad coverage across thousands of external APIs and many common user intents, making it likely to trigger on ordinary requests without deliberate user choice. Because the skill can search for and execute dynamic third-party tools using a credential, mistaken invocation could send user data to external services or perform unintended actions with limited transparency.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
node scripts/qveris_tool.mjs search "weather forecast API"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
node scripts/qveris_tool.mjs search "weather forecast API"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
node scripts/qveris_tool.mjs search "weather forecast API"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
node scripts/qveris_tool.mjs search "weather forecast API"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
node scripts/qveris_tool.mjs search "weather forecast API"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README explicitly promotes dynamic discovery and execution of external APIs and says OpenClaw will automatically use the skill, but it does not warn users that prompts, parameters, and possibly sensitive data may be transmitted to third-party services. In a skill whose core purpose is searching and invoking thousands of external tools, omission of data-handling and side-effect warnings increases the chance of unintentional data exfiltration, privacy issues, and unintended actions against external systems.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill has access to both network and an API credential but does not declare any explicit permission or allowed-tool scope, so there is no enforceable boundary limiting what operations the skill may perform. In this case the risk is amplified by the skill’s purpose of dynamically discovering and executing external tools, which can broaden outbound data flows and make review of effective capabilities difficult.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code performs a network POST to the QVeris execution endpoint and includes user-provided parameters plus search_id in the request body. Although the CLI purpose mentions execution via API, there is no explicit runtime disclosure or confirmation that these inputs will be transmitted to a third-party service.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.