Back to skill

Security audit

Moltalyzer

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed API reference for Moltalyzer, with expected external calls and paid endpoints, but users should control payments and note the unpinned npm install.

Install only if you are comfortable with agents calling Moltalyzer's external API and, when configured with x402 payment tooling, potentially paying per call. Prefer requiring explicit approval before paid endpoints and consider skipping or pinning `node-fetch` if your Node runtime already has built-in fetch.

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

Unpinned npm Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 12–17
Vulnerability Type: Unpinned third-party dependency
Risk Level: Medium

Vulnerable Code

yaml
requires:
  bins: ["node"]
install:
  - id: npm
    kind: command
    command: "npm install node-fetch"
    bins: ["node"]
    label: "Install fetch (if needed)"

Technical Analysis

The installation command requests node-fetch without specifying an exact version or supplying a lockfile or other integrity constraint. npm therefore resolves a mutable package version and dependency graph at installation time. The code installed in the future may differ from the code that existed when this Skill was reviewed.

This creates a supply-chain exposure: compromise of the package, one of its transitive dependencies, its publishing credentials, or the package registry could cause users to install altered code. Any applicable npm lifecycle scripts may execute during installation, while imported dependency code executes later with the privileges of the process using the Skill.

The audit found no evidence that node-fetch is currently malicious. The vulnerability is the absence of reproducible and integrity-verified dependency resolution.

Attack Path

  1. An attacker compromises the npm publishing path for node-fetch or a dependency resolved by the installation.
  2. The attacker publishes a malicious or backdoored package version that satisfies the unconstrained request.
  3. A user installs the Skill and the configured command runs npm install node-fetch.
  4. npm resolves and downloads the attacker-controlled release because no exact version or lockfile constrains resolution.
  5. Malicious behavior executes through a lifecycle script, if present and applicable, or when the dependency is subsequently loaded.
  6. The payload operates with the permissions and environmental access of the installing or executing user.

Impact Assessment

Successful exploitation could execute arbitrary ...[truncated 559 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove node-fetch when the supported Node.js version provides the built-in standards-compatible fetch API.
  2. If the package remains necessary, pin an audited exact version rather than using an unconstrained package name.
  3. Commit a generated lockfile containing dependency versions and integrity hashes.
  4. Replace ad hoc installation with npm ci, ensuring installation follows the committed lockfile without silently updating dependency versions.
  5. Review direct and transitive dependencies before release and use automated vulnerability and package-provenance checks.
  6. In controlled deployment environments, consider disabling lifecycle scripts with --ignore-scripts when package functionality permits it.
  7. Document the minimum supported Node.js version and dependency rationale so users can determine whether the external package is required.
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 (12)

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 33)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 125)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/api-reference.md (reported line 60)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/api-reference.md (reported line 61)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/api-reference.md (reported line 62)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/api-reference.md (reported line 63)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/api-reference.md (reported line 64)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/api-reference.md (reported line 65)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/response-formats.md (reported line 14)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/response-formats.md (reported line 50)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/response-formats.md (reported line 89)May include surrounding context.

json
{
  "success": true,
  "_meta": { "apiVersion": "5.0.0", "changelog": "https://api.moltalyzer.xyz/api/changelog" },
  "data": {
    "id": "string",
    "hourStart": "ISO 8601",

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 · references/response-formats.md (reported line 68)May include surrounding context.

json
{
  "deprecated": true,
  "movedTo": "https://api.orcatrace.dev/v1/signals",
  "sunset": "2026-09-08",
  "note": "Polymarket intelligence moved to OrcaTrace (orcatrace.dev). This redirect is guaranteed until 2026-09-08."
}

Static analysis

No suspicious patterns detected.