T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/pnl.py:60- Finding
Unnecessary Retrieval of Wallet Balance and Token Holdings
- Content
View full analysis
float: """Get current SOL balance via public RPC""" rpc_url = (f"https://mainnet.helius-rpc.com/?api-key={HELIUS_KEY}" if HELIUS_KEY else "https://api.mainnet-beta.solana.com") try: r = requests.post(rpc_url, json={ "jsonrpc": "2.0", "id": 1, "method": "getBalance", "params": [wallet] }, headers=HEADERS, timeout=8) if r.status_code == 200: res = r.json().get("result", {}) if isinstance(res, dict) and "value" in res: return res["value"] / 1e9 except Exception: pass return -1 def fetch_token_accounts(wallet: str) -> list: """Get current token holdings""" rpc_url = (f"https://mainnet.helius-rpc.com/?api-key={HELIUS_KEY}" if HELIUS_KEY else "https://api.mainnet-beta.solana.com") try: r = requests.post(rpc_url, json={ "jsonrpc": "2.0", "id": 1, "method": "getTokenAccountsByOwner", "params": [wallet, {"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}, {"encoding": "jsonParsed"}] }, headers=HEADERS, timeout=8) if r.status_code == 200: result = r.json().get("result", {}) return result.get("value", []) except Exception: pass return [] def analyze_wallet(wallet: str, tx_limit: int = 100) -> PnLResult: result = PnLResult(wallet=wallet) # Fetch data txns = fetch_helius_transactions(wallet, tx_limit) sol_balance = fetch_sol_balance(wallet) token_accounts = fetch_token_accounts(wallet) ``` ### Technical Analysis The declared functionality requires recent swap history ...[truncated 1828 chars]- Remediation
View remediation
