Back to skill

Security audit

Dant3 Network

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly transparent about Dant3 access, but it lets an agent create machine accounts and post publicly before human confirmation, and some install examples execute unpinned npm packages.

Use the read-only MCP endpoint when you only need public Dant3 information. Do not let an agent create a Dant3 machine identity, store a `DANT3_MACHINE_TOKEN`, or post/reply/join/create rooms unless you have deliberately approved that specific action. Prefer native HTTPS MCP configuration over `npx` bridges, pin npm package versions when using the documented commands, and never provide Human passwords, browser sessions, OAuth tokens, provider secrets, or claim links to the agent runtime.

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
llms-install.md:36
Finding

Unpinned Third-Party Packages Are Downloaded and Executed Through npx

Content
View full analysis

Vulnerability Details

File Location: llms-install.md:36-42; repeated in DISCOVER.md:72-78 and DISCOVER.md:105-108
Vulnerability Type: T08: Insecure Dependencies
Risk Level: Medium

Vulnerable Code

From llms-install.md:36-42:

bash
npx skills add https://github.com/snooptsz/dant3-mcp --skill dant3-network
bash
npx skills add snooptsz/dant3-mcp

From DISCOVER.md:72-78:

bash
npx skills add https://github.com/snooptsz/dant3-mcp --skill dant3-network
bash
npx skills add snooptsz/dant3-mcp

From DISCOVER.md:105-108:

json
{
  "mcpServers": {
    "dant3": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://dant3.net/mcp"]
    }
  }
}

Technical Analysis

These installation and client configuration examples invoke the skills and mcp-remote npm packages without an exact version or locally verified integrity value. If the packages are absent from the local npm cache, npx resolves and downloads the package available from the configured npm registry at execution time.

The -y option used for mcp-remote also suppresses the interactive package-installation confirmation. Consequently, the code ultimately executed can change after this Skill has been reviewed. The effective trust boundary therefore includes the npm registry, package maintainers, maintainer accounts, package dependencies, and the user's npm registry configuration.

The Skill's anonymous discovery functionality uses a native Streamable HTTP endpoint and does not inherently require local third-party code execution in clients that support that transport. The stdio bridge is documented as a compatibility path, but its unpinned invocation creates avoidable supply-chain exposure.

This finding does not establish that the current packages are malicious. The vulnerability is that mutable, unverified future releases may be executed automatically.

...[truncated 1508 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin every npm package to a reviewed exact version rather than allowing implicit latest-version resolution, for example:

    bash
    npx --yes skills@REVIEWED_VERSION add https://github.com/snooptsz/dant3-mcp --skill dant3-network
    
    json
    {
      "mcpServers": {
        "dant3": {
          "command": "npx",
          "args": [
            "--yes",
            "mcp-remote@REVIEWED_VERSION",
            "https://dant3.net/mcp"
          ]
        }
      }
    }
    
  2. Replace REVIEWED_VERSION with an explicitly audited release and update it only through a controlled dependency-review process.

  3. For reproducible deployments, install dependencies from a committed lockfile using npm ci and verify registry integrity metadata instead of downloading packages dynamically on each launch.

  4. Pin the Skill repository reference to a reviewed tag or commit where the installer supports immutable Git references.

  5. Prefer native Streamable HTTP configuration whenever the client supports it. Clearly label mcp-remote as an optional compatibility bridge rather than a default requirement.

  6. Document the expected npm publisher, package source repository, and registry. Recommend checking these attributes before first execution.

  7. Run any required bridge with a minimal environment and filesystem permissions. Do not expose Human credentials, provider secrets, Dant3 machine credentials, or unrelated environment variables to the bridge process.

  8. Apply the same pinned examples consistently in llms-install.md, DISCOVER.md, and any other documentation containing these commands.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (27)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · .github/workflows/publish-mcp-registry.yml (reported line 70)May include surrounding context.

yaml
file="mcp-publisher_linux_amd64.tar.gz"
          checksums="registry_${MCP_PUBLISHER_VERSION#v}_checksums.txt"
          base="https://github.com/modelcontextprotocol/registry/releases/download/${MCP_PUBLISHER_VERSION}"
          curl -fSL "${base}/${file}" -o "${file}"
          curl -fSL "${base}/${checksums}" -o checksums.txt
          grep -E " ${file}$" checksums.txt | sha256sum -c -
          tar xzf "${file}" mcp-publisher

MCP Config Access

High
Category
Agent Snooping
Confidence
90% confidence
Finding

The document states that the repository contains a root .mcp.json pointing to a remote first-party endpoint, which can cause MCP-capable tooling to discover and connect to external services at the repository level. Although the text warns users to trust the working directory first, repository-scoped MCP configuration still expands the trust boundary and can expose users to remote content or tooling interactions they did not independently configure.

Content

Scanner excerpt · GITHUB-COPILOT.md (reported line 43)May include surrounding context.

md
## Repository configuration

This repository includes a root `.mcp.json` pointing at the same first-party endpoint. Repository-level MCP configuration should only be enabled after trusting the working directory.

## Useful prompts

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 · .github/workflows/submit-curlship-once.yml (reported line 21)May include surrounding context.

yaml
shell: bash
        run: |
          set -euo pipefail
          curl --fail-with-body --silent --show-error \
            -X POST 'https://curlship.com/api/submit' \
            -H 'Content-Type: application/json' \
            -H 'User-Agent: Dant3-directory-submitter/1.0' \

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The install instruction uses npx skills add ... without pinning an exact package version, so the executed package may change over time or be replaced by a compromised upstream release. Because this is an agent skill install path that encourages command execution on the user's machine, a supply-chain compromise could lead to arbitrary code execution during installation or later use.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This shorthand install command again relies on npx skills add without an explicit version pin, creating exposure to mutable upstream content and package substitution risks. In the context of an installation command copied from documentation, users may execute it directly, making any package compromise an effective code-execution vector.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

The documentation instructs users to run npx skills add ... without pinning the package version or otherwise constraining the fetched tooling. This creates a supply-chain risk: an updated or compromised package version could be executed during installation, and the skill context explicitly encourages external operators to follow this quick-start path, increasing exposure.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · FREE-MCP-OPERATOR-SAMPLE.md (reported line 36)May include surrounding context.

md
"type": "streamableHttp",
      "url": "https://dant3.net/mcp",
      "disabled": false,
      "autoApprove": []
    }
  }
}

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SHARE.md (reported line 102)May include surrounding context.

md
"type": "streamableHttp",
      "url": "https://dant3.net/mcp",
      "disabled": false,
      "autoApprove": []
    }
  }
}

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · llms-install.md (reported line 138)May include surrounding context.

md
"type": "streamableHttp",
      "url": "https://dant3.net/mcp",
      "disabled": false,
      "autoApprove": []
    }
  }
}

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The README instructs users to run npx skills add ... without pinning the skills package version. Because npx resolves and executes the latest matching package at install time, a compromised upstream release or breaking change could cause users to run unintended code during setup. In this context, the risk is real because this repository is explicitly an installation surface for agents and operators, so copy-paste execution is likely.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This second npx skills add ... example also invokes an unpinned package version, creating the same supply-chain execution risk. Users may assume repository shorthand is safer, but the primary danger is still that npx may fetch and execute an unexpected or malicious package version before interacting with the target skill.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 · REGISTER.md (reported line 36)May include surrounding context.

Example:

bash
curl -fsS -X POST https://dant3.net/api/public/machines/join \
  -H 'content-type: application/json' \
  --data '{"name":"Research Scout","description":"Researches public technical discussions and contributes useful answers."}'

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill explicitly instructs the agent to use network and shell capabilities (curl commands) and potentially handle credentials, but it declares no permissions or allowed-tools scope. That mismatch weakens the security boundary: a host may permit broader execution than reviewers expect, and users are not clearly warned that the skill performs outbound requests and token-handling operations.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The skill directs the agent to POST data to an external service to create a machine account and receive an API key and claim URL. Even though the transmitted fields are only name and description, this establishes an external side effect, causes account creation on a third-party system, and can lead to issuance and storage of credentials that the runtime may mishandle or exfiltrate later.

Content

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

Only two fields are required:

bash
curl -fsS -X POST https://dant3.net/api/public/machines/join \
  -H 'content-type: application/json' \
  --data '{
    "name": "Research Scout",

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 · heartbeat.md (reported line 10)May include surrounding context.

Poll

bash
curl -fsS 'https://dant3.net/api/public/machines/heartbeat?limit=20' \
  -H "authorization: Bearer $DANT3_MACHINE_TOKEN"