0sec-cli 0.17.0 → 0.18.0

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.
Files changed (62) hide show
  1. package/0sec.js +40 -35
  2. package/README.md +9 -0
  3. package/chunks/{adapt-loop-ECQG7454.js → adapt-loop-SMH6V4PD.js} +4 -4
  4. package/chunks/{artifact-scraper-GJEZMOHF.js → artifact-scraper-HQ7HLP6V.js} +2 -2
  5. package/chunks/{assumption-mining-BVMMUZHB.js → assumption-mining-5SNIVVDN.js} +13 -13
  6. package/chunks/{chunk-SZJCPG2I.js → chunk-242TMK6G.js} +1 -1
  7. package/chunks/{chunk-HE7LCA7G.js → chunk-2JCCA2JL.js} +1 -1
  8. package/chunks/{chunk-SNKTC4BP.js → chunk-3KPWWJCI.js} +1 -1
  9. package/chunks/{chunk-IORC6MQX.js → chunk-5JI7L7KV.js} +1557 -145
  10. package/chunks/{chunk-KKGE5RQE.js → chunk-6L26OBWI.js} +1 -1
  11. package/chunks/{chunk-HT6P7RY3.js → chunk-72CISA2D.js} +1 -1
  12. package/chunks/{chunk-VGRDNSHA.js → chunk-AD7WXDH6.js} +3 -2
  13. package/chunks/{chunk-QOKTUOU2.js → chunk-ADOLI6DT.js} +1 -1
  14. package/chunks/{chunk-HDWV7PGI.js → chunk-AHTBZC3E.js} +2 -2
  15. package/chunks/{chunk-D6S3IIPG.js → chunk-ASUR522M.js} +3 -3
  16. package/chunks/{chunk-CLHCDHP4.js → chunk-ATATQACO.js} +1 -1
  17. package/chunks/{chunk-KTQDLNSR.js → chunk-BATRQBOR.js} +1 -1
  18. package/chunks/{chunk-K26SZ37E.js → chunk-BFR2CDV5.js} +7 -7
  19. package/chunks/{chunk-A6CLR72I.js → chunk-BFRB6HB2.js} +1 -1
  20. package/chunks/{chunk-H44E2CRN.js → chunk-BVAZO4WA.js} +1 -1
  21. package/chunks/{chunk-O462Y7P2.js → chunk-BZNEY2ZS.js} +334 -128
  22. package/chunks/{chunk-DN25OQQA.js → chunk-C2WXWFBB.js} +1 -1
  23. package/chunks/{chunk-QJQKHO7G.js → chunk-CMKXP5RR.js} +1 -1
  24. package/chunks/{chunk-2CJ776PV.js → chunk-GMT2AZKM.js} +23 -14
  25. package/chunks/{chunk-47TQJWDH.js → chunk-JQHOLLTD.js} +3 -3
  26. package/chunks/{chunk-MMLDQR4H.js → chunk-N7BOUYEV.js} +3 -3
  27. package/chunks/{chunk-QKICO43A.js → chunk-SVJEDVYK.js} +1 -1
  28. package/chunks/{chunk-3QFDYBZQ.js → chunk-TSK2AG6J.js} +18 -18
  29. package/chunks/{chunk-UJ4IK5PO.js → chunk-U5FLXGHT.js} +1 -1
  30. package/chunks/{chunk-SOG2U7B3.js → chunk-UCYRA73C.js} +1 -1
  31. package/chunks/{chunk-2SANI5RH.js → chunk-UR4ELX2Y.js} +61 -5
  32. package/chunks/{chunk-UM3ZNQIM.js → chunk-WEBMRWEG.js} +17 -9
  33. package/chunks/{chunk-RDZYQQLW.js → chunk-WXQ6BJ6A.js} +1 -1
  34. package/chunks/{chunk-4Y4KQJXE.js → chunk-XM5NLHYU.js} +6 -6
  35. package/chunks/{chunk-LOHTE223.js → chunk-YYRBQVFE.js} +1 -1
  36. package/chunks/{chunk-WKNNZVJS.js → chunk-Z5FA2XOX.js} +1 -1
  37. package/chunks/{commands-U3AMV5ZU.js → commands-TBC2F5CE.js} +635 -431
  38. package/chunks/{cost-ledger-ZCKMBJEN.js → cost-ledger-NU63MYZM.js} +2 -2
  39. package/chunks/{db-26NGQFKO.js → db-KFWOAUUB.js} +3 -3
  40. package/chunks/{disclose-A6AEIEDA.js → disclose-EKTWSCGW.js} +2 -2
  41. package/chunks/{dist-GL66KMUX.js → dist-4MAW5X6L.js} +2 -2
  42. package/chunks/{dist-FDKALV4R.js → dist-4YICS2J2.js} +29 -25
  43. package/chunks/{dist-JR67XKYO.js → dist-FMGSR3DW.js} +1 -1
  44. package/chunks/{eval-runner-DDLE5RQ3.js → eval-runner-7ZF472KV.js} +8 -8
  45. package/chunks/{exploit-agent-XP23ISN7.js → exploit-agent-45YQOHPJ.js} +1 -1
  46. package/chunks/{exploit-autoclimb-E6T7RRSC.js → exploit-autoclimb-UZGEMGYT.js} +1 -1
  47. package/chunks/{exploit-climb-2FAUP6XU.js → exploit-climb-SG23KB2G.js} +2 -2
  48. package/chunks/{harness-HWOYFKFY.js → harness-7ODOLOWU.js} +3 -3
  49. package/chunks/{hunt-scan-XPELSPQQ.js → hunt-scan-MMKUOETU.js} +11 -11
  50. package/chunks/{kernel-primitive-TENE3R7T.js → kernel-primitive-7U6CWHXD.js} +2 -2
  51. package/chunks/{kernel-vm-runner-4F6QSNFY.js → kernel-vm-runner-3JAU4O6J.js} +2 -2
  52. package/chunks/{native-loop-NTONUDP7.js → native-loop-RJCJPOUS.js} +7 -7
  53. package/chunks/{orchestrate-ZUWAUWBC.js → orchestrate-OC2VZN2X.js} +26 -26
  54. package/chunks/{pipeline-FCARFZU3.js → pipeline-BZK5BLJR.js} +2 -2
  55. package/chunks/{process-3Q7QJIOZ.js → process-LQRCS5OY.js} +3 -3
  56. package/chunks/{replay-runner-RRR4E2A7.js → replay-runner-45G3VU7X.js} +2 -2
  57. package/chunks/{run-ESNN4V5W.js → run-D56MPDKY.js} +324 -240
  58. package/chunks/{runtime-62ZQAH7H.js → runtime-G7YWIO3B.js} +5 -5
  59. package/chunks/{session-store-BCFQYDCE.js → session-store-GZ4A4KYT.js} +2 -2
  60. package/chunks/{variant-candidates-6KM6F6MD.js → variant-candidates-YERCYMPD.js} +3 -3
  61. package/chunks/{web-recon-prepass-DPVCBRZA.js → web-recon-prepass-JJGPEOLE.js} +3 -3
  62. package/package.json +1 -1
package/0sec.js CHANGED
@@ -4,7 +4,7 @@ const require = __0secCreateRequire(import.meta.url);
4
4
  import {
5
5
  Command,
6
6
  runStartupUpdate
7
- } from "./chunks/chunk-VGRDNSHA.js";
7
+ } from "./chunks/chunk-AD7WXDH6.js";
8
8
  import {
9
9
  resolveEngagement,
10
10
  setHerdrSink
@@ -15,65 +15,64 @@ import {
15
15
  installProcessPresentationStreamBridge,
16
16
  maybeLoadCodexAuth,
17
17
  presentationEventBus
18
- } from "./chunks/chunk-2CJ776PV.js";
18
+ } from "./chunks/chunk-GMT2AZKM.js";
19
19
  import {
20
20
  createHerdrEventSink,
21
21
  maybeSubscribeOperationalEventSink
22
- } from "./chunks/chunk-IORC6MQX.js";
23
- import "./chunks/chunk-QJQKHO7G.js";
22
+ } from "./chunks/chunk-5JI7L7KV.js";
23
+ import "./chunks/chunk-CMKXP5RR.js";
24
24
  import {
25
25
  source_default
26
26
  } from "./chunks/chunk-SF4KZ4O3.js";
27
- import "./chunks/chunk-HDWV7PGI.js";
27
+ import "./chunks/chunk-AHTBZC3E.js";
28
28
  import "./chunks/chunk-WVTBZEQO.js";
29
29
  import "./chunks/chunk-5G3ZXFBW.js";
30
30
  import "./chunks/chunk-7DQEV5QI.js";
31
31
  import "./chunks/chunk-RWONANDA.js";
32
- import "./chunks/chunk-KTQDLNSR.js";
33
- import "./chunks/chunk-HE7LCA7G.js";
34
- import "./chunks/chunk-D6S3IIPG.js";
35
- import "./chunks/chunk-A6CLR72I.js";
36
- import "./chunks/chunk-47TQJWDH.js";
37
- import "./chunks/chunk-SNKTC4BP.js";
32
+ import "./chunks/chunk-BATRQBOR.js";
33
+ import "./chunks/chunk-2JCCA2JL.js";
34
+ import "./chunks/chunk-ASUR522M.js";
35
+ import "./chunks/chunk-BFRB6HB2.js";
36
+ import "./chunks/chunk-JQHOLLTD.js";
37
+ import "./chunks/chunk-3KPWWJCI.js";
38
38
  import "./chunks/chunk-F3WBKITT.js";
39
- import "./chunks/chunk-DN25OQQA.js";
39
+ import "./chunks/chunk-C2WXWFBB.js";
40
40
  import "./chunks/chunk-IOL7D5YV.js";
41
41
  import "./chunks/chunk-2RMLOJVB.js";
42
42
  import "./chunks/chunk-BKZFDZ23.js";
43
43
  import "./chunks/chunk-53G27VPS.js";
44
- import "./chunks/chunk-K26SZ37E.js";
44
+ import "./chunks/chunk-BFR2CDV5.js";
45
45
  import "./chunks/chunk-RJWOYEOG.js";
46
46
  import {
47
- ANALYTICS_LEVEL_ENV,
48
- maybeSubscribeAnalyticsPipeline
49
- } from "./chunks/chunk-O462Y7P2.js";
50
- import "./chunks/chunk-LOHTE223.js";
47
+ analyticsPipeline
48
+ } from "./chunks/chunk-BZNEY2ZS.js";
49
+ import "./chunks/chunk-YYRBQVFE.js";
51
50
  import "./chunks/chunk-3MOLBTLS.js";
52
51
  import "./chunks/chunk-P6WKNFWX.js";
53
- import "./chunks/chunk-SOG2U7B3.js";
52
+ import "./chunks/chunk-UCYRA73C.js";
54
53
  import "./chunks/chunk-LP3HHYQU.js";
55
54
  import "./chunks/chunk-KLTNTE2Z.js";
56
- import "./chunks/chunk-HT6P7RY3.js";
55
+ import "./chunks/chunk-72CISA2D.js";
57
56
  import "./chunks/chunk-QI233I24.js";
58
- import "./chunks/chunk-SZJCPG2I.js";
59
- import "./chunks/chunk-WKNNZVJS.js";
57
+ import "./chunks/chunk-242TMK6G.js";
58
+ import "./chunks/chunk-Z5FA2XOX.js";
60
59
  import "./chunks/chunk-RRMJC3ZE.js";
61
60
  import "./chunks/chunk-H2FFLZNK.js";
62
- import "./chunks/chunk-UJ4IK5PO.js";
63
- import "./chunks/chunk-UM3ZNQIM.js";
64
- import "./chunks/chunk-QKICO43A.js";
61
+ import "./chunks/chunk-U5FLXGHT.js";
62
+ import "./chunks/chunk-WEBMRWEG.js";
63
+ import "./chunks/chunk-SVJEDVYK.js";
65
64
  import "./chunks/chunk-57ZENEX2.js";
66
- import "./chunks/chunk-MMLDQR4H.js";
67
- import "./chunks/chunk-2SANI5RH.js";
68
- import "./chunks/chunk-CLHCDHP4.js";
65
+ import "./chunks/chunk-N7BOUYEV.js";
66
+ import "./chunks/chunk-UR4ELX2Y.js";
67
+ import "./chunks/chunk-ATATQACO.js";
69
68
  import {
70
69
  eventBus,
71
70
  maybeSubscribeCloudEventSink,
72
71
  presentationEventSink
73
- } from "./chunks/chunk-QOKTUOU2.js";
72
+ } from "./chunks/chunk-ADOLI6DT.js";
74
73
  import {
75
74
  VERSION
76
- } from "./chunks/chunk-KKGE5RQE.js";
75
+ } from "./chunks/chunk-6L26OBWI.js";
77
76
  import "./chunks/chunk-YLMN3N25.js";
78
77
  import "./chunks/chunk-6LKRLK2R.js";
79
78
  import "./chunks/chunk-SAFFWQW4.js";
@@ -104,7 +103,7 @@ import { fileURLToPath } from "node:url";
104
103
  var BYPASS_ENV = "0SEC_ALLOW_STALE_SOURCE_DIST";
105
104
  function currentBuildCommit() {
106
105
  if (true) {
107
- return "6a34d78085f2d3edfe8c42c85f5261f1bf6f39f6";
106
+ return "12ad05beb38c5d132aacce95ed4236900be2a6dd";
108
107
  }
109
108
  return void 0;
110
109
  }
@@ -195,10 +194,10 @@ installProcessPresentationStreamBridge();
195
194
  maybeLoadCodexAuth();
196
195
  maybeSubscribeCloudEventSink();
197
196
  try {
198
- process.env[ANALYTICS_LEVEL_ENV] = getSettings().analyticsLevel;
197
+ getSettings();
199
198
  } catch {
199
+ analyticsPipeline.setLevel("off");
200
200
  }
201
- maybeSubscribeAnalyticsPipeline();
202
201
  maybeSubscribeOperationalEventSink();
203
202
  eventBus.subscribe(presentationEventSink(presentationEventBus));
204
203
  var herdrSink = createHerdrEventSink();
@@ -207,7 +206,7 @@ setHerdrSink(herdrSink);
207
206
  enforceSourceDistFreshness({ entryUrl: import.meta.url });
208
207
  await runStartupUpdate(VERSION);
209
208
  async function buildProgram() {
210
- const c = await import("./chunks/commands-U3AMV5ZU.js");
209
+ const c = await import("./chunks/commands-TBC2F5CE.js");
211
210
  const program = new Command();
212
211
  program.name("0sec").description("Open-source multi-model security research harness").version(VERSION).enablePositionalOptions();
213
212
  c.registerScanCommand(program);
@@ -215,8 +214,10 @@ async function buildProgram() {
215
214
  c.registerReplayCommand(program);
216
215
  c.registerHistoryCommand(program);
217
216
  c.registerFindingsCommand(program);
217
+ c.registerSecureCommand(program);
218
218
  c.registerReviewCommand(program);
219
219
  c.registerFixCommand(program);
220
+ c.registerConnectCommand(program);
220
221
  c.registerAuditCommand(program);
221
222
  c.registerDoctorCommand(program);
222
223
  c.registerDashboardCommand(program);
@@ -270,7 +271,7 @@ async function buildProgram() {
270
271
  async function showInteractiveMenu() {
271
272
  const { isBunRuntime } = await import("./chunks/runtime-J7PLXZNM.js");
272
273
  if (isBunRuntime()) {
273
- const { showOpenTuiHome } = await import("./chunks/run-ESNN4V5W.js");
274
+ const { showOpenTuiHome } = await import("./chunks/run-D56MPDKY.js");
274
275
  await showOpenTuiHome();
275
276
  return;
276
277
  }
@@ -288,8 +289,12 @@ async function showInteractiveMenu() {
288
289
  console.log(` 0sec --help`);
289
290
  console.log("");
290
291
  }
292
+ process.once("beforeExit", () => {
293
+ void analyticsPipeline.flushNow().catch(() => {
294
+ });
295
+ });
291
296
  var userArgs = process.argv.slice(2);
292
- var knownCommands = ["scan", "resume", "replay", "history", "findings", "review", "fix", "file-review", "audit", "doctor", "dashboard", "tui", "watch", "orchestrate", "db", "mcp-server", "eval", "bench", "ingest", "kernel", "disclose", "verify", "exploit", "hunt", "recency-hunt", "deep-review", "lens-synth", "memsafety", "assumption-hunt", "specdrift", "protocol-check", "cve", "upgrade", "h1", "auth", "login", "models", "balance", "intel", "recon", "js-recon", "npm-discovery", "identity", "adgraph", "entragraph", "cloud", "xnu-fuzz", "research", "timeline", "console", "agent-assure", "binary", "plugin", "theme", "config", "evolve", "hackstore", "hack", "store", "help"];
297
+ var knownCommands = ["scan", "resume", "replay", "history", "findings", "secure", "connect", "review", "fix", "file-review", "audit", "doctor", "dashboard", "tui", "watch", "orchestrate", "db", "mcp-server", "eval", "bench", "ingest", "kernel", "disclose", "verify", "exploit", "hunt", "recency-hunt", "deep-review", "lens-synth", "memsafety", "assumption-hunt", "specdrift", "protocol-check", "cve", "upgrade", "update", "h1", "auth", "login", "models", "balance", "intel", "recon", "js-recon", "npm-discovery", "identity", "adgraph", "entragraph", "cloud", "xnu-fuzz", "research", "timeline", "console", "agent-assure", "binary", "plugin", "theme", "config", "evolve", "hackstore", "hack", "store", "help"];
293
298
  if (userArgs.length === 0) {
294
299
  showInteractiveMenu().catch((err) => {
295
300
  console.error(source_default.red(err instanceof Error ? err.message : String(err)));
package/README.md CHANGED
@@ -47,6 +47,15 @@ export PATH="$HOME/.0sec/bin:$PATH"
47
47
  Add the `export` line to your shell profile. Run `0` to open the interactive
48
48
  console, or `0 --help` for commands. Only test systems you own or have permission to assess.
49
49
 
50
+ Alternatively, with Node.js 24 or newer:
51
+
52
+ ```bash
53
+ npm install -g 0sec-cli
54
+ 0sec --help
55
+ ```
56
+
57
+ The npm package is `0sec-cli`; its commands are `0sec` and `0`.
58
+
50
59
  ## Documentation
51
60
 
52
61
  - [Getting started](https://docs.0.security/getting-started/): installation, source builds and your first scan.
@@ -5,10 +5,10 @@ import {
5
5
  adaptAndVerify,
6
6
  applyUnifiedDiff,
7
7
  renderAdaptationPrompt
8
- } from "./chunk-D6S3IIPG.js";
9
- import "./chunk-SNKTC4BP.js";
10
- import "./chunk-SOG2U7B3.js";
11
- import "./chunk-KKGE5RQE.js";
8
+ } from "./chunk-ASUR522M.js";
9
+ import "./chunk-3KPWWJCI.js";
10
+ import "./chunk-UCYRA73C.js";
11
+ import "./chunk-6L26OBWI.js";
12
12
  import "./chunk-YLMN3N25.js";
13
13
  import "./chunk-IR537GON.js";
14
14
  export {
@@ -14,8 +14,8 @@ import {
14
14
  parseUbuntuTracker,
15
15
  scoreCodeCandidate,
16
16
  scoreRepoCandidate
17
- } from "./chunk-QKICO43A.js";
18
- import "./chunk-KKGE5RQE.js";
17
+ } from "./chunk-SVJEDVYK.js";
18
+ import "./chunk-6L26OBWI.js";
19
19
  import "./chunk-YLMN3N25.js";
20
20
  import "./chunk-IR537GON.js";
21
21
  export {
@@ -24,30 +24,30 @@ import {
24
24
  scoreDualViewWeaponizability,
25
25
  storeAssumptionModel,
26
26
  subjectSelfEnforces
27
- } from "./chunk-47TQJWDH.js";
28
- import "./chunk-SNKTC4BP.js";
27
+ } from "./chunk-JQHOLLTD.js";
28
+ import "./chunk-3KPWWJCI.js";
29
29
  import {
30
30
  composeGate,
31
31
  makeSkepticVerifier
32
- } from "./chunk-K26SZ37E.js";
32
+ } from "./chunk-BFR2CDV5.js";
33
33
  import "./chunk-RJWOYEOG.js";
34
- import "./chunk-O462Y7P2.js";
35
- import "./chunk-LOHTE223.js";
34
+ import "./chunk-BZNEY2ZS.js";
35
+ import "./chunk-YYRBQVFE.js";
36
36
  import "./chunk-3MOLBTLS.js";
37
37
  import "./chunk-P6WKNFWX.js";
38
- import "./chunk-SOG2U7B3.js";
38
+ import "./chunk-UCYRA73C.js";
39
39
  import "./chunk-LP3HHYQU.js";
40
40
  import "./chunk-KLTNTE2Z.js";
41
- import "./chunk-HT6P7RY3.js";
41
+ import "./chunk-72CISA2D.js";
42
42
  import "./chunk-RRMJC3ZE.js";
43
43
  import "./chunk-H2FFLZNK.js";
44
- import "./chunk-UM3ZNQIM.js";
44
+ import "./chunk-WEBMRWEG.js";
45
45
  import "./chunk-57ZENEX2.js";
46
- import "./chunk-MMLDQR4H.js";
47
- import "./chunk-2SANI5RH.js";
48
- import "./chunk-CLHCDHP4.js";
49
- import "./chunk-QOKTUOU2.js";
50
- import "./chunk-KKGE5RQE.js";
46
+ import "./chunk-N7BOUYEV.js";
47
+ import "./chunk-UR4ELX2Y.js";
48
+ import "./chunk-ATATQACO.js";
49
+ import "./chunk-ADOLI6DT.js";
50
+ import "./chunk-6L26OBWI.js";
51
51
  import "./chunk-YLMN3N25.js";
52
52
  import "./chunk-DW5UWPFY.js";
53
53
  import "./chunk-IR537GON.js";
@@ -5,7 +5,7 @@ import {
5
5
  estimateCost,
6
6
  modelProvider,
7
7
  splitCost
8
- } from "./chunk-KKGE5RQE.js";
8
+ } from "./chunk-6L26OBWI.js";
9
9
 
10
10
  // packages/core/dist/agent/cost-ledger.js
11
11
  var ScanCostLedger = class {
@@ -3,7 +3,7 @@ import { createRequire as __0secCreateRequire } from "node:module";
3
3
  const require = __0secCreateRequire(import.meta.url);
4
4
  import {
5
5
  severityRank
6
- } from "./chunk-KKGE5RQE.js";
6
+ } from "./chunk-6L26OBWI.js";
7
7
 
8
8
  // packages/core/dist/triage/kernel-primitive.js
9
9
  function maxSeverity(a, b) {
@@ -3,7 +3,7 @@ import { createRequire as __0secCreateRequire } from "node:module";
3
3
  const require = __0secCreateRequire(import.meta.url);
4
4
  import {
5
5
  homeStateDir
6
- } from "./chunk-KKGE5RQE.js";
6
+ } from "./chunk-6L26OBWI.js";
7
7
 
8
8
  // packages/core/dist/triage/kernel-vm-runner.js
9
9
  import { execFileSync, spawn } from "node:child_process";