@solana-epic/cli 0.1.0-beta.1 → 0.1.0-beta.2
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/README.md +157 -0
- package/dist/index.js +103 -24
- package/dist/index.js.map +1 -1
- package/dist/test-ui.d.ts +2 -0
- package/dist/test-ui.d.ts.map +1 -0
- package/dist/test-ui.js +3 -0
- package/dist/test-ui.js.map +1 -0
- package/dist/ui.d.ts +19 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +105 -0
- package/dist/ui.js.map +1 -0
- package/package.json +27 -8
package/README.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# EPIC
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<b>Upgrade Intelligence for Solana Programs</b>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@solana-epic/cli"><img src="https://img.shields.io/npm/v/@solana-epic/cli.svg?style=flat-square&color=blue" alt="npm version" /></a>
|
|
9
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/solana-epic/epic.svg?style=flat-square" alt="license" /></a>
|
|
10
|
+
<a href="https://github.com/solana-epic/epic/releases"><img src="https://img.shields.io/github/v/release/solana-epic/epic.svg?style=flat-square&color=orange" alt="GitHub release" /></a>
|
|
11
|
+
<a href="https://github.com/solana-epic/epic/actions"><img src="https://img.shields.io/github/actions/workflow/status/solana-epic/epic/test.yml?branch=main&style=flat-square" alt="GitHub Actions status" /></a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
EPIC is the deployment readiness and upgrade intelligence infrastructure for Solana programs. Positioned between git push and mainnet, EPIC evaluates state layout evolution, ABI compatibility, and security regressions to answer a simple question before you deploy:
|
|
17
|
+
|
|
18
|
+
**"Can this upgrade safely reach mainnet?"**
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Why EPIC Exists
|
|
23
|
+
|
|
24
|
+
Standard developer tooling tells you if your code compiles. Security scanners tell you if a codebase has known vulnerabilities. **Neither tells you if the transition between your old deployment and your new code will break state on mainnet.**
|
|
25
|
+
|
|
26
|
+
Every Solana program upgrade is a high-risk migration. A minor type shift, field reordering, or missing state reload can corrupt deserialization layouts, lock user accounts, or introduce severe security regressions.
|
|
27
|
+
|
|
28
|
+
EPIC catches these upgrade compatibility issues and regressions in local development and on every pull request.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## What EPIC Does
|
|
33
|
+
|
|
34
|
+
### 1. Upgrade Compatibility (`epic check`)
|
|
35
|
+
Compare two program versions to verify layout compatibility and prevent state corruption.
|
|
36
|
+
```
|
|
37
|
+
$ epic check ./old-program ./new-program
|
|
38
|
+
|
|
39
|
+
🔍 Comparing Program Layouts...
|
|
40
|
+
[CRITICAL] Layout size decrease detected on struct Position: 56 bytes -> 48 bytes.
|
|
41
|
+
Account shrinkage can lead to mainnet deserialization failures.
|
|
42
|
+
Consider using realloc or adding padding fields to preserve layout sizing.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. State Layout Analysis (`epic analyze`)
|
|
46
|
+
Track account layout evolution, serialized sizes, and memory offsets to manage state scaling.
|
|
47
|
+
```
|
|
48
|
+
$ epic analyze .
|
|
49
|
+
|
|
50
|
+
🔍 Analyzing State Account Layouts...
|
|
51
|
+
STATE ACCOUNTS:
|
|
52
|
+
├── Vault (49 bytes) [program::lib] [Static]
|
|
53
|
+
└── Position (56 bytes) [program::lib] [Static]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 3. Upgrade Safety Verification (`epic audit`)
|
|
57
|
+
Verify that modifications to instruction state rules and safety invariants do not introduce security regressions.
|
|
58
|
+
```
|
|
59
|
+
$ epic audit .
|
|
60
|
+
|
|
61
|
+
🔍 Verifying Invariant Safety...
|
|
62
|
+
[CRITICAL] EPIC-SEC-003: Missing Post-CPI Account Reload
|
|
63
|
+
Affected File: programs/vault/src/lib.rs:42
|
|
64
|
+
Context: State mutation of Vault account following CPI invocation
|
|
65
|
+
Recommendation: Reload local state cache (e.g. run vault.reload()?) after CPI.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Installation
|
|
71
|
+
|
|
72
|
+
Install the CLI wrapper:
|
|
73
|
+
```bash
|
|
74
|
+
npm install -g @solana-epic/cli
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Verify your installation:
|
|
78
|
+
```bash
|
|
79
|
+
epic rules
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Quick Start
|
|
85
|
+
|
|
86
|
+
### 1. Check Upgrade Compatibility
|
|
87
|
+
Compare your current working directory against a previous release or program folder:
|
|
88
|
+
```bash
|
|
89
|
+
epic check ./old_release_dir ./new_release_dir
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 2. Run Layout Invariant Verification
|
|
93
|
+
Audit your codebase for security regressions before committing:
|
|
94
|
+
```bash
|
|
95
|
+
epic audit .
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 3. Integrate with CI/CD
|
|
99
|
+
Incorporate upgrade checks directly into your pull requests. EPIC supports standard SARIF outputs for GitHub Actions integration:
|
|
100
|
+
```yaml
|
|
101
|
+
- name: Run EPIC Upgrade Checks
|
|
102
|
+
run: npx @solana-epic/cli audit . -f sarif
|
|
103
|
+
|
|
104
|
+
- name: Upload Safety Report
|
|
105
|
+
uses: github/code-scanning-upload-aurora@v2
|
|
106
|
+
with:
|
|
107
|
+
sarif_file: sarif.json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Safety Invariant Rules
|
|
113
|
+
|
|
114
|
+
EPIC parses Rust source code directly to ensure upgrade changes do not break safety invariants:
|
|
115
|
+
|
|
116
|
+
| Rule ID | Name | Severity | Description |
|
|
117
|
+
| :--- | :--- | :--- | :--- |
|
|
118
|
+
| **EPIC-SEC-001** | Owner Validation | Critical | Ensures mutable account write paths are guarded by ownership checks (`account.owner == program_id`). |
|
|
119
|
+
| **EPIC-SEC-002** | Signer Validation | Critical | Verifies privileged mutations check signer authority. |
|
|
120
|
+
| **EPIC-SEC-003** | Missing Post-CPI Reload | Critical | Flags reads/writes on stale deserialized state cached before a mutating CPI. |
|
|
121
|
+
| **EPIC-SEC-004** | PDA Seed Collision Risk | High | Identifies adjacent variable-length seeds lacking delimiters that could cause derivation collision. |
|
|
122
|
+
| **EPIC-SEC-005** | Arbitrary CPI Targets | Critical | Flags CPIs targeting dynamic program IDs without validations. |
|
|
123
|
+
|
|
124
|
+
To inspect a rule's criteria in detail, run:
|
|
125
|
+
```bash
|
|
126
|
+
epic explain EPIC-SEC-001
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Architecture Overview
|
|
132
|
+
|
|
133
|
+
EPIC constructs control-flow representations of program ASTs and diffs state schemas across the following unified pipeline:
|
|
134
|
+
```
|
|
135
|
+
Source Code ➔ Rust AST Parser ➔ Type Registry ➔ CFG Builder ➔ SSA Engine ➔ Dominance Tree ➔ GuardFacts IR ➔ Rules Analyzer
|
|
136
|
+
```
|
|
137
|
+
For a deep dive into the compiler and engine architecture, see [docs/architecture.md](docs/architecture.md).
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Roadmap
|
|
142
|
+
|
|
143
|
+
* **IDL-based layout drift verification**: Track compatibility profiles directly via published IDLs.
|
|
144
|
+
* **Editor LSP integration**: Real-time IDE diagnostics for layout drift and offset alignment.
|
|
145
|
+
* **Migration assistance**: Automatically generate Anchor state migration wrappers.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Contributing
|
|
150
|
+
|
|
151
|
+
We welcome contributions to EPIC! See [CONTRIBUTING.md](CONTRIBUTING.md) for local development setup, package structure, and submission guidelines.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## License
|
|
156
|
+
|
|
157
|
+
EPIC is open-source developer tooling licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
|
package/dist/index.js
CHANGED
|
@@ -10,8 +10,10 @@ const program = new Command();
|
|
|
10
10
|
program
|
|
11
11
|
.name("epic")
|
|
12
12
|
.description("EPIC CLI for Solana Upgrade Intelligence (powered by parser-v2 Rust AST engine).")
|
|
13
|
-
.version("0.4.0")
|
|
13
|
+
.version("0.4.0")
|
|
14
|
+
.option("--no-banner", "Disable the startup banner");
|
|
14
15
|
import { resolveParserBinary } from "./loader.js";
|
|
16
|
+
import { printBanner, printInitSequence, printSection, printRuleFinding, colors, printFinalSignature, DIVIDER } from "./ui.js";
|
|
15
17
|
function findRustBinary() {
|
|
16
18
|
try {
|
|
17
19
|
return resolveParserBinary();
|
|
@@ -26,7 +28,15 @@ program
|
|
|
26
28
|
.description("Analyze a Solana program workspace and report state account sizes.")
|
|
27
29
|
.argument("<path>", "Path to an Anchor project, Rust source directory, or Rust file")
|
|
28
30
|
.action((targetPath) => {
|
|
31
|
+
const startTime = Date.now();
|
|
29
32
|
try {
|
|
33
|
+
const opts = program.opts();
|
|
34
|
+
printBanner(!opts.banner);
|
|
35
|
+
printInitSequence([
|
|
36
|
+
"Rust AST Engine Ready",
|
|
37
|
+
"Anchor Workspace Detected",
|
|
38
|
+
"Analysis Engine Ready"
|
|
39
|
+
]);
|
|
30
40
|
const binary = findRustBinary();
|
|
31
41
|
const resolvedPath = path.resolve(targetPath);
|
|
32
42
|
const result = spawnSync(binary, [resolvedPath], { encoding: "utf-8" });
|
|
@@ -38,22 +48,36 @@ program
|
|
|
38
48
|
process.exit(result.status ?? 1);
|
|
39
49
|
}
|
|
40
50
|
const report = JSON.parse(result.stdout.trim());
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
printSection("Workspace", {
|
|
52
|
+
Project: path.basename(resolvedPath),
|
|
53
|
+
Structs: report.structs_found,
|
|
54
|
+
Enums: report.enums_found,
|
|
55
|
+
Aliases: report.aliases_found
|
|
56
|
+
});
|
|
57
|
+
printSection("Parser", {
|
|
58
|
+
Engine: "Rust AST v2",
|
|
59
|
+
Status: "Ready"
|
|
60
|
+
});
|
|
43
61
|
if (!report.accounts || report.accounts.length === 0) {
|
|
44
|
-
console.log("No state accounts (#[account] structures) found
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
62
|
+
console.log(colors.info("No state accounts (#[account] structures) found.\n"));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log("STATE ACCOUNTS:");
|
|
66
|
+
for (const account of report.accounts) {
|
|
67
|
+
const layoutType = account.dynamic ? "Dynamic" : "Static";
|
|
68
|
+
const prefix = account.dynamic ? colors.warning("⚠️") : "├──";
|
|
69
|
+
console.log(`${prefix} ${account.account} (${account.size} bytes) [${account.namespace}] [${layoutType}]`);
|
|
70
|
+
if (account.dynamic) {
|
|
71
|
+
console.log(` └─ Warning: Dynamic size detected. Static layout realloc checks may be inaccurate.`);
|
|
72
|
+
}
|
|
54
73
|
}
|
|
74
|
+
console.log("");
|
|
55
75
|
}
|
|
56
|
-
console.log(
|
|
76
|
+
console.log(colors.graphite(DIVIDER));
|
|
77
|
+
console.log(colors.success("Completed successfully."));
|
|
78
|
+
console.log(`${"State Accounts".padEnd(19)} ${report.accounts ? report.accounts.length : 0}`);
|
|
79
|
+
console.log(`Completed in ${Date.now() - startTime} ms\n`);
|
|
80
|
+
printFinalSignature();
|
|
57
81
|
}
|
|
58
82
|
catch (error) {
|
|
59
83
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -68,7 +92,15 @@ program
|
|
|
68
92
|
.argument("<old_path>", "Path to the old program version source directory")
|
|
69
93
|
.argument("<new_path>", "Path to the new program version source directory")
|
|
70
94
|
.action(async (oldPath, newPath, options) => {
|
|
95
|
+
const startTime = Date.now();
|
|
71
96
|
try {
|
|
97
|
+
const opts = program.opts();
|
|
98
|
+
printBanner(!opts.banner);
|
|
99
|
+
printInitSequence([
|
|
100
|
+
"Rust AST Engine Ready",
|
|
101
|
+
"Anchor Workspace Detected",
|
|
102
|
+
"Upgrade Graph Built"
|
|
103
|
+
]);
|
|
72
104
|
const resolvedOldPath = path.resolve(oldPath);
|
|
73
105
|
const resolvedNewPath = path.resolve(newPath);
|
|
74
106
|
let epicConfig;
|
|
@@ -84,12 +116,19 @@ program
|
|
|
84
116
|
const severityOrder = ["SAFE", "MINOR", "WARNING", "MAJOR", "CRITICAL"];
|
|
85
117
|
const thresholdIndex = severityOrder.indexOf(epicConfig.failOnSeverity);
|
|
86
118
|
const reportSeverityIndex = severityOrder.indexOf(report.severity);
|
|
119
|
+
console.log(colors.graphite(DIVIDER));
|
|
120
|
+
if (thresholdIndex !== -1 && reportSeverityIndex !== -1 && reportSeverityIndex >= thresholdIndex) {
|
|
121
|
+
console.log(colors.critical(`❌ EPIC Guard Blocked: Upgrade severity is ${report.severity} (threshold: ${epicConfig.failOnSeverity}).`));
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.log(colors.success(`✅ EPIC Guard Approved Upgrade.`));
|
|
125
|
+
}
|
|
126
|
+
console.log(`Completed in ${Date.now() - startTime} ms\n`);
|
|
127
|
+
printFinalSignature();
|
|
87
128
|
if (thresholdIndex !== -1 && reportSeverityIndex !== -1 && reportSeverityIndex >= thresholdIndex) {
|
|
88
|
-
console.error(`❌ EPIC Guard Blocked: Upgrade severity is ${report.severity} (threshold: ${epicConfig.failOnSeverity}).`);
|
|
89
129
|
process.exit(1);
|
|
90
130
|
}
|
|
91
131
|
else {
|
|
92
|
-
console.log(`✅ EPIC Guard Approved Upgrade.`);
|
|
93
132
|
process.exit(0);
|
|
94
133
|
}
|
|
95
134
|
}
|
|
@@ -262,7 +301,17 @@ program
|
|
|
262
301
|
.option("-c, --config <path>", "Path to epic.toml configuration file")
|
|
263
302
|
.option("--ignore <rules>", "Rule IDs to ignore (comma-separated)", (val) => val.split(",").map(r => r.trim()))
|
|
264
303
|
.action(async (targetPath, options) => {
|
|
304
|
+
const startTime = Date.now();
|
|
265
305
|
try {
|
|
306
|
+
const opts = program.opts();
|
|
307
|
+
if (options.format === "text") {
|
|
308
|
+
printBanner(!opts.banner);
|
|
309
|
+
printInitSequence([
|
|
310
|
+
"Rust AST Engine Ready",
|
|
311
|
+
"5 Security Rules Loaded",
|
|
312
|
+
"Anchor Workspace Detected"
|
|
313
|
+
]);
|
|
314
|
+
}
|
|
266
315
|
const binary = findRustBinary();
|
|
267
316
|
const resolvedPath = path.resolve(targetPath);
|
|
268
317
|
const result = spawnSync(binary, ["audit", resolvedPath], { encoding: "utf-8" });
|
|
@@ -295,18 +344,48 @@ program
|
|
|
295
344
|
}
|
|
296
345
|
const activeFindings = findings.filter((f) => !ignoredRules.has(f.rule_id));
|
|
297
346
|
if (options.format === "text") {
|
|
347
|
+
printSection("Workspace", {
|
|
348
|
+
Project: path.basename(resolvedPath) || ".",
|
|
349
|
+
"Security Rules": 5,
|
|
350
|
+
"Configuration": options.config || "epic.toml"
|
|
351
|
+
});
|
|
352
|
+
printInitSequence([
|
|
353
|
+
"Workspace Scanned",
|
|
354
|
+
"Account Layout Analysis Complete",
|
|
355
|
+
"Upgrade Safety Verified",
|
|
356
|
+
"Security Rules Executed"
|
|
357
|
+
]);
|
|
358
|
+
const criticalCount = activeFindings.filter((f) => getSeverityLevel(f.severity) === 3).length;
|
|
359
|
+
const warningCount = activeFindings.filter((f) => getSeverityLevel(f.severity) < 3).length;
|
|
360
|
+
printSection("Scan Summary", {
|
|
361
|
+
"Rules Executed": 5,
|
|
362
|
+
"Findings": activeFindings.length
|
|
363
|
+
});
|
|
364
|
+
for (const finding of activeFindings) {
|
|
365
|
+
const relPath = path.relative(process.cwd(), finding.location.file);
|
|
366
|
+
printRuleFinding({
|
|
367
|
+
severity: finding.severity,
|
|
368
|
+
rule_id: finding.rule_id,
|
|
369
|
+
rule_name: finding.rule_name,
|
|
370
|
+
location: {
|
|
371
|
+
file: relPath,
|
|
372
|
+
line: finding.location.line,
|
|
373
|
+
},
|
|
374
|
+
message: finding.message
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
console.log(colors.graphite(DIVIDER));
|
|
298
378
|
if (activeFindings.length === 0) {
|
|
299
|
-
console.log("No
|
|
379
|
+
console.log(colors.success("No critical vulnerabilities detected."));
|
|
300
380
|
}
|
|
301
381
|
else {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
console.log(`${relPath}:${finding.location.line}:${finding.location.column}`);
|
|
307
|
-
console.log(`${finding.message}\n`);
|
|
308
|
-
}
|
|
382
|
+
console.log(colors.success("Completed successfully."));
|
|
383
|
+
console.log(`${"Rules Executed".padEnd(19)} 5`);
|
|
384
|
+
console.log(`${"Critical Findings".padEnd(19)} ${criticalCount}`);
|
|
385
|
+
console.log(`${"Warnings".padEnd(19)} ${warningCount}`);
|
|
309
386
|
}
|
|
387
|
+
console.log(`Completed in ${Date.now() - startTime} ms\n`);
|
|
388
|
+
printFinalSignature();
|
|
310
389
|
}
|
|
311
390
|
else if (options.format === "json") {
|
|
312
391
|
console.log(JSON.stringify(activeFindings, null, 2));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-ui.d.ts","sourceRoot":"","sources":["../src/test-ui.ts"],"names":[],"mappings":""}
|
package/dist/test-ui.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-ui.js","sourceRoot":"","sources":["../src/test-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,WAAW,EAAE,CAAC"}
|
package/dist/ui.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const colors: {
|
|
2
|
+
gold: (text: string) => string;
|
|
3
|
+
ivory: (text: string) => string;
|
|
4
|
+
gray: (text: string) => string;
|
|
5
|
+
graphite: (text: string) => string;
|
|
6
|
+
success: (text: string) => string;
|
|
7
|
+
warning: (text: string) => string;
|
|
8
|
+
critical: (text: string) => string;
|
|
9
|
+
info: (text: string) => string;
|
|
10
|
+
violet: (text: string) => string;
|
|
11
|
+
};
|
|
12
|
+
export declare const DIVIDER = "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500";
|
|
13
|
+
export declare const printBanner: (noBannerFlag?: boolean) => void;
|
|
14
|
+
export declare const printFinalSignature: () => void;
|
|
15
|
+
export declare const printInitSequence: (steps: string[]) => void;
|
|
16
|
+
export declare const printSection: (title: string, data: Record<string, string | number>) => void;
|
|
17
|
+
export declare const formatSeverity: (sev: string) => string;
|
|
18
|
+
export declare const printRuleFinding: (finding: any) => void;
|
|
19
|
+
//# sourceMappingURL=ui.d.ts.map
|
package/dist/ui.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM;iBACJ,MAAM;kBACL,MAAM;iBACP,MAAM;qBACF,MAAM;oBACP,MAAM;oBACN,MAAM;qBACL,MAAM;iBACV,MAAM;mBACJ,MAAM;CACtB,CAAC;AAEF,eAAO,MAAM,OAAO,qPAA6C,CAAC;AAIlE,eAAO,MAAM,WAAW,GAAI,eAAc,OAAe,SA0BxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAK/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,SAMhD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,SAOhF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,WASzC,CAAC;AAUF,eAAO,MAAM,gBAAgB,GAAI,SAAS,GAAG,SAa5C,CAAC"}
|
package/dist/ui.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// Colors
|
|
2
|
+
const isColorsEnabled = () => {
|
|
3
|
+
if (process.env.NO_COLOR)
|
|
4
|
+
return false;
|
|
5
|
+
if (!process.stdout.isTTY)
|
|
6
|
+
return false;
|
|
7
|
+
return true;
|
|
8
|
+
};
|
|
9
|
+
export const colors = {
|
|
10
|
+
gold: (text) => isColorsEnabled() ? `\x1b[38;2;214;185;140m${text}\x1b[0m` : text,
|
|
11
|
+
ivory: (text) => isColorsEnabled() ? `\x1b[38;2;244;239;230m${text}\x1b[0m` : text,
|
|
12
|
+
gray: (text) => isColorsEnabled() ? `\x1b[38;2;156;163;175m${text}\x1b[0m` : text,
|
|
13
|
+
graphite: (text) => isColorsEnabled() ? `\x1b[38;2;58;58;58m${text}\x1b[0m` : text,
|
|
14
|
+
success: (text) => isColorsEnabled() ? `\x1b[38;2;74;222;128m${text}\x1b[0m` : text,
|
|
15
|
+
warning: (text) => isColorsEnabled() ? `\x1b[38;2;251;191;36m${text}\x1b[0m` : text,
|
|
16
|
+
critical: (text) => isColorsEnabled() ? `\x1b[38;2;239;68;68m${text}\x1b[0m` : text,
|
|
17
|
+
info: (text) => isColorsEnabled() ? `\x1b[38;2;59;130;246m${text}\x1b[0m` : text,
|
|
18
|
+
violet: (text) => isColorsEnabled() ? `\x1b[38;2;139;92;246m${text}\x1b[0m` : text,
|
|
19
|
+
};
|
|
20
|
+
export const DIVIDER = "────────────────────────────────────────";
|
|
21
|
+
let bannerPrinted = false;
|
|
22
|
+
export const printBanner = (noBannerFlag = false) => {
|
|
23
|
+
if (bannerPrinted)
|
|
24
|
+
return;
|
|
25
|
+
if (noBannerFlag || process.env.EPIC_NO_BANNER === "1") {
|
|
26
|
+
bannerPrinted = true;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (!process.stdout.isTTY) {
|
|
30
|
+
bannerPrinted = true;
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const logo = `
|
|
34
|
+
███████╗██████╗ ██╗ ██████╗
|
|
35
|
+
██╔════╝██╔══██╗██║██╔════╝
|
|
36
|
+
█████╗ ██████╔╝██║██║
|
|
37
|
+
██╔══╝ ██╔═══╝ ██║██║
|
|
38
|
+
███████╗██║ ██║╚██████╗
|
|
39
|
+
╚══════╝╚═╝ ╚═╝ ╚═════╝`;
|
|
40
|
+
console.log(colors.gold(logo.substring(1)));
|
|
41
|
+
console.log(colors.ivory("EPIC v0.1.0-beta.2"));
|
|
42
|
+
console.log(colors.gray("Know your upgrade before mainnet."));
|
|
43
|
+
console.log(colors.graphite(DIVIDER));
|
|
44
|
+
bannerPrinted = true;
|
|
45
|
+
};
|
|
46
|
+
export const printFinalSignature = () => {
|
|
47
|
+
if (!process.stdout.isTTY || process.env.EPIC_NO_BANNER === "1")
|
|
48
|
+
return;
|
|
49
|
+
console.log(colors.graphite(DIVIDER));
|
|
50
|
+
console.log(colors.gold("EPIC v0.1.0-beta.2"));
|
|
51
|
+
console.log(colors.gray("Know your upgrade before mainnet."));
|
|
52
|
+
};
|
|
53
|
+
export const printInitSequence = (steps) => {
|
|
54
|
+
if (!process.stdout.isTTY)
|
|
55
|
+
return;
|
|
56
|
+
for (const step of steps) {
|
|
57
|
+
console.log(`${colors.success("✓")} ${step}`);
|
|
58
|
+
}
|
|
59
|
+
console.log("");
|
|
60
|
+
};
|
|
61
|
+
export const printSection = (title, data) => {
|
|
62
|
+
console.log(colors.ivory(title));
|
|
63
|
+
console.log(colors.graphite(DIVIDER));
|
|
64
|
+
for (const [key, value] of Object.entries(data)) {
|
|
65
|
+
console.log(`${key.padEnd(19)} ${value}`);
|
|
66
|
+
}
|
|
67
|
+
console.log("");
|
|
68
|
+
};
|
|
69
|
+
export const formatSeverity = (sev) => {
|
|
70
|
+
const s = sev.toUpperCase();
|
|
71
|
+
if (s === "CRITICAL")
|
|
72
|
+
return colors.critical(s);
|
|
73
|
+
if (s === "HIGH")
|
|
74
|
+
return colors.warning(s);
|
|
75
|
+
if (s === "MAJOR" || s === "MEDIUM")
|
|
76
|
+
return colors.warning(s);
|
|
77
|
+
if (s === "WARNING")
|
|
78
|
+
return colors.warning(s);
|
|
79
|
+
if (s === "INFO")
|
|
80
|
+
return colors.info(s);
|
|
81
|
+
if (s === "SAFE" || s === "MINOR")
|
|
82
|
+
return colors.success(s);
|
|
83
|
+
return s;
|
|
84
|
+
};
|
|
85
|
+
const ruleNames = {
|
|
86
|
+
"EPIC-SEC-001": "Owner Validation",
|
|
87
|
+
"EPIC-SEC-002": "Missing Signer Validation",
|
|
88
|
+
"EPIC-SEC-003": "Missing Post-CPI Account Reload",
|
|
89
|
+
"EPIC-SEC-004": "PDA Cryptographic Seed Collision Risk",
|
|
90
|
+
"EPIC-SEC-005": "Arbitrary CPI Target Program Spoofing"
|
|
91
|
+
};
|
|
92
|
+
export const printRuleFinding = (finding) => {
|
|
93
|
+
const sev = formatSeverity(finding.severity);
|
|
94
|
+
const ruleId = colors.violet(finding.rule_id);
|
|
95
|
+
const ruleName = finding.rule_name || ruleNames[finding.rule_id] || finding.rule_id;
|
|
96
|
+
console.log(sev);
|
|
97
|
+
console.log(ruleId);
|
|
98
|
+
console.log(colors.ivory(ruleName));
|
|
99
|
+
console.log(colors.gray("Location"));
|
|
100
|
+
console.log(`${finding.location.file}:${finding.location.line}`);
|
|
101
|
+
console.log(colors.gray("Recommendation"));
|
|
102
|
+
console.log(finding.message);
|
|
103
|
+
console.log(colors.graphite(DIVIDER));
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana-epic/cli",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -21,18 +21,37 @@
|
|
|
21
21
|
"test": "node --test test/*.test.mjs"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@solana-epic/diff-engine": "^0.1.0-beta.
|
|
25
|
-
"@solana-epic/parser": "^0.1.0-beta.
|
|
24
|
+
"@solana-epic/diff-engine": "^0.1.0-beta.2",
|
|
25
|
+
"@solana-epic/parser": "^0.1.0-beta.2",
|
|
26
26
|
"commander": "^14.0.0"
|
|
27
27
|
},
|
|
28
28
|
"optionalDependencies": {
|
|
29
|
-
"@solana-epic/cli-darwin-arm64": "^0.1.0-beta.
|
|
30
|
-
"@solana-epic/cli-darwin-x64": "^0.1.0-beta.
|
|
31
|
-
"@solana-epic/cli-linux-x64": "^0.1.0-beta.
|
|
32
|
-
"@solana-epic/cli-win32-x64": "^0.1.0-beta.
|
|
29
|
+
"@solana-epic/cli-darwin-arm64": "^0.1.0-beta.2",
|
|
30
|
+
"@solana-epic/cli-darwin-x64": "^0.1.0-beta.2",
|
|
31
|
+
"@solana-epic/cli-linux-x64": "^0.1.0-beta.2",
|
|
32
|
+
"@solana-epic/cli-win32-x64": "^0.1.0-beta.2"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "^22.15.29",
|
|
36
36
|
"tsx": "^4.19.4"
|
|
37
|
-
}
|
|
37
|
+
},
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"homepage": "https://github.com/solana-epic/epic#readme",
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/solana-epic/epic.git"
|
|
43
|
+
},
|
|
44
|
+
"bugs": {
|
|
45
|
+
"url": "https://github.com/solana-epic/epic/issues"
|
|
46
|
+
},
|
|
47
|
+
"keywords": [
|
|
48
|
+
"solana",
|
|
49
|
+
"anchor",
|
|
50
|
+
"security",
|
|
51
|
+
"static-analysis",
|
|
52
|
+
"audit",
|
|
53
|
+
"upgrade-safety",
|
|
54
|
+
"rust"
|
|
55
|
+
],
|
|
56
|
+
"author": "Solana EPIC Team"
|
|
38
57
|
}
|