Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
DEX Agent
v1.1.0Execute zero-fee direct token swaps and manage stop-loss, take-profit, and portfolio tracking on Base chain via Uniswap V3 with self-custodial security.
⭐ 0· 190·0 current·0 all-time
byElway Botty@avmw2025
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
The code implements on-chain swaps, price quoting, multi-RPC failover, a wallet manager, and order monitoring — all coherent with the stated purpose of self-custodial Uniswap V3 trading on Base. However, the SKILL.md and marketing say 'zero swap fees', while the code/config references an internal fee (OUR_FEE_BPS = 30 / 0.3%) and comments about fee collection, which contradicts the zero-fee claim. Also a hard-coded 'BANKR_WALLET' address is present (marked 'for reading only') which is unexpected but not obviously malicious.
Instruction Scope
Runtime instructions are limited to installing web3/eth-abi, generating a wallet, funding it, and running CLI commands — consistent with the feature set. But SKILL.md and some docstrings claim keys are 'encrypted' and 'never transmitted', while the wallet implementation saves the raw private key as hex in a local JSON file with 0o600 permissions (no encryption). That is an explicit mismatch between instructions/claims and actual behavior. The code also creates an 'active-orders.json' and writes wallet files to disk; the instructions do not warn about plaintext key storage or provide guidance to use hardware wallets or encryption.
Install Mechanism
No install spec in the registry; SKILL.md suggests pip installing standard packages (web3, eth-abi). That is expected for a Python-based on-chain tool and does not attempt to download remote executables or archives. Risk here is conventional (third-party Python packages), not unusual for this use case.
Credentials
The skill declares no required environment variables or external secrets, which matches the code. However, the code stores private keys unencrypted in a local file (contradicting claims of encryption) and uses infinite ERC20 approvals (max uint256) for the router, which is a disproportionate and risky default for a wallet-managed trading tool. RPC endpoints are hard-coded to several third-party providers (e.g., base.llamarpc.com, base.meowrpc.com), which is acceptable but means node operators will see submitted signed transactions and metadata.
Persistence & Privilege
The skill is not marked always:true, does not request to persistently modify other skills, and only writes files under its own directory (wallets/trading-wallet.json, active-orders.json). This level of local persistence is expected for a CLI trading bot.
What to consider before installing
This package does implement on-chain swaps and monitoring as advertised, but there are important red flags you should address before using it with real funds:
- Private key storage: Despite claims of encrypted storage, wallet.py writes the raw private key hex into wallets/trading-wallet.json (no encryption). Anyone with access to that file can steal funds. Consider using a hardware wallet, an encrypted keystore, or modify the code to encrypt the private key with a passphrase.
- Unlimited approvals: The swap flow sets ERC20 allowance to max uint256. If the router contract or your node is compromised, an attacker could drain approved tokens. Prefer per-amount approvals or explicit allowance limits and audit the router address on-chain.
- Fee wording mismatch: SKILL.md says "zero swap fees" but config and comments refer to a 0.3% internal fee. Clarify whether any on-platform fee exists and where a fee wallet would be set (FEE_WALLET is None / TODO).
- Third-party RPCs: The skill uses multiple public RPC endpoints (including third-party providers). These are required to submit transactions, but they observe transaction metadata; choose trusted RPCs or run your own node if privacy/trust is a concern.
- Test with minimal funds: If you still want to try it, run it on a small amount or testnet first, and inspect the truncated part of swap.py (the code provided was truncated) to ensure there is no additional hidden behavior.
- Code audit: If you plan to entrust funds, either audit and fix the plaintext key storage and approval logic, or only use the skill as a read-only price/quote tool. Avoid using it as-is with significant balances.Like a lobster shell, security has layers — review code before you run it.
latestvk973jsjrhjcg6b686a6t99tkkx82yxg3
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
