icoa-cli 2.19.9 → 2.19.10
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/dist/commands/env.js +24 -0
- package/dist/index.js +2 -1
- package/dist/repl.js +9 -5
- package/package.json +1 -1
package/dist/commands/env.js
CHANGED
|
@@ -280,6 +280,19 @@ function showStatus() {
|
|
|
280
280
|
const pm = os === 'darwin' ? 'brew' : os === 'linux' ? 'apt' : 'winget';
|
|
281
281
|
console.log(chalk.bold.white(' ICOA Competition Environment'));
|
|
282
282
|
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
283
|
+
console.log();
|
|
284
|
+
console.log(chalk.gray(' These tools power your CTF competition environment.'));
|
|
285
|
+
console.log(chalk.gray(' Not all are required — here\'s what matters:'));
|
|
286
|
+
console.log();
|
|
287
|
+
console.log(chalk.green(' Essential') + chalk.gray(' pwntools, z3, requests, numpy'));
|
|
288
|
+
console.log(chalk.gray(' You need these for most challenges'));
|
|
289
|
+
console.log(chalk.yellow(' Recommended') + chalk.gray(' pycryptodome, beautifulsoup4, scapy, sympy'));
|
|
290
|
+
console.log(chalk.gray(' Covers Web, Crypto, and Forensics'));
|
|
291
|
+
console.log(chalk.gray(' Full (109) All tools for every category'));
|
|
292
|
+
console.log();
|
|
293
|
+
console.log(chalk.gray(' Missing tools? Run ') + chalk.bold.cyan('env setup') + chalk.gray(' to install everything.'));
|
|
294
|
+
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
295
|
+
console.log();
|
|
283
296
|
console.log(chalk.gray(' OS: ') + chalk.white(getOsInfo()));
|
|
284
297
|
console.log(chalk.gray(' Node: ') + chalk.white(getNodeInfo()));
|
|
285
298
|
console.log(chalk.gray(' Package: ') + chalk.white(pm));
|
|
@@ -382,6 +395,17 @@ async function installAll() {
|
|
|
382
395
|
console.log();
|
|
383
396
|
const os = platform();
|
|
384
397
|
const pipFlag = os === 'darwin' || os === 'linux' ? '--break-system-packages' : '';
|
|
398
|
+
console.log(chalk.bold.white(' ICOA Environment Setup'));
|
|
399
|
+
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
400
|
+
console.log(chalk.gray(' This will install:'));
|
|
401
|
+
console.log(chalk.white(' Python 3.12') + chalk.gray(' Runtime for CTF tools'));
|
|
402
|
+
console.log(chalk.white(` ${PYTHON_LIBS.length} Python libraries`) + chalk.gray(' pwntools, z3, crypto...'));
|
|
403
|
+
console.log(chalk.white(` ${SYSTEM_TOOLS.length} system tools`) + chalk.gray(' gcc, gdb, nmap, wireshark...'));
|
|
404
|
+
console.log();
|
|
405
|
+
console.log(chalk.gray(' Estimated: ~500 MB disk, 5-15 min (depends on network)'));
|
|
406
|
+
console.log(chalk.gray(' Already installed tools will be skipped.'));
|
|
407
|
+
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
408
|
+
console.log();
|
|
385
409
|
// Node.js version check
|
|
386
410
|
const nodeVer = process.versions.node;
|
|
387
411
|
if (nodeVer === NODE_EXACT) {
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,8 @@ ${LINE}
|
|
|
35
35
|
${chalk.bold.white('╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝')}
|
|
36
36
|
|
|
37
37
|
${chalk.yellow('International Cyber Olympiad in AI 2026')}
|
|
38
|
-
${chalk.bold.magenta("The World's First AI
|
|
38
|
+
${chalk.bold.magenta("The World's First AI-Native CLI Operating System")}
|
|
39
|
+
${chalk.bold.magenta("for Cybersecurity & AI Security Competition")}
|
|
39
40
|
|
|
40
41
|
${chalk.green.bold('AI4CTF')}${chalk.gray('[Day 1]')} ${chalk.white('AI as your teammate')}
|
|
41
42
|
${chalk.red.bold('CTF4AI')}${chalk.gray('[Day 2]')} ${chalk.white('Hack & evaluate AI systems')}
|
package/dist/repl.js
CHANGED
|
@@ -66,18 +66,20 @@ export async function startRepl(program, resumeMode) {
|
|
|
66
66
|
console.log(chalk.bold.white(' ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝'));
|
|
67
67
|
console.log();
|
|
68
68
|
console.log(chalk.bold.yellow(' The World\'s First'));
|
|
69
|
-
console.log(chalk.bold.white(' AI-Native CLI
|
|
70
|
-
console.log(chalk.bold.white(' Cybersecurity
|
|
69
|
+
console.log(chalk.bold.white(' AI-Native CLI Operating System for'));
|
|
70
|
+
console.log(chalk.bold.white(' Cybersecurity & AI Security Competition'));
|
|
71
71
|
console.log();
|
|
72
72
|
console.log(chalk.white(' One terminal. 15 languages. 15,000 concurrent participants.'));
|
|
73
|
+
console.log(chalk.white(' 109 pre-configured CTF tools. Zero browser required.'));
|
|
73
74
|
console.log();
|
|
74
75
|
console.log(chalk.cyan(' ─────────────────────────────────────────────────'));
|
|
75
76
|
console.log();
|
|
76
77
|
console.log(chalk.bold.white(' What Makes ICOA Different'));
|
|
77
|
-
console.log(chalk.gray(' · AI-
|
|
78
|
-
console.log(chalk.gray(' · CLI
|
|
78
|
+
console.log(chalk.gray(' · AI-native AI teammate, AI adversary, AI translation'));
|
|
79
|
+
console.log(chalk.gray(' · CLI OS Complete competition environment in terminal'));
|
|
80
|
+
console.log(chalk.gray(' · 109 tools pwntools, z3, gdb, nmap... pre-configured'));
|
|
79
81
|
console.log(chalk.gray(' · Global scale 15,000+ concurrent exams, single server'));
|
|
80
|
-
console.log(chalk.gray(' · 15 languages Real-time AI translation for all
|
|
82
|
+
console.log(chalk.gray(' · 15 languages Real-time AI translation for all content'));
|
|
81
83
|
console.log();
|
|
82
84
|
console.log(chalk.bold.white(' Competition Format'));
|
|
83
85
|
console.log(chalk.green.bold(' AI4CTF') + chalk.gray(' [Day 1] AI as your teammate — 5hr jeopardy CTF'));
|
|
@@ -199,6 +201,8 @@ export async function startRepl(program, resumeMode) {
|
|
|
199
201
|
console.log(chalk.bold.white(' ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝'));
|
|
200
202
|
console.log();
|
|
201
203
|
console.log(chalk.yellow(' International Cyber Olympiad in AI 2026'));
|
|
204
|
+
console.log(chalk.bold.magenta(' The World\'s First AI-Native CLI Operating System'));
|
|
205
|
+
console.log(chalk.bold.magenta(' for Cybersecurity & AI Security Competition'));
|
|
202
206
|
console.log(chalk.gray(' Sydney, Australia · Jun 27 - Jul 2, 2026'));
|
|
203
207
|
console.log();
|
|
204
208
|
console.log(chalk.white(' Vision'));
|