smart-contract-audit
Audited by Socket on Apr 15, 2026
6 alerts found:
Anomalyx5SecurityThe document accurately describes a high-impact availability risk: protocols that accept or register SPL/Token-2022 mints without verifying that the mint.freeze_authority has been revoked (None) are vulnerable to an administrative denial-of-service where a freeze authority can freeze token accounts and render funds and protocol operations inaccessible. This is not malware, but it is a serious operational security risk that should be mitigated by on-chain verification, whitelisting/governance controls, monitoring/alerting, and emergency recovery plans.
This fragment is documentation describing high-risk oracle-integration bugs on Sui/Move and provides detection heuristics. It is not executable malicious code, but it highlights real supply-chain security risks that Move modules can exhibit: stale price acceptance, ignoring confidence/status, fake oracle object injection, and single-source dependency. Consumers of oracle data should enforce immediate timestamp and confidence checks, verify object provenance (object IDs and module/package addresses via governance-controlled config), and implement fallbacks/circuit-breakers. Auditers should flag calls to get_price_unsafe, uses of price.price without subsequent conf/status/time assertions, acceptance of oracle objects without ID/provenance checks, and reliance on single oracle sources for liquidation-critical paths.
The provided text is a security guidance/heuristics document highlighting multiple high-impact upgrade lifecycle vulnerabilities for upgradeable smart contracts (UUPS/Transparent proxies) — missing reinitializer usage, removal of UUPS logic, missing _authorizeUpgrade checks, non-atomic initialization, race conditions, and admin routing mistakes. These are not direct malware indicators but represent serious supply-chain and governance risks that can enable unauthorized upgrades, loss of upgradeability, or frontrunnable initialization leading to protocol compromise. Recommended actions: audit implementations for reinitializer usage and version bumps, ensure _authorizeUpgrade enforces governance/onlyOwner, prefer upgradeToAndCall with init calldata or verify atomic init, use a dedicated ProxyAdmin (or multisig/timelock), and include CI/storage-layout checks (e.g., OpenZeppelin upgrades plugin).
The code comments describe genuine, well-known Solidity pitfalls that can lead to hash collisions and replay/deduplication bypass. These are not malware but are security vulnerabilities that can be exploited to bypass uniqueness, permit, or replay protections. Consumers of affected code should replace abi.encodePacked for multi-dynamic-arg hashing with abi.encode (or otherwise include explicit separators), and stop using keccak256(msg.data) for dedupe/replay when dynamic arguments are accepted — instead hash decoded values or use nonces and signatures.
This is not itself malicious code but a high-risk logic vulnerability: using invoke_signed with a PDA as signer without verifying the account owner can be exploited by another program that pre-initializes the same PDA address. The advisory correctly identifies detection heuristics and mitigations. Review and fix: add explicit owner checks or use Anchor typed accounts and include program-specific data in PDA seeds.
SUSPICIOUS due to high-risk offensive security functionality for an AI agent, but not malicious. The skill is internally coherent for a smart contract audit framework: it mainly performs local code analysis, reads local reference materials, and writes local reports. No credential harvesting, third-party proxying, or untrusted binary installation is evident.