hex-audit 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/app-build-manifest.json +5 -5
- package/dashboard/.next/app-path-routes-manifest.json +1 -1
- package/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/next-minimal-server.js.nft.json +1 -1
- package/dashboard/.next/next-server.js.nft.json +1 -1
- package/dashboard/.next/prerender-manifest.js +1 -1
- package/dashboard/.next/prerender-manifest.json +1 -1
- package/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/server/app/_not-found.rsc +4 -4
- package/dashboard/.next/server/app/access/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/access.html +1 -1
- package/dashboard/.next/server/app/access.rsc +4 -4
- package/dashboard/.next/server/app/calls/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/calls.html +1 -1
- package/dashboard/.next/server/app/calls.rsc +4 -4
- package/dashboard/.next/server/app/conformance/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/conformance.html +1 -1
- package/dashboard/.next/server/app/conformance.rsc +4 -4
- package/dashboard/.next/server/app/diagram/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/diagram.html +1 -1
- package/dashboard/.next/server/app/diagram.rsc +4 -4
- package/dashboard/.next/server/app/flows/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/flows.html +1 -1
- package/dashboard/.next/server/app/flows.rsc +4 -4
- package/dashboard/.next/server/app/functions/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/functions.html +1 -1
- package/dashboard/.next/server/app/functions.rsc +4 -4
- package/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/server/app/index.rsc +4 -4
- package/dashboard/.next/server/app/issues/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/issues.html +1 -1
- package/dashboard/.next/server/app/issues.rsc +4 -4
- package/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/progress/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/progress.html +1 -1
- package/dashboard/.next/server/app/progress.rsc +4 -4
- package/dashboard/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/stats.html +1 -1
- package/dashboard/.next/server/app/stats.rsc +4 -4
- package/dashboard/.next/server/app-paths-manifest.json +3 -3
- package/dashboard/.next/server/chunks/431.js +1 -1
- package/dashboard/.next/server/middleware-build-manifest.js +1 -1
- package/dashboard/.next/server/pages/404.html +1 -1
- package/dashboard/.next/server/pages/500.html +1 -1
- package/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dashboard/.next/static/chunks/app/{layout-e7b50543ba216d12.js → layout-5083f0ccb5752a40.js} +1 -1
- package/dashboard/components/DashboardLayout.tsx +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +5 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/skills/init-audit.md +20 -4
- package/package.json +3 -1
- package/dashboard/.next/cache/.tsbuildinfo +0 -1
- package/dashboard/.next/cache/webpack/client-production/0.pack +0 -0
- package/dashboard/.next/cache/webpack/client-production/index.pack +0 -0
- package/dashboard/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/dashboard/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/dashboard/.next/cache/webpack/server-production/0.pack +0 -0
- package/dashboard/.next/cache/webpack/server-production/1.pack +0 -0
- package/dashboard/.next/cache/webpack/server-production/2.pack +0 -0
- package/dashboard/.next/cache/webpack/server-production/index.pack +0 -0
- package/dashboard/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/dashboard/.next/trace +0 -80
- package/dashboard/.next/types/app/access/page.ts +0 -79
- package/dashboard/.next/types/app/api/code/route.ts +0 -343
- package/dashboard/.next/types/app/api/flows/route.ts +0 -343
- package/dashboard/.next/types/app/api/github-status/route.ts +0 -343
- package/dashboard/.next/types/app/api/issues/[id]/move/route.ts +0 -343
- package/dashboard/.next/types/app/api/issues/[id]/route.ts +0 -343
- package/dashboard/.next/types/app/api/mermaid/route.ts +0 -343
- package/dashboard/.next/types/app/api/progress/route.ts +0 -343
- package/dashboard/.next/types/app/api/watch/route.ts +0 -343
- package/dashboard/.next/types/app/calls/page.ts +0 -79
- package/dashboard/.next/types/app/conformance/page.ts +0 -79
- package/dashboard/.next/types/app/diagram/page.ts +0 -79
- package/dashboard/.next/types/app/flows/page.ts +0 -79
- package/dashboard/.next/types/app/functions/page.ts +0 -79
- package/dashboard/.next/types/app/issues/page.ts +0 -79
- package/dashboard/.next/types/app/page.ts +0 -79
- package/dashboard/.next/types/app/progress/page.ts +0 -79
- package/dashboard/.next/types/app/stats/page.ts +0 -79
- package/dashboard/.next/types/package.json +0 -1
- /package/dashboard/.next/static/{0IZAlhEwk5-v4myUvWKBd → M0In4-GtDZyqoEIV67ZNm}/_buildManifest.js +0 -0
- /package/dashboard/.next/static/{0IZAlhEwk5-v4myUvWKBd → M0In4-GtDZyqoEIV67ZNm}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAWjF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,oFAAoF,CAAC;KACjG,MAAM,CAAC,WAAW,EAAE,wDAAwD,CAAC;KAC7E,MAAM,CAAC,SAAS,EAAE,oDAAoD,CAAC;KACvE,MAAM,CAAC,iBAAiB,EAAE,kEAAkE,CAAC;KAC7F,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;QAElC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ const program = new Command();
|
|
|
21
21
|
program
|
|
22
22
|
.name('hex')
|
|
23
23
|
.description('CLI toolkit for Solidity smart contract auditors')
|
|
24
|
-
.version('0.4.
|
|
24
|
+
.version('0.4.1');
|
|
25
25
|
program.addCommand(initCommand);
|
|
26
26
|
program.addCommand(statsCommand);
|
|
27
27
|
program.addCommand(depsCommand);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: 'Initialize a Solidity audit project: deterministic analysis + protocol overview + system diagram + flow charts + spec conformance, all in one run'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Skill: Initialize Audit
|
|
@@ -19,6 +19,7 @@ You are setting up a new Solidity audit project with Hex. This single skill repl
|
|
|
19
19
|
### 1.1 Gather information
|
|
20
20
|
|
|
21
21
|
Ask the auditor for:
|
|
22
|
+
|
|
22
23
|
- **Project directory path** — where the client project lives (default: current directory).
|
|
23
24
|
- **Scope** — glob or explicit list of files in audit scope (e.g., `src/core/**/*.sol`).
|
|
24
25
|
- **Commit hash** — the specific commit being audited (default: HEAD).
|
|
@@ -43,6 +44,7 @@ Build scripts and `npm install` hooks are a primary supply-chain attack vector.
|
|
|
43
44
|
**If any build-time threats are found: STOP and warn before compilation.**
|
|
44
45
|
|
|
45
46
|
After build safety passes, evaluate Solidity dependencies:
|
|
47
|
+
|
|
46
48
|
- Identify well-known libs (OpenZeppelin, Solmate, Solady, PRBMath). Flag outdated versions with known advisories (OZ < 4.9.3, Solmate `SafeTransferLib` missing code-size check, etc.).
|
|
47
49
|
- Flag typosquats (`@openzepplin` vs `@openzeppelin`).
|
|
48
50
|
- Flag unused dependencies (in `lib/` or `node_modules/` but not imported by scope files).
|
|
@@ -51,6 +53,7 @@ After build safety passes, evaluate Solidity dependencies:
|
|
|
51
53
|
### 1.3 Initialize and analyze
|
|
52
54
|
|
|
53
55
|
Run:
|
|
56
|
+
|
|
54
57
|
```bash
|
|
55
58
|
npx hex init --project "<path>" --scope "<scope>" --commit <hash> --chain <chain> --docs "<url>"
|
|
56
59
|
npx hex analyze
|
|
@@ -61,6 +64,7 @@ npx hex analyze
|
|
|
61
64
|
## Phase 2 — Protocol overview
|
|
62
65
|
|
|
63
66
|
Read from the output directory (`.hex/`):
|
|
67
|
+
|
|
64
68
|
- `config.json` — project name, scope, chain, docs URL.
|
|
65
69
|
- `stats.json` — contracts, nSLOC, ERCs, dependencies.
|
|
66
70
|
- `deps.json` — contract relationships and clusters.
|
|
@@ -68,6 +72,7 @@ Read from the output directory (`.hex/`):
|
|
|
68
72
|
Run `npx hex context` to load the full codebase. If `config.json.project.docs_url` is set, fetch and read the documentation.
|
|
69
73
|
|
|
70
74
|
Write a 2–3 paragraph overview to `.hex/overview.md` covering:
|
|
75
|
+
|
|
71
76
|
1. **What the protocol does** — purpose, target users, the problem it solves.
|
|
72
77
|
2. **Core mechanism** — deposit/withdraw flows, token economics, governance model.
|
|
73
78
|
3. **Key contracts and their roles** — entry points, state holders, libraries.
|
|
@@ -76,6 +81,7 @@ Write a 2–3 paragraph overview to `.hex/overview.md` covering:
|
|
|
76
81
|
Write for an experienced Solidity auditor. Be precise and technical. Reference specific contract names and functions where relevant.
|
|
77
82
|
|
|
78
83
|
**Do NOT:**
|
|
84
|
+
|
|
79
85
|
- List findings or security concerns (this is purely descriptive).
|
|
80
86
|
- Speculate about vulnerabilities.
|
|
81
87
|
- Include code snippets.
|
|
@@ -91,13 +97,15 @@ Write for an experienced Solidity auditor. Be precise and technical. Reference s
|
|
|
91
97
|
## Key Contracts
|
|
92
98
|
|
|
93
99
|
| Contract | Type | nSLOC | Role |
|
|
94
|
-
|
|
95
|
-
| ...
|
|
100
|
+
| -------- | ---- | ----- | ---- |
|
|
101
|
+
| ... | ... | ... | ... |
|
|
96
102
|
|
|
97
103
|
## External Dependencies
|
|
104
|
+
|
|
98
105
|
- [Package] v[version] — used for [purpose]
|
|
99
106
|
|
|
100
107
|
## Architecture Notes
|
|
108
|
+
|
|
101
109
|
- [Notable design decisions, patterns, or concerns to keep in mind during review]
|
|
102
110
|
```
|
|
103
111
|
|
|
@@ -132,10 +140,12 @@ Write a Mermaid `graph TD` diagram to `.hex/diagrams/diagram.mmd`. Constraints:
|
|
|
132
140
|
Same context as Phase 3, plus `.hex/external-calls.json`.
|
|
133
141
|
|
|
134
142
|
For each archetype, generate at minimum:
|
|
143
|
+
|
|
135
144
|
- **Value Flow** — how tokens/ETH move (deposits, withdrawals, fees, swaps).
|
|
136
145
|
- **Permission Flow** — who can do what; role grant/revoke; admin operations.
|
|
137
146
|
|
|
138
147
|
Archetype-specific flows (only generate when the archetype is detected):
|
|
148
|
+
|
|
139
149
|
- **Vault**: deposit/mint, withdraw/redeem, strategy allocation, fee collection.
|
|
140
150
|
- **Lending**: borrow, repay, liquidation (health check → liquidation → seizure → bad debt).
|
|
141
151
|
- **Governance**: proposal lifecycle (create → vote → queue → execute), delegation.
|
|
@@ -167,26 +177,31 @@ Cross-reference four sources:
|
|
|
167
177
|
**5.1 External documentation.** Fetch `config.json.project.docs_url`. Extract every behavioral claim ("users can deposit X and receive Y", "fees capped at 10%", "only admin can pause"). For each claim, find the implementing code and verify match.
|
|
168
178
|
|
|
169
179
|
**5.2 NatSpec.** For every function with `@notice`/`@dev`/`@param`/`@return`:
|
|
180
|
+
|
|
170
181
|
- Does the function actually do what `@notice` says?
|
|
171
182
|
- Are `@param` constraints accurate?
|
|
172
183
|
- Does it return what `@return` claims?
|
|
173
184
|
- Pay extra attention to conditional NatSpec ("reverts if…", "only when…").
|
|
174
185
|
|
|
175
186
|
**5.3 Interface conformance.** For every interface the contract implements (explicit `is IFoo` or implicit):
|
|
187
|
+
|
|
176
188
|
- All interface functions implemented?
|
|
177
189
|
- Behavioral semantics of each function respected?
|
|
178
190
|
|
|
179
191
|
**5.4 ERC/EIP compliance.** For each ERC/EIP in `stats.json.erc_eip_usage`:
|
|
192
|
+
|
|
180
193
|
- **Fetch the canonical spec** via WebFetch from `https://eips.ethereum.org/EIPS/eip-<number>`. If the fetch fails, note `"spec_fetched": false` and fall back to training knowledge.
|
|
181
194
|
- Extract every MUST/SHOULD/MAY requirement into a checklist; verify each against the implementation.
|
|
182
195
|
|
|
183
196
|
Known gotchas:
|
|
197
|
+
|
|
184
198
|
- **ERC-20**: return values on transfer/approve, zero-amount transfers, approval race.
|
|
185
|
-
- **ERC-4626**: rounding direction per spec, preview vs actual, max
|
|
199
|
+
- **ERC-4626**: rounding direction per spec, preview vs actual, max\* return values.
|
|
186
200
|
- **ERC-721**: safeTransferFrom callbacks.
|
|
187
201
|
- **ERC-2612**: permit deadline, nonce handling, domain separator chain ID.
|
|
188
202
|
|
|
189
203
|
**Weird token compat.** For every contract interacting with ERC-20 tokens (check `attack-surface.json.token_interactions`), classify handling of:
|
|
204
|
+
|
|
190
205
|
- Fee-on-transfer (balance-diff accounting vs trusting transfer amount).
|
|
191
206
|
- Rebasing (shares vs absolute balances; stale balance caches).
|
|
192
207
|
- Blocklist (DoS via blocked recipient in batches/loops; liquidation/withdrawal block).
|
|
@@ -244,6 +259,7 @@ These appear on the dashboard's Issues board as Potential cards immediately. The
|
|
|
244
259
|
## Phase 7 — Report and auto-launch the dashboard
|
|
245
260
|
|
|
246
261
|
Summarize:
|
|
262
|
+
|
|
247
263
|
- Files / contracts in scope, total nSLOC.
|
|
248
264
|
- Number of external/public functions, state variables.
|
|
249
265
|
- Number of conformance DEVIATES/PARTIAL items materialized to the board.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hex-audit",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI toolkit for Solidity smart contract auditors",
|
|
6
6
|
"bin": {
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
"build:cli": "tsc && npm run copy-skills",
|
|
14
14
|
"build:dashboard": "next build dashboard",
|
|
15
15
|
"copy-skills": "node -e \"const fs=require('fs');const p=require('path');fs.cpSync(p.join('src','skills'),p.join('dist','skills'),{recursive:true})\"",
|
|
16
|
+
"clean:next-cache": "node -e \"const fs=require('fs');for (const d of ['dashboard/.next/cache','dashboard/.next/trace','dashboard/.next/types']) fs.rmSync(d,{recursive:true,force:true})\"",
|
|
17
|
+
"prepack": "npm run build && npm run clean:next-cache",
|
|
16
18
|
"dev:cli": "tsc --watch",
|
|
17
19
|
"dev:dashboard": "next dev dashboard",
|
|
18
20
|
"test": "vitest run",
|