Back to skill

Security audit

Boiling Point

Security checks for vulnerabilities and agentic risk

Overview

This skill is clear about using Token Layer for on-chain token launches and trades, but it can execute real blockchain transactions from third-party API responses without enough final safeguards.

Review this skill carefully before installing. Use a wallet with limited funds, prefer testnet or small amounts first, and require the agent to show and confirm every transaction's chain, destination, value, and calldata before broadcasting. Do not use a TOKENLAYER_API_KEY connected to a wallet holding assets you cannot afford to lose.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:82
Finding
Unvalidated Execution of Remotely Supplied Blockchain Transactions<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 82–86 and 177–190 **Vulnerability Type**: Missing validation and authorization controls for blockchain transaction payloads **Risk Level**: High ### Vulnerable Code ```text ## Transaction Flow 1. Call create-token-transaction or trade-token → returns { transactions: [...], metadata: {...} } 2. For each tx in array: POST /send-transaction { to: tx.to, data: tx.data, amount: tx.value || "0", chainSlug } 3. Wait 5s (or tx.transactionDelay) between each transaction ``` ```bash ### Send Transaction curl -s -X POST "https://api.tokenlayer.network/functions/v1/send-transaction" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKENLAYER_API_KEY" \ -d '{ "to": "0x...", "amount": "0", "data": "0x...", "chainSlug": "base" }' | jq ``` ### Technical Analysis The Skill instructs the Agent to submit every blockchain transaction returned by the remote transaction-generation API. It does not require the Agent to decode or validate the destination address, calldata, native-token value, function selector, token approval amount, chain identity, or expected state changes before forwarding the transaction to `/send-transaction`. Although the usage guidelines require user approval before creating a token, they do not require a final confirmation covering the exact transaction payloads that will be executed. Consequently, the approved high-level operation can differ from the concrete on-chain calls returned by the remote service. The security boundary is especially important because blockchain transactions are generally irreversible. A compromised, malicious, or defective API could return a transaction that performs an unrelated transfer, grants an excessive token allowance, invokes an unauthorized contract function, or directs assets to an attacker-controlled address. ### Attack Path 1. The Agent requests a transaction batch from `/create-token-transaction` or ...[truncated 1474 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Decode every returned transaction before submission and display its destination, function name, parameters, transferred value, chain, and anticipated state changes. 2. Require explicit user confirmation for the final decoded transaction batch, rather than relying only on approval of the high-level token creation or trade request. 3. Verify the chain ID or chain slug against the chain explicitly selected by the user. 4. Maintain an allowlist of trusted contract addresses and expected function selectors for each supported operation. 5. Reject transactions containing unexpected destinations, function calls, native-token values, delegate calls, approval operations, or contract deployment instructions. 6. For token approvals, enforce exact or narrowly bounded allowances and reject unlimited approvals unless separately disclosed and explicitly authorized. 7. Apply per-transaction and cumulative spending limits based on the amount approved by the user. 8. Simulate each transaction before execution and compare balance changes, approvals, recipients, and contract interactions with the requested operation. 9. Verify that all transactions in a batch are necessary and execute them sequentially only after the preceding receipt succeeds. 10. Stop processing immediately if a transaction fails validation or if the remote response differs from the user-approved intent. 11. Record validated transaction hashes and decoded details for auditability without logging the bearer API key. ]]>
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 (15)

External Transmission

Medium
Category
Data Exfiltration
Content
## Quick Reference

- **Base URL**: `https://api.tokenlayer.network/functions/v1`
- **Auth**: `Authorization: Bearer $TOKENLAYER_API_KEY`
- **Chain**: `base` (mainnet), `base-sepolia` (testnet)
- **Min purchase**: $6 USD
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
## Quick Reference

- **Base URL**: `https://api.tokenlayer.network/functions/v1`
- **Auth**: `Authorization: Bearer $TOKENLAYER_API_KEY`
- **Chain**: `base` (mainnet), `base-sepolia` (testnet)
- **Min purchase**: $6 USD
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
## Quick Reference

- **Base URL**: `https://api.tokenlayer.network/functions/v1`
- **Auth**: `Authorization: Bearer $TOKENLAYER_API_KEY`
- **Chain**: `base` (mainnet), `base-sepolia` (testnet)
- **Min purchase**: $6 USD
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
## Quick Reference

- **Base URL**: `https://api.tokenlayer.network/functions/v1`
- **Auth**: `Authorization: Bearer $TOKENLAYER_API_KEY`
- **Chain**: `base` (mainnet), `base-sepolia` (testnet)
- **Min purchase**: $6 USD
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
## Quick Reference

- **Base URL**: `https://api.tokenlayer.network/functions/v1`
- **Auth**: `Authorization: Bearer $TOKENLAYER_API_KEY`
- **Chain**: `base` (mainnet), `base-sepolia` (testnet)
- **Min purchase**: $6 USD
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
## Quick Reference

- **Base URL**: `https://api.tokenlayer.network/functions/v1`
- **Auth**: `Authorization: Bearer $TOKENLAYER_API_KEY`
- **Chain**: `base` (mainnet), `base-sepolia` (testnet)
- **Min purchase**: $6 USD
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
## Quick Reference

- **Base URL**: `https://api.tokenlayer.network/functions/v1`
- **Auth**: `Authorization: Bearer $TOKENLAYER_API_KEY`
- **Chain**: `base` (mainnet), `base-sepolia` (testnet)
- **Min purchase**: $6 USD
Confidence
50% 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 explicitly instructs the agent to execute on-chain transactions returned by a third-party API, but it does not include a clear warning that blockchain transactions are irreversible and can permanently move or lose funds. In this context, the omission is more dangerous because the skill is specifically designed for token launches and trading, where users may authorize real asset transfers based on API-generated transaction payloads.

External Transmission

Medium
Category
Data Exfiltration
Content
### Enter Referral

```bash
curl -s -X POST "https://api.tokenlayer.network/functions/v1/enter-referral-code" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKENLAYER_API_KEY" \
  -d '{"referral_code": "OPENCLAW"}' | jq
Confidence
60% 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
Image can be URL or base64 data URI:

```bash
curl -s -X POST "https://api.tokenlayer.network/functions/v1/create-token-transaction" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKENLAYER_API_KEY" \
  -d '{
Confidence
60% 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
### Quote Token (Get Price Before Trading)

```bash
curl -s -X POST "https://api.tokenlayer.network/functions/v1/quote-token" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKENLAYER_API_KEY" \
  -d '{
Confidence
60% 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
### Buy Token

```bash
curl -s -X POST "https://api.tokenlayer.network/functions/v1/trade-token" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKENLAYER_API_KEY" \
  -d '{
Confidence
60% 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
### Send Transaction

```bash
curl -s -X POST "https://api.tokenlayer.network/functions/v1/send-transaction" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKENLAYER_API_KEY" \
  -d '{
Confidence
97% confidence
Finding
This duplicate finding still highlights the most dangerous behavior in the file: submitting raw transaction parameters for execution on-chain. Because the skill normalizes taking `to` and `data` from external API responses and broadcasting them, any mistake, spoofed response, or unreviewed payload could irreversibly transfer funds or invoke harmful contract logic.

External Transmission

Medium
Category
Data Exfiltration
Content
### Send Transaction

```bash
curl -s -X POST "https://api.tokenlayer.network/functions/v1/send-transaction" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKENLAYER_API_KEY" \
  -d '{
Confidence
97% confidence
Finding
This duplicate finding still highlights the most dangerous behavior in the file: submitting raw transaction parameters for execution on-chain. Because the skill normalizes taking `to` and `data` from external API responses and broadcasting them, any mistake, spoofed response, or unreviewed payload could irreversibly transfer funds or invoke harmful contract logic.

External Transmission

Medium
Category
Data Exfiltration
Content
### Get Trending Tokens

```bash
curl -s -X POST "https://api.tokenlayer.network/functions/v1/get-tokens-v2" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKENLAYER_API_KEY" \
  -d '{
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.