This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+13 more
Affected surfaces
Summary
AI summaryAdded a preview‑token gate to EVM sends that requires a server‑minted UUID and explicit userDecision: "send" before execution.
Full changelog
Patch release. Ships everything merged since v0.5.0 — new second-agent verification artifact, a direct Uniswap V3 swap path, incident-status tooling for all three lending protocols, a preview-token gate on EVM sends, and quieter peer-trust wording.
New tools
get_verification_artifact— sparse, copy-paste-ready payload ({chain, chainId, from, to, value, data, payloadHash, preSignHash?}for EVM) plus a canned prompt for a second, independent LLM to decode the bytes from scratch. Thefromfield lets the second agent auto-check in-calldata recipients (unwrapWETH9 target, bridge destination, transferto) against the signer.prepare_uniswap_swap— direct Uniswap V3 routing for clear-signed swaps (bypasses LiFi when the user names the venue).get_market_incident_status— Aave V3 + Compound V3 + Morpho Blue incident / pause surfaces.get_compound_market_info— Compound V3 market facts + governance state.get_token_metadata— ERC-20 symbol/decimals/name lookup.
Defenses / gates
previewToken+userDecision: \"send\"gate onsend_transaction— server-minted UUID bound to the pin (re-minted onrefresh:true) plusz.literal(\"send\"), both required on every EVM send. Closes the accidentalpreview_send→send_transactioncollapse that let agents skip theEXTRA CHECKS YOU CAN RUN BEFORE REPLYING \"SEND\"menu. Schema-enforced; clear-error refusal on miss/mismatch. Honest limit: a fully-hostile agent can still forgeuserDecisionafter a legitimatepreview_send— this is a careless-mistake backstop, not a coordinated-lying defense.- Peer-trust warning allowlist —
get_ledger_statusonly emitspeerTrustWarningwhen the paired WalletConnect peer host is NOT on the*.ledger.comallowlist. Quiets the common case (pairing with real Ledger Live); still fires loudly on unknown hosts. - Pre-flight checks — Aave reserve state, Compound pause state, and TRON bandwidth/energy are now checked before a
prepare_*builds a tx that would predictably revert or strand the user.
UX / behavior
- Priority-fee floor lowered from
1.5→0.5gwei (current mempool has cleared below the old floor consistently; 0.5 gwei is enough headroom without overpaying on calm windows). - Proactively offers
request_capabilitywhen a gap is encountered instead of just narrating it. - Richer
simulate_transactionrevert decoding. simulate_position_changeextended to Compound V3 + Morpho Blue.- TRON post-broadcast polling tuned per-chain; TRON preview + verify-decode block surfaced.
- Governance pause state surfaced in position readers.
Docs
- Security section in
README.mdrefreshed: new defenses-table row for thepreviewTokengate, new threat-catch bullet,from-field auto-check note, and a roadmap entry for future server-integrated second-agent verification (MCP calls an independent second-provider LLM directly and blocks the send on disagreement — structurally closes the coordinated-agent gap). CLAUDE.mdadded with preflight / git / tool-use / incident-response guidance.
Chore
- Security audit findings closed (PR #46).
- Token-metadata + approval-chain boilerplate dedup (PR #47).
.gitignore:.context/(crypto-audit scratch),.claude/(local Claude Code state).
Tests
- 479/479 pass. New suites:
test/preview-token-gate.test.ts(EVM gate + TRON bypass), expandedtest/security-audit.test.ts(peer-trust allowlist), updatedtest/simulation.test.tsfor the new priority-fee floor.
Internal references
PRs #42, #43, #44, #45, #46, #47, #48, #50, #51, #52, #53, #54, #55.
Security Fixes
- `previewToken` gate on `send_transaction` closes accidental preview‑to‑send collapse vulnerability
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About szhygulin/recon-crypto-mcp
Self-custodial crypto portfolio for AI agents. Reads EVM wallet balances, ENS, token prices, and DeFi positions across Ethereum/Arbitrum/Polygon/Base (Aave V3, Compound V3, Morpho Blue, Uniswap V3 LP, Lido, EigenLayer), surfaces health-factor alerts and protocol risk scores, then prepares unsigned transactions (supply, borrow, repay, withdraw, stake, send, LiFi swap/bridge) signed on Ledger via WalletConnect — private keys never leave the hardware wallet.
Related context
Beta — feedback welcome: [email protected]