---
allowed-tools: Read, Bash, Glob, Grep, Write
argument-hint: <contract file path or paste code>
description: "ชุดคำสั่งสำหรับ การ Audit Smart Contract ช่วยวิเคราะห์ วางขั้นตอน สร้างเอกสาร หรือดำเนินงานที่เกี่ยวข้องกับงาน Blockchain, Web3, Smart Contract, DeFi, Wallet และระบบกระจายศูนย์ ให้อ่านเข้าใจง่ายและนำไปใช้ต่อได้สะดวก"
---

# การ Audit Smart Contract

ชุดคำสั่งสำหรับ การ Audit Smart Contract ช่วยวิเคราะห์ วางขั้นตอน สร้างเอกสาร หรือดำเนินงานที่เกี่ยวข้องกับงาน Blockchain, Web3, Smart Contract, DeFi, Wallet และระบบกระจายศูนย์ ให้อ่านเข้าใจง่ายและนำไปใช้ต่อได้สะดวก

## If a file path is given, read it first. If code is pasted, analyze it directly.

## Audit Checklist

### 1. Critical Vulnerabilities (Must Fix Before Deployment)
Check for:
- [ ] **Reentrancy** — external calls before state updates, missing ReentrancyGuard
- [ ] **Integer Overflow/Underflow** — unchecked arithmetic (pre-0.8.0 contracts)
- [ ] **Access Control** — missing onlyOwner/role modifiers on privileged functions
- [ ] **tx.origin Authentication** — using tx.origin instead of msg.sender
- [ ] **Unchecked Return Values** — low-level calls without success check
- [ ] **Delegatecall Risks** — storage collision, arbitrary delegatecall

### 2. High Severity
- [ ] **Flash Loan Attack Surface** — price oracle manipulation, single-block attacks
- [ ] **Front-Running** — predictable state changes exploitable by MEV
- [ ] **Timestamp Dependence** — block.timestamp used for randomness or critical timing
- [ ] **Uninitialized Storage Pointers**
- [ ] **Selfdestruct / Force-Send ETH** — unexpected balance changes

### 3. Medium Severity
- [ ] **Gas Limit DoS** — unbounded loops, pushing to arrays in storage
- [ ] **Improper Event Emission** — missing events for critical state changes
- [ ] **Centralization Risk** — single admin key can drain funds or pause protocol
- [ ] **Incorrect Modifier Order**
- [ ] **Missing Input Validation**

### 4. Low / Informational
- [ ] **Code Style** — follows Solidity style guide
- [ ] **Natspec Comments** — all public functions documented
- [ ] **Test Coverage** — assess if tests exist and cover edge cases
- [ ] **Upgradability Risk** — if upgradeable proxy, check storage layout

## Output Format

For each finding:

```
### [SEVERITY] Finding Title
**Location:** contract.sol, line X
**Description:** What the vulnerability is
**Exploit Scenario:** How an attacker would exploit this
**Recommendation:** Specific fix with code example
```

## Summary Table

| # | Finding | Severity | Status |
|---|---|---|---|
| 1 | ... | Critical/High/Medium/Low | Open |

## Overall Risk Assessment

Rate the contract: **Ready / Needs Minor Fixes / Major Rework Required**
