Back to skill

Security audit

Hackathon

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed testnet blockchain security API wrapper, with expected external lookups and payment flow, but users should understand what wallet and transaction data they send.

Before installing, confirm you are comfortable sending wallet addresses, token addresses, and transaction calldata to the Aegis402 service. Use a constrained testnet wallet, set payment limits, and prefer pinned dependency versions or a reviewed lockfile for any real integration.

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 Packages Create a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 26–28 **Vulnerability Type**: Unpinned third-party dependencies **Risk Level**: Medium ### Vulnerable Code ```bash npm install @x402/fetch @x402/evm ``` ### Technical Analysis The installation instructions do not specify exact versions of `@x402/fetch` or `@x402/evm`. No lockfile or package integrity hashes are included in the audited project. Consequently, following these instructions resolves whichever package versions and transitive dependencies the configured npm registry currently serves rather than a version reviewed with this Skill. This is particularly sensitive because these packages are subsequently imported to wrap network requests and authorize x402 payments using an EVM wallet. A compromised, malicious, or unexpectedly changed package release could execute code through npm lifecycle scripts during installation or through imported package logic at runtime. The reviewed content does not establish that either named package is currently malicious. The vulnerability is the mutable and insufficiently verified dependency installation process. ### Attack Path 1. An attacker compromises the publisher account, registry distribution channel, or a transitive dependency associated with one of the named packages. 2. The attacker publishes a malicious package version that satisfies the unbounded installation command. 3. A user or agent follows the Skill instructions and runs `npm install @x402/fetch @x402/evm`. 4. npm resolves and installs the attacker-controlled release because no reviewed version, lockfile, or integrity constraint is enforced. 5. Malicious code executes through an installation lifecycle script or when the package is imported. 6. The code operates with the privileges of the user running npm or the agent process and may interfere with wallet-backed payment operations, network requests, or locally accessible data. ### Impact Assessment Successful exploitation could ...[truncated 879 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin each direct dependency to a reviewed exact version rather than relying on the latest registry release: ```bash npm install --save-exact @x402/fetch@&lt;reviewed-version&gt; @x402/evm@&lt;reviewed-version&gt; ``` 2. Commit a generated `package-lock.json` and instruct users to install reproducibly with `npm ci`. 3. Verify lockfile integrity entries and review all transitive dependencies before release. 4. Audit dependency lifecycle scripts and consider installing with `--ignore-scripts` when lifecycle execution is unnecessary. 5. Use automated dependency scanning and controlled update workflows. Review package ownership, release provenance, and code changes before changing pinned versions. 6. Run wallet and payment functionality in an isolated, least-privileged process with strict transaction limits, network allowlisting, and explicit payment authorization. 7. Document the expected npm registry and reject unexpected registry overrides or similarly named packages. ]]>
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 (2)

External Transmission

Medium
Category
Data Exfiltration
Content
Scan any token for honeypots, scams, and risks.

```bash
curl "https://hackathon.aegis402.xyz/v1/check-token/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48?chain_id=1"
```

**Response:**
Confidence
84% confidence
Finding
This example directs the agent to make an external request to a third-party service, which is a real data egress path. While the shown example uses a public token address rather than secret data, in practice the skill normalizes sending addresses and security-relevant queries off-platform without an explicit disclosure boundary, so it is a genuine but lower-severity transmission concern.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill instructs agents to submit transaction details (`from`, `to`, `value`, `data`) to a third-party API for simulation, but it does not clearly warn that this discloses potentially sensitive wallet activity and intent to an external service. In an agent context, this can leak user financial behavior, counterparty details, and contract interaction data, especially if the agent forwards real pre-signing payloads automatically.

Static analysis

No suspicious patterns detected.