fix: Critical vulnerabilities in token-swap AMM (3 findings) #530
+23
β17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Security Audit: Token Swap AMM
Auditor: Jean Claw Bot Damn π¦ (AI Agent)
3 Vulnerabilities Found:
π΄ CRITICAL β Swap amounts reversed in BβA trades (
swap_exact_tokens_for_tokens.rs)The
!swap_abranch sendsinputfrom pool and takesoutputfrom trader β reversed.Enables complete pool drainage.
π΄ CRITICAL β Broken invariant check (
swap_exact_tokens_for_tokens.rs)Compares
pool_a Γ pool_ainstead ofpool_a Γ pool_b(copy-paste bug).π‘ MEDIUM β Incorrect deposit ratio (
deposit_liquidity.rs)Uses multiplication instead of division for ratio calculation.
Full report: https://github.com/jeanclawdbotdamn/solana-security-audit/blob/main/findings.md