home / skills / multiversx / mx-ai-skills / mvx_dapp_audit
This skill helps audit MultiversX dApp frontend flows, focusing on transaction construction, signing security, and data handling to prevent exploits.
npx playbooks add skill multiversx/mx-ai-skills --skill mvx_dapp_auditReview the files below or copy the command above to add this skill to your agents.
---
name: mvx_dapp_audit
description: Auditing dApps and standard Frontend flows.
---
# MultiversX dApp Auditor
This skill helps you audit the frontend components of a MultiversX application (`sdk-dapp`).
## 1. Transaction Construction
- **Critical Logic**: The frontend constructs the payload.
- **Attack**: Can a malicious frontend user change the payload before signing?
- Example: `func@args` -> `func@evil_args`.
- **Mitigation**: The Smart Contract MUST validate everything. Do not trust the frontend to validate inputs.
## 2. Signing Security
- **Blind Signing**: Does the dApp verify what it asks the user to sign?
- **Hash Signing**: Is the user signing a hash (opaque) or a clear message?
## 3. Sensitive Data
- **Local Storage**: Is the private key or mnemonic ever stored in `localStorage`? (Should NEVER be).
- **XSS**: Can an attacker extract the `accessToken`?
## 4. Tools
- **Burp Suite**: Proxy traffic to see what the dApp sends to the API or Blockchain Proxy.
- **Inspect Element**: Check network tab for `POST /transactions` payloads.
This skill audits frontend components of MultiversX dApps built with sdk-dapp, focusing on transaction safety, signing flows, and client-side data handling. It surfaces frontend attack vectors and practical checks so teams can fix issues before users are exposed. The goal is faster, safer dApp releases with clear mitigation steps.
The skill inspects transaction construction, signing flows, and sensitive client storage. It looks at network traffic, DOM/network request payloads, and local storage to detect mutable payloads, blind or opaque signing, and secrets stored insecurely. It recommends verifications the smart contract must enforce and tools to reproduce issues.
Can the frontend be trusted to validate transaction inputs?
No. Frontend validation helps UX but must not be relied on for security; the smart contract must validate all inputs.
What tools should I use to inspect transactions?
Use browser devtools network tab and a proxy like Burp Suite to capture POST /transactions payloads and replay modified requests.