T09 · Insecure Skill Coding Practices
- Location
SKILL.md:43- Finding
Replayable Wallet Registration Signature
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is coherent for omni.fun trading, but it asks agents to use authenticated crypto-trading and token-launch APIs with broad triggers and weakly scoped safety guidance.
Review this before installing if you use real wallets or funds. Use a dedicated low-balance wallet, set strict oVault per-trade and daily limits immediately, avoid generic agent prompts like “trade” or “launch” unless you mean omni.fun, require manual review before reward claims, token launches, webhook changes, or signing returned calldata, and rotate the API key if it may have appeared in logs or process telemetry.
SKILL.md:43Replayable Wallet Registration Signature
SKILL.md:81API Key Exposed Through Command-Line Process Arguments
The trigger list includes broad generic terms like 'trade', 'launch', 'cross-chain', and 'memecoin', which can cause the skill to activate in unrelated contexts. Unintended invocation is risky here because the skill exposes authenticated trading, token launch, reward claim, and webhook-registration actions against an external financial API.
This registration flow transmits wallet identity and signature material to an external service to mint a long-lived API key. Although expected for onboarding, it creates an external trust boundary and could expose sensitive account linkage or enable abuse if users do not understand they are provisioning trading access to a third party.
Step 2 — Register and get your API key:
curl -X POST https://api.omni.fun/agent/register \
-H "Content-Type: application/json" \
-d '{"wallet": "0xYOUR_WALLET", "name": "MyAgent", "signature": "0xSIG_FROM_STEP_1", "framework": "openclaw"}'
# Response: {"apiKey": "omni_abc123...", "agentId": "..."}
This registration flow transmits wallet identity and signature material to an external service to mint a long-lived API key. Although expected for onboarding, it creates an external trust boundary and could expose sensitive account linkage or enable abuse if users do not understand they are provisioning trading access to a third party.
Step 2 — Register and get your API key:
curl -X POST https://api.omni.fun/agent/register \
-H "Content-Type: application/json" \
-d '{"wallet": "0xYOUR_WALLET", "name": "MyAgent", "signature": "0xSIG_FROM_STEP_1", "framework": "openclaw"}'
# Response: {"apiKey": "omni_abc123...", "agentId": "..."}
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Earn While You Trade
**First 100 agents trade FREE for 60 days** (100% fee rebate on every trade). Check open slots: `GET https://api.omni.fun/agent/stats/growth`
| Incentive | Amount | How |
|-----------|--------|-----|
Claiming rewards is a state-changing authenticated action against an external financial service. While less dangerous than a trade, accidental invocation could redirect funds timing, trigger unintended tax/accounting events, or interact with wallet-linked payout behavior without deliberate user intent.
curl -s -H "X-API-Key: $OMNIFUN_API_KEY" https://api.omni.fun/agent/rewards/summary | jq
curl -X POST -H "X-API-Key: $OMNIFUN_API_KEY" https://api.omni.fun/agent/rewards/claim
## Security Model
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Set a $50/trade and $200/day limit
curl -X PUT https://api.omni.fun/agent/vault \
-H "X-API-Key: $OMNIFUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"maxPerTrade": 50, "maxDaily": 200, "approvedChains": ["base", "arbitrum"]}'
This duplicate URL-level finding still maps to a sensitive buy-trade flow that can lead to real asset movement once the returned calldata is signed. In a memecoin trading skill with broad triggers, the chance of unintended financial action materially increases the danger.
curl -X POST https://api.omni.fun/agent/trade \
-H "X-API-Key: $OMNIFUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"action": "buy", "token": "0xTOKEN", "amount": 10, "chain": "base"}'
This duplicate URL-level finding still maps to a sensitive buy-trade flow that can lead to real asset movement once the returned calldata is signed. In a memecoin trading skill with broad triggers, the chance of unintended financial action materially increases the danger.
curl -X POST https://api.omni.fun/agent/trade \
-H "X-API-Key: $OMNIFUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"action": "buy", "token": "0xTOKEN", "amount": 10, "chain": "base"}'
The authenticated sell-trade endpoint can prepare calldata to liquidate holdings through an external service, creating direct financial risk if used unintentionally or under prompt manipulation. Because sells can dispose of volatile assets quickly and cross-chain settlement may add complexity, misuse can cause irreversible losses.
curl -X POST https://api.omni.fun/agent/trade \
-H "X-API-Key: $OMNIFUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"action": "sell", "token": "0xTOKEN", "amount": 1000000, "chain": "base"}'
This duplicate URL-level finding corresponds to the token launch flow, which can initiate a paid and reputation-sensitive action through external infrastructure. In context, launching memecoins across multiple chains amplifies the consequence of accidental use.
curl -X POST https://api.omni.fun/agent/launch \
-H "X-API-Key: $OMNIFUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "My Agent Token", "symbol": "MAGNT", "description": "AI agent token"}'
This duplicate URL-level finding corresponds to the token launch flow, which can initiate a paid and reputation-sensitive action through external infrastructure. In context, launching memecoins across multiple chains amplifies the consequence of accidental use.
curl -X POST https://api.omni.fun/agent/launch \
-H "X-API-Key: $OMNIFUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "My Agent Token", "symbol": "MAGNT", "description": "AI agent token"}'
Webhook registration sends a callback URL and enables external event delivery, which expands the attack surface and can expose internal endpoints if configured unsafely. If an agent registers arbitrary URLs, this can create SSRF-like operational risk, data leakage via callbacks, or abuse of internal webhook consumers.
Register a webhook to get instant notifications on new launches, graduations, and trade confirmations.
curl -X POST https://api.omni.fun/agent/webhooks \
-H "X-API-Key: $OMNIFUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://your-agent.com/webhook", "events": ["token.new", "token.graduated", "trade.confirmed"]}'
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.
- $15 minimum for all cross-chain trades
- 2% default slippage protection
- $29 USDC launch fee
- Tokens auto-deploy on 8 chains (~19s after launch)
- Rewards paid every Monday — claim anytime, $10 minimum
## Resources