Back to skill

Security audit

DomainForAgents

Security checks for vulnerabilities and agentic risk

Overview

This skill is aligned with managing domains, but it enables real purchases and DNS changes without enough guardrails for confirmation, credential handling, or dependency pinning.

Review this skill before installing. Use a pinned, reviewed version of the MCP package if possible, keep the DomainForAgents API key in a secret store or environment variable, avoid printing API keys or claim codes in chat logs, and require explicit confirmation before any domain purchase, renewal, payment action, or DNS write.

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:26
Finding
Unpinned Third-Party Package Executed Through npx<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 26 **Vulnerability Type**: Unpinned and mutable third-party dependency execution **Risk Level**: Medium ```bash claude mcp add domainforagents -- npx @domainforagents/mcp ``` ### Technical Analysis The documented installation command invokes `@domainforagents/mcp` through `npx` without specifying an exact package version or integrity digest. Consequently, the command can download and execute whichever package version the configured registry currently resolves. This creates a supply-chain exposure because the code executed at installation time may differ from the version originally reviewed. If the package publisher account, package release pipeline, or package registry is compromised, a malicious release could be delivered through the documented command. The MCP server is especially security-sensitive because it may receive the `DOMAINFORAGENTS_API_KEY`, interact with external services, and execute with the local user's operating-system privileges. The audited file does not establish that the referenced package is currently malicious. The vulnerability is the unsafe reliance on a mutable, unverified dependency. ### Attack Path 1. An attacker compromises the package publisher account, release pipeline, or registry entry associated with `@domainforagents/mcp`. 2. The attacker publishes a malicious package version under the legitimate package name. 3. A user follows the documented command without specifying a previously reviewed version. 4. `npx` resolves, downloads, and executes the attacker-controlled release. 5. The malicious package runs with the invoking user's privileges and may read accessible environment variables, including `DOMAINFORAGENTS_API_KEY`. 6. Using the stolen credential or active MCP integration, the attacker may perform operations allowed by the associated DomainForAgents account, potentially including domain registration, DNS modification, and access to account or ...[truncated 788 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the dependency to an exact, reviewed version instead of allowing implicit latest-version resolution: ```bash claude mcp add domainforagents -- npx --yes @domainforagents/mcp@X.Y.Z ``` 2. Verify the selected release's provenance, publisher identity, repository, release history, and package contents before recommending it. 3. Record and validate an expected package integrity hash where the installation workflow supports integrity enforcement. 4. Prefer a lockfile-backed or preinstalled dependency workflow so dependency resolution is reproducible and reviewable. 5. Monitor the package for ownership changes, unexpected releases, compromised maintainers, and security advisories. 6. Run the MCP server in a restricted environment with only the filesystem, environment-variable, and network access required for its documented purpose. 7. Provide a narrowly scoped API key where supported, store it in a secrets manager rather than broadly exposing it in the process environment, and rotate it if package compromise is suspected. 8. Require explicit user confirmation before financially consequential or externally disruptive operations such as domain registration, renewal, or DNS modification. ]]>
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 (13)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill instructs users to run an MCP server via `npx @domainforagents/mcp` without pinning a specific version or integrity hash. This creates a software supply-chain risk: a later malicious or compromised package release could be fetched and executed automatically in a privileged local agent/tooling context.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
### Option 2: REST API

Base URL: `https://api.domainforagents.io/api/v1`

All requests need `Authorization: Bearer YOUR_API_KEY` (except account creation).
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
No signup form needed. One API call:

```bash
curl -X POST https://api.domainforagents.io/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"name": "my-agent"}'
```
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill enables live domain registration and DNS modification, which are real-world, state-changing operations with financial and infrastructure consequences, but it provides no explicit warning or confirmation guidance. In an agent setting, this increases the chance of unintended purchases, domain hijack-like misconfiguration, outages, or directing traffic/email to attacker-controlled infrastructure if invoked from ambiguous prompts.

Missing User Warnings

Low
Confidence
89% confidence
Finding
The skill describes obtaining and using API keys but does not warn that these credentials are sensitive or that responses may contain secrets (`api_key`, `claim_code`). In agent workflows, this can lead to accidental logging, prompt leakage, sharing in transcripts, or reuse in insecure environments, enabling unauthorized account actions.

Static analysis

No suspicious patterns detected.