0sec-cli 0.24.1 → 0.25.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 (243) hide show
  1. package/0.js +64 -60
  2. package/README.md +121 -82
  3. package/chunks/{adapt-loop-L77BWMNE.js → adapt-loop-L2PXCD4J.js} +6 -5
  4. package/chunks/{artifact-scraper-BV67RAP5.js → artifact-scraper-W3LGLXBM.js} +4 -3
  5. package/chunks/{assumption-mining-RPVR77A3.js → assumption-mining-7IJ6ZWZE.js} +22 -20
  6. package/chunks/{backend-connections-ACIXNYZN.js → backend-connections-MYH4QRQG.js} +5 -4
  7. package/chunks/{chunk-QNRYOJEB.js → chunk-27SXCYWH.js} +1 -1
  8. package/chunks/{chunk-PJU24AKR.js → chunk-2J3STRJT.js} +337 -257
  9. package/chunks/chunk-36J5ZLFE.js +18729 -0
  10. package/chunks/chunk-3DF55BWV.js +49 -0
  11. package/chunks/{chunk-F2P25DJY.js → chunk-3HMO42M2.js} +1417 -316
  12. package/chunks/{chunk-PVJUPIQG.js → chunk-3T5R7P4T.js} +6 -6
  13. package/chunks/{chunk-SU4IHQQI.js → chunk-5H2PXZ7Q.js} +1 -1
  14. package/chunks/chunk-5XOYTAOK.js +1546 -0
  15. package/chunks/{chunk-X2IPO5JO.js → chunk-6TA3CWND.js} +2656 -2960
  16. package/chunks/{chunk-TVS6WVSK.js → chunk-76CLUI54.js} +3 -3
  17. package/chunks/{chunk-KCA35IL3.js → chunk-7PUJI64A.js} +11 -9
  18. package/chunks/{chunk-2NBZZFRG.js → chunk-7TIWL6E5.js} +8 -10
  19. package/chunks/chunk-ABKUI3QB.js +196 -0
  20. package/chunks/{chunk-3LPBJMHB.js → chunk-ACYZMJHC.js} +1 -1
  21. package/chunks/{chunk-H5QURBBK.js → chunk-AL32F74R.js} +1 -1
  22. package/chunks/{chunk-RURJYCWY.js → chunk-B5TIXHCO.js} +1 -1
  23. package/chunks/{chunk-GZA7RGK7.js → chunk-BWUW6ZQR.js} +2052 -1075
  24. package/chunks/{chunk-I43YYHDU.js → chunk-C6ZMPXN2.js} +5 -50
  25. package/chunks/{chunk-ILRMLA6J.js → chunk-D4IBEO2K.js} +1 -1
  26. package/chunks/{chunk-K74DRDC5.js → chunk-DHNYJ2ML.js} +1 -1
  27. package/chunks/{chunk-YKWARO3T.js → chunk-DJGJECBV.js} +93 -20
  28. package/chunks/{chunk-RVJVM5L4.js → chunk-DMDWIW3E.js} +5 -5
  29. package/chunks/{chunk-ZM6ANQZJ.js → chunk-EEP6GBUO.js} +16037 -34417
  30. package/chunks/{chunk-IJ6UPW3H.js → chunk-EIONVEFN.js} +208 -29
  31. package/chunks/chunk-EQBC2ZWL.js +2481 -0
  32. package/chunks/{chunk-3WUPCZGF.js → chunk-FI2H6HV2.js} +1 -1
  33. package/chunks/{chunk-5NFIY2SJ.js → chunk-FI5YL4R2.js} +3 -3
  34. package/chunks/{chunk-XA2IBHPB.js → chunk-FOLTHXRH.js} +1 -1
  35. package/chunks/{chunk-CJRZSWII.js → chunk-GOUGG7IQ.js} +3 -3
  36. package/chunks/{chunk-NBV4I237.js → chunk-GXSECFUE.js} +1 -1
  37. package/chunks/{chunk-BD7WULFS.js → chunk-HDJSHLRM.js} +3 -2
  38. package/chunks/{chunk-5WAHHZBF.js → chunk-HFUOUT2B.js} +61232 -30665
  39. package/chunks/chunk-HJKJ4NQP.js +196 -0
  40. package/chunks/{chunk-UJE4WOQS.js → chunk-I4VIAQHM.js} +1 -1
  41. package/chunks/{chunk-5ETI27Q3.js → chunk-ITEMDJAB.js} +3 -3
  42. package/chunks/chunk-ITHDAIRY.js +57 -0
  43. package/chunks/{chunk-R2XBH476.js → chunk-JCRQV4FE.js} +2 -2
  44. package/chunks/{chunk-SQCBHFWN.js → chunk-LWMEJYCP.js} +2 -2
  45. package/chunks/{chunk-5PFRE522.js → chunk-MY44EZKD.js} +1 -1
  46. package/chunks/{chunk-7UHAXEOV.js → chunk-NBLKIQCW.js} +226 -4
  47. package/chunks/chunk-NO543ZBU.js +90 -0
  48. package/chunks/{chunk-X2ZMSRTP.js → chunk-OFPF26WL.js} +333 -3
  49. package/chunks/{chunk-YERUDEXT.js → chunk-PAE7ZAV6.js} +2780 -1255
  50. package/chunks/{chunk-S2GITRD5.js → chunk-PMAKX6KP.js} +2 -2
  51. package/chunks/{chunk-LMP2T4G2.js → chunk-RBTJYREN.js} +8 -171
  52. package/chunks/{chunk-CGBDEST2.js → chunk-RFK5F45W.js} +1 -1
  53. package/chunks/{chunk-GTED3FSZ.js → chunk-S2WCYEK2.js} +4 -99
  54. package/chunks/{chunk-GXXX7AGH.js → chunk-S3B6HFSM.js} +144 -14
  55. package/chunks/{chunk-WUPN3D37.js → chunk-S4DFH2FJ.js} +26 -1
  56. package/chunks/{chunk-Q7JKIKKF.js → chunk-SEWZ76MN.js} +77 -13
  57. package/chunks/{chunk-6XMFCVJS.js → chunk-TFKY6D7O.js} +1 -1
  58. package/chunks/{chunk-BOBIAHKA.js → chunk-WK6VUCKK.js} +3 -333
  59. package/chunks/{chunk-IXT64DV5.js → chunk-XPDJE537.js} +97 -1
  60. package/chunks/{chunk-BMDG6T7D.js → chunk-YXTV2FRE.js} +113 -22
  61. package/chunks/{chunk-SZDD77KX.js → chunk-YYFODVZG.js} +6 -10
  62. package/chunks/{chunk-JWSOUKFF.js → chunk-ZWAWZU6C.js} +30 -13
  63. package/chunks/{chunk-GV5WXDHY.js → chunk-ZZV56ACK.js} +11 -9
  64. package/chunks/{codex-models-6XVNFRXZ.js → codex-models-KCUIVS3R.js} +9 -8
  65. package/chunks/{commands-FRPOFIO4.js → commands-MPPAADGY.js} +798 -608
  66. package/chunks/dashboard-MN7GZLLX.js +75 -0
  67. package/chunks/{db-BXJNWUYJ.js → db-R2AQSESC.js} +5 -4
  68. package/chunks/{deep-review-GSJEBLCG.js → deep-review-Q6BJKEV4.js} +37 -38
  69. package/chunks/{disclose-OU6Z6GVT.js → disclose-GGULOW27.js} +6 -5
  70. package/chunks/{dist-TQMHMSBZ.js → dist-6RNAVFAY.js} +376 -333
  71. package/chunks/{dist-7KSYDDSG.js → dist-DWN7U5OV.js} +5 -2
  72. package/chunks/{dist-M2X367VW.js → dist-JAZWL3SC.js} +3 -2
  73. package/chunks/{dist-RKLQIXDT.js → dist-OLGNKDB2.js} +4 -3
  74. package/chunks/{dist-LNXGATR2.js → dist-WNAOCQGA.js} +5 -4
  75. package/chunks/eval-runner-WCTTIYN4.js +38 -0
  76. package/chunks/{exploit-agent-Y2P4GFIY.js → exploit-agent-M3KUMZJH.js} +1 -1
  77. package/chunks/{exploit-autoclimb-YRZ3TMS2.js → exploit-autoclimb-QTTWC5WM.js} +1 -1
  78. package/chunks/{exploit-climb-4LEY4SDW.js → exploit-climb-E4KDELTN.js} +4 -3
  79. package/chunks/{fix-RQSIG75B.js → fix-U5FFJD4F.js} +9 -8
  80. package/chunks/{harness-3NVC3DDY.js → harness-FMKIMEH5.js} +5 -4
  81. package/chunks/{http-conformance-U5F6GKYG.js → http-conformance-AXMUOE6C.js} +3 -2
  82. package/chunks/hunt-scan-RYPWRUQD.js +43 -0
  83. package/chunks/{kernel-primitive-T47V3RD3.js → kernel-primitive-CVG2E7MJ.js} +4 -3
  84. package/chunks/{kernel-vm-runner-AEL5E3SV.js → kernel-vm-runner-62KISULQ.js} +4 -3
  85. package/chunks/{local-engine-ZCW4YC6E.js → local-engine-WP3I7K7G.js} +7 -6
  86. package/chunks/managed-operation-642WPTLC.js +59 -0
  87. package/chunks/{memsafety-scan-L2Z7E7TE.js → memsafety-scan-Q2MBZEGJ.js} +1 -2
  88. package/chunks/{native-loop-26X2CHBV.js → native-loop-HC77R5NQ.js} +31 -16
  89. package/chunks/operator-services-E2NONBQS.js +79 -0
  90. package/chunks/orchestrate-Z3DW265M.js +62 -0
  91. package/chunks/{prepare-C3KGMBXT.js → prepare-7DTS6RJT.js} +7 -6
  92. package/chunks/{remote-workflow-runtime-DB52SINR.js → remote-workflow-runtime-6CEVRZXS.js} +4 -3
  93. package/chunks/routing-ITJZBJIU.js +61 -0
  94. package/chunks/{runtime-U66JNSAY.js → runtime-PZJ77QES.js} +9 -8
  95. package/chunks/{runtime-AUBLQUOH.js → runtime-W6JNDQRO.js} +4 -3
  96. package/chunks/{scan-stream-34F3LTPV.js → scan-stream-6VOJTHTR.js} +6 -4
  97. package/chunks/{scope-HSTG63TQ.js → scope-FHXW6EX6.js} +4 -3
  98. package/chunks/service-plugins-CN6Q2NSN.js +63 -0
  99. package/chunks/{session-store-MKAAP3WL.js → session-store-DBBI544Y.js} +8 -5
  100. package/chunks/{variant-candidates-LG767HWH.js → variant-candidates-DPR6DJ3N.js} +9 -8
  101. package/chunks/{web-recon-prepass-NJP6J3E4.js → web-recon-prepass-HWDHDQMN.js} +7 -6
  102. package/chunks/{workflow-runtime-AR627I26.js → workflow-runtime-PLB32XC3.js} +50 -49
  103. package/dashboard/assets/{abnfDiagram-VCTEODGH-Cq149Jpk.js → abnfDiagram-VCTEODGH-6e39CQKz.js} +1 -1
  104. package/dashboard/assets/{arc-CpP-3TRW.js → arc-ClYun86B.js} +1 -1
  105. package/dashboard/assets/architecture-7GRP2DOG-rM-lWo7E.js +1 -0
  106. package/dashboard/assets/architectureDiagram-5GKGNRK7-C9gEGZIU.js +36 -0
  107. package/dashboard/assets/{blockDiagram-I7D4REHJ-CZYkRRDi.js → blockDiagram-I7D4REHJ-Dgh2n5Lf.js} +2 -2
  108. package/dashboard/assets/{c4Diagram-7LVT6UL2-CV7Iu3_Z.js → c4Diagram-7LVT6UL2-CsorW08z.js} +1 -1
  109. package/dashboard/assets/channel-BBlDqIBl.js +1 -0
  110. package/dashboard/assets/{chunk-4HAMMTFA-PKCyW4m-.js → chunk-4HAMMTFA-4_b_LGGQ.js} +1 -1
  111. package/dashboard/assets/{chunk-75Z2AOVW-C5MlFTc_.js → chunk-75Z2AOVW-qzNlKGCp.js} +1 -1
  112. package/dashboard/assets/chunk-DU6HZSFF-SAPICW28.js +127 -0
  113. package/dashboard/assets/{chunk-F27PBJKO-DTAok0qM.js → chunk-F27PBJKO-DlLotIQx.js} +1 -1
  114. package/dashboard/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-COOliuUh.js} +14 -14
  115. package/dashboard/assets/{chunk-GMAD6QVW-CPsr2F33.js → chunk-GMAD6QVW-DNnr65Nb.js} +7 -7
  116. package/dashboard/assets/{chunk-GVQU2GXP-C2AXGf9A.js → chunk-GVQU2GXP-DTwv0VfU.js} +1 -1
  117. package/dashboard/assets/{chunk-IMKFNOWR-DMG6yD_O.js → chunk-IMKFNOWR-B1fk1q_W.js} +1 -1
  118. package/dashboard/assets/{chunk-L3NEJ4N5-BSvwdbXx.js → chunk-L3NEJ4N5-ByVjFIox.js} +1 -1
  119. package/dashboard/assets/{chunk-OSK3NFVY-CfB8V7FU.js → chunk-OSK3NFVY-DUDCzjbh.js} +1 -1
  120. package/dashboard/assets/{chunk-P2QGCYS3-CvmZvq6n.js → chunk-P2QGCYS3-D_D5qEso.js} +1 -1
  121. package/dashboard/assets/{chunk-POPQ4Y6H-D_TvwDxL.js → chunk-POPQ4Y6H-CetM-tVm.js} +1 -1
  122. package/dashboard/assets/{chunk-PWAF6VOD-Da5GnuOY.js → chunk-PWAF6VOD-BcJX4exl.js} +1 -1
  123. package/dashboard/assets/{chunk-SHT3W25Y-CcsMJpR-.js → chunk-SHT3W25Y-BWQql238.js} +1 -1
  124. package/dashboard/assets/{chunk-SVP7TREG-COojjieJ.js → chunk-SVP7TREG-BSLOD1JE.js} +1 -1
  125. package/dashboard/assets/{chunk-TICWLB2K-nBAmJwx6.js → chunk-TICWLB2K-DReOl-g_.js} +2 -2
  126. package/dashboard/assets/{chunk-XXDRQBXY-r5HyhWDv.js → chunk-XXDRQBXY-DSdSMeei.js} +1 -1
  127. package/dashboard/assets/classDiagram-ZZMXUADV-CRH2kB8G.js +1 -0
  128. package/dashboard/assets/classDiagram-v2-VYDZK3BY-CRH2kB8G.js +1 -0
  129. package/dashboard/assets/common-CRRsylCH.js +5 -0
  130. package/dashboard/assets/cose-bilkent-JH36ORCC-fg-DIBqt.js +1 -0
  131. package/dashboard/assets/cynefin-OW5HDTMX-XmrbEIFh.js +1 -0
  132. package/dashboard/assets/{cynefinDiagram-5FMLGOSQ-xodkuQtW.js → cynefinDiagram-5FMLGOSQ-CoQ7QEPl.js} +1 -1
  133. package/dashboard/assets/cytoscape.esm-BbBREfsg.js +321 -0
  134. package/dashboard/assets/dagre-D7JM2Yhv.js +1 -0
  135. package/dashboard/assets/dagre-GXQ25YYZ-qtQtsg6c.js +4 -0
  136. package/dashboard/assets/{diagram-S7CK7UJ4-DNoTMlCO.js → diagram-S7CK7UJ4-B_ts4_58.js} +2 -2
  137. package/dashboard/assets/{diagram-UQ7AKVKN-COccuyew.js → diagram-UQ7AKVKN-DwHbbxFy.js} +1 -1
  138. package/dashboard/assets/{diagram-VSXAHHWV-g6D1tWRb.js → diagram-VSXAHHWV-2Tg_RG89.js} +1 -1
  139. package/dashboard/assets/{diagram-VX7I27RA-DhO4eVIC.js → diagram-VX7I27RA-BFYp-YjF.js} +1 -1
  140. package/dashboard/assets/{diagram-Z3DM3KII-DeOQFexd.js → diagram-Z3DM3KII-DrPiS4V0.js} +1 -1
  141. package/dashboard/assets/{dist-BQYeOQg3.js → dist-cbVssBvx.js} +1 -1
  142. package/dashboard/assets/{ebnfDiagram-PWID7BFC-MtkX2feM.js → ebnfDiagram-PWID7BFC-DCMOZtU2.js} +1 -1
  143. package/dashboard/assets/{erDiagram-RLTQ6QDP-DIWSsoYZ.js → erDiagram-RLTQ6QDP-CW4rUJGU.js} +1 -1
  144. package/dashboard/assets/eventmodeling-NTZA5JFV-C2q-Aaav.js +1 -0
  145. package/dashboard/assets/flowDiagram-HODETNUW-3NOabgG3.js +1 -0
  146. package/dashboard/assets/{ganttDiagram-EL5Y4UJY-DKggkJe0.js → ganttDiagram-EL5Y4UJY-C1AqcwIF.js} +1 -1
  147. package/dashboard/assets/gitGraph-4MIJSDKK-DYR76gtd.js +1 -0
  148. package/dashboard/assets/{gitGraphDiagram-WWUBYQGX-r_iR8Qzo.js → gitGraphDiagram-WWUBYQGX-B7hL98CE.js} +1 -1
  149. package/dashboard/assets/info-A6RAGUB7-TXB43LiH.js +1 -0
  150. package/dashboard/assets/{infoDiagram-27XIBGKW-ClQk7UyQ.js → infoDiagram-27XIBGKW-Dk5dXmh_.js} +1 -1
  151. package/dashboard/assets/{ishikawaDiagram-5VMMS53U-tR7Vziog.js → ishikawaDiagram-5VMMS53U-BQDuNMka.js} +2 -2
  152. package/dashboard/assets/{journeyDiagram-3NMN7TZE-Cpb9IqKL.js → journeyDiagram-3NMN7TZE-DkustddD.js} +1 -1
  153. package/dashboard/assets/{kanban-definition-UXKFOSKX-BzUuKbA9.js → kanban-definition-UXKFOSKX-BW7Ann84.js} +1 -1
  154. package/dashboard/assets/{katex-BdBmVSus.js → katex-nLxf_RlZ.js} +2 -2
  155. package/dashboard/assets/{line-BHY_tSHu.js → line-DVxcLeru.js} +1 -1
  156. package/dashboard/assets/linear-DOM_l9bO.js +1 -0
  157. package/dashboard/assets/mermaid-parser.core-CKg9fDvJ.js +7 -0
  158. package/dashboard/assets/{mermaid.core-D_QsUPU8.js → mermaid.core-DruW_5-Y.js} +9 -9
  159. package/dashboard/assets/{mindmap-definition-YA3MSWOX-CtfLTPPJ.js → mindmap-definition-YA3MSWOX-Di5W5VB3.js} +1 -1
  160. package/dashboard/assets/operations-B-t_k60U.js +194 -0
  161. package/dashboard/assets/operations-D2ZKZFOF.css +1 -0
  162. package/dashboard/assets/packet-AYTQ26CC-BABwqtNu.js +1 -0
  163. package/dashboard/assets/{pegDiagram-XKGWAZYB-C1Dclbzj.js → pegDiagram-XKGWAZYB-Cx4ABT6q.js} +1 -1
  164. package/dashboard/assets/pie-WAS4IAKB-CNdXyrze.js +1 -0
  165. package/dashboard/assets/{pieDiagram-E7YTZNPT-Cd7XwYo5.js → pieDiagram-E7YTZNPT-BilfQbIs.js} +1 -1
  166. package/dashboard/assets/{quadrantDiagram-AXDQQJYC-CaS-GQ4X.js → quadrantDiagram-AXDQQJYC-BVmMQHE5.js} +1 -1
  167. package/dashboard/assets/radar-RG4KPBEZ-fKNmDeoK.js +1 -0
  168. package/dashboard/assets/railroad-74A4TZTK-DhcvDCOh.js +1 -0
  169. package/dashboard/assets/railroad-abnf-HS5TGJTU-BTRVAmf0.js +1 -0
  170. package/dashboard/assets/railroad-ebnf-LZEXJU2U-CwS8fgC_.js +1 -0
  171. package/dashboard/assets/railroad-peg-WCYAUIDC-CXuhXlNp.js +1 -0
  172. package/dashboard/assets/{railroadDiagram-O6MQD6OU-BeesTrqn.js → railroadDiagram-O6MQD6OU-DnBru-jf.js} +1 -1
  173. package/dashboard/assets/{requirementDiagram-BXWQKSXE-IjyK0DhW.js → requirementDiagram-BXWQKSXE-FwdvUZ7_.js} +1 -1
  174. package/dashboard/assets/{sankeyDiagram-P5KCCOFB-DmIluQqo.js → sankeyDiagram-P5KCCOFB-BQvDORai.js} +1 -1
  175. package/dashboard/assets/{sequenceDiagram-WJ2MYXX4-CUp8ZjTc.js → sequenceDiagram-WJ2MYXX4-FWYQLzcY.js} +2 -2
  176. package/dashboard/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  177. package/dashboard/assets/src-BwkPhlcp.js +1 -0
  178. package/dashboard/assets/{stateDiagram-D77RDMKH-Dy9TQb8P.js → stateDiagram-D77RDMKH-CjPBd_Sa.js} +1 -1
  179. package/dashboard/assets/stateDiagram-v2-MP3YSRHH-DHmenujm.js +1 -0
  180. package/dashboard/assets/swimlanes-42K2YHIH-SQLNsa4J.js +1 -0
  181. package/dashboard/assets/swimlanesDiagram-VR7AAH4N-D1bH4ETZ.js +8 -0
  182. package/dashboard/assets/{timeline-definition-24CTP7MA-BGdXW-iY.js → timeline-definition-24CTP7MA-BxCf20k1.js} +1 -1
  183. package/dashboard/assets/treeView-Q6P3EWNA-BGLYAyGp.js +1 -0
  184. package/dashboard/assets/treemap-WGGIJYW6-BlzAwncU.js +1 -0
  185. package/dashboard/assets/{vennDiagram-4TSXK5OY-DzKWHJsl.js → vennDiagram-4TSXK5OY-D76RIZLz.js} +1 -1
  186. package/dashboard/assets/wardley-WFR3VGLG-Ba_reiVw.js +1 -0
  187. package/dashboard/assets/{wardleyDiagram-VM6X3IG4-DGsjYmNJ.js → wardleyDiagram-VM6X3IG4-Cux4coOD.js} +1 -1
  188. package/dashboard/assets/{xychartDiagram-S5SC5T6Z-C7_T_tWt.js → xychartDiagram-S5SC5T6Z-Ch5mvnlH.js} +1 -1
  189. package/dashboard/index.html +2 -2
  190. package/package.json +2 -5
  191. package/chunks/chunk-2XGBEH53.js +0 -4304
  192. package/chunks/chunk-4ROZFLSR.js +0 -279
  193. package/chunks/chunk-56UTQKXO.js +0 -56
  194. package/chunks/chunk-BPU6M42R.js +0 -77
  195. package/chunks/chunk-IIBNQTOK.js +0 -1532
  196. package/chunks/chunk-NJLKFC66.js +0 -4790
  197. package/chunks/chunk-OOMBOLAF.js +0 -295
  198. package/chunks/chunk-VIT5ALXF.js +0 -4054
  199. package/chunks/chunk-VU7V2SDW.js +0 -284
  200. package/chunks/chunk-W624J7NF.js +0 -117
  201. package/chunks/chunk-YSQWZ67M.js +0 -6027
  202. package/chunks/dashboard-5HDSNBAU.js +0 -76
  203. package/chunks/eval-runner-A2DIGVP7.js +0 -31
  204. package/chunks/hunt-scan-W246VWJC.js +0 -40
  205. package/chunks/managed-operation-6R2QPPW5.js +0 -60
  206. package/chunks/orchestrate-OBS37FWQ.js +0 -63
  207. package/chunks/run-MU3MFL2Z.js +0 -28242
  208. package/chunks/service-plugins-5B23PWXC.js +0 -64
  209. package/dashboard/assets/architecture-7GRP2DOG-z5EHYkyH.js +0 -1
  210. package/dashboard/assets/architectureDiagram-5GKGNRK7-ewtXpjR_.js +0 -36
  211. package/dashboard/assets/channel-CuYjfiC5.js +0 -1
  212. package/dashboard/assets/chunk-DU6HZSFF-3M37ulcO.js +0 -127
  213. package/dashboard/assets/classDiagram-ZZMXUADV-DCuOrWUV.js +0 -1
  214. package/dashboard/assets/classDiagram-v2-VYDZK3BY-DCuOrWUV.js +0 -1
  215. package/dashboard/assets/common-C6snVPsk.js +0 -5
  216. package/dashboard/assets/cose-bilkent-JH36ORCC-BLGcaZHk.js +0 -1
  217. package/dashboard/assets/cynefin-OW5HDTMX-DbZMK00I.js +0 -1
  218. package/dashboard/assets/cytoscape.esm-CGd-uY3x.js +0 -321
  219. package/dashboard/assets/dagre-GXQ25YYZ-CRk9qfSG.js +0 -4
  220. package/dashboard/assets/dagre-PrKaheQc.js +0 -1
  221. package/dashboard/assets/eventmodeling-NTZA5JFV-D_3ez4Gv.js +0 -1
  222. package/dashboard/assets/flowDiagram-HODETNUW-D2boyYEd.js +0 -1
  223. package/dashboard/assets/gitGraph-4MIJSDKK-DFOQYwXc.js +0 -1
  224. package/dashboard/assets/info-A6RAGUB7-DeednLoB.js +0 -1
  225. package/dashboard/assets/linear-naZZ1pHk.js +0 -1
  226. package/dashboard/assets/mermaid-parser.core-CPvd4cEx.js +0 -7
  227. package/dashboard/assets/operations-BwCzhVnT.js +0 -130
  228. package/dashboard/assets/operations-QjKT0Hwi.css +0 -1
  229. package/dashboard/assets/packet-AYTQ26CC-DDQbkT9I.js +0 -1
  230. package/dashboard/assets/pie-WAS4IAKB-LpU4ULAs.js +0 -1
  231. package/dashboard/assets/radar-RG4KPBEZ-CcxW3NJm.js +0 -1
  232. package/dashboard/assets/railroad-74A4TZTK-9P5Rl8fP.js +0 -1
  233. package/dashboard/assets/railroad-abnf-HS5TGJTU-CSfpwjna.js +0 -1
  234. package/dashboard/assets/railroad-ebnf-LZEXJU2U-D6R5qzr-.js +0 -1
  235. package/dashboard/assets/railroad-peg-WCYAUIDC-DKEX7ITG.js +0 -1
  236. package/dashboard/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -1
  237. package/dashboard/assets/src-r61wDjcA.js +0 -1
  238. package/dashboard/assets/stateDiagram-v2-MP3YSRHH-CQb0ZtPr.js +0 -1
  239. package/dashboard/assets/swimlanes-42K2YHIH-CZuDV7V5.js +0 -1
  240. package/dashboard/assets/swimlanesDiagram-VR7AAH4N-BxgWMq8X.js +0 -8
  241. package/dashboard/assets/treeView-Q6P3EWNA-DlRrayjM.js +0 -1
  242. package/dashboard/assets/treemap-WGGIJYW6-C6UqLKfI.js +0 -1
  243. package/dashboard/assets/wardley-WFR3VGLG-thmyHKb0.js +0 -1
package/0.js CHANGED
@@ -1,99 +1,103 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __0CreateRequire } from "node:module";
3
3
  const require = __0CreateRequire(import.meta.url);
4
- import {
5
- runStartupUpdate
6
- } from "./chunks/chunk-7UHAXEOV.js";
7
- import {
8
- Command
9
- } from "./chunks/chunk-WUPN3D37.js";
10
- import {
11
- savedConnectionEnvPatch,
12
- setHerdrSink
13
- } from "./chunks/chunk-BPU6M42R.js";
14
4
  import {
15
5
  installConsolePresentationBridge,
16
- installProcessPresentationStreamBridge
17
- } from "./chunks/chunk-OOMBOLAF.js";
6
+ installProcessPresentationStreamBridge,
7
+ runStartupUpdate
8
+ } from "./chunks/chunk-NBLKIQCW.js";
18
9
  import {
10
+ Command,
19
11
  presentationEventBus
20
- } from "./chunks/chunk-56UTQKXO.js";
12
+ } from "./chunks/chunk-S4DFH2FJ.js";
21
13
  import {
22
- getSettings,
23
- maybeLoadCodexAuth,
24
14
  resolveEngagement
25
- } from "./chunks/chunk-LMP2T4G2.js";
15
+ } from "./chunks/chunk-NO543ZBU.js";
16
+ import {
17
+ connectionConfigEnvPatch,
18
+ credentialEnvPatch,
19
+ getSettings,
20
+ loadCredentials,
21
+ maybeLoadCodexAuth
22
+ } from "./chunks/chunk-RBTJYREN.js";
26
23
  import {
27
24
  source_default
28
25
  } from "./chunks/chunk-HLFS6WV2.js";
29
26
  import {
30
27
  launchConfiguredWorkbench,
31
28
  remoteBackendClientId
32
- } from "./chunks/chunk-X2IPO5JO.js";
29
+ } from "./chunks/chunk-6TA3CWND.js";
33
30
  import {
34
31
  createHerdrEventSink,
35
32
  maybeSubscribeOperationalEventSink
36
- } from "./chunks/chunk-ZM6ANQZJ.js";
37
- import "./chunks/chunk-H5QURBBK.js";
38
- import "./chunks/chunk-5NFIY2SJ.js";
39
- import "./chunks/chunk-BOBIAHKA.js";
40
- import "./chunks/chunk-ILRMLA6J.js";
33
+ } from "./chunks/chunk-EEP6GBUO.js";
34
+ import "./chunks/chunk-AL32F74R.js";
35
+ import "./chunks/chunk-FI5YL4R2.js";
36
+ import "./chunks/chunk-WK6VUCKK.js";
37
+ import "./chunks/chunk-D4IBEO2K.js";
41
38
  import "./chunks/chunk-GVD6SJGH.js";
42
39
  import "./chunks/chunk-QCUFBVIZ.js";
43
- import "./chunks/chunk-S2GITRD5.js";
44
- import "./chunks/chunk-IIBNQTOK.js";
40
+ import "./chunks/chunk-PMAKX6KP.js";
45
41
  import "./chunks/chunk-2WNCI664.js";
46
42
  import "./chunks/chunk-23DG5YKS.js";
47
43
  import "./chunks/chunk-DQTNI3KY.js";
48
- import "./chunks/chunk-3WUPCZGF.js";
49
- import "./chunks/chunk-UJE4WOQS.js";
50
- import "./chunks/chunk-PJU24AKR.js";
51
- import "./chunks/chunk-6XMFCVJS.js";
52
- import "./chunks/chunk-AZ7L3HFD.js";
53
- import "./chunks/chunk-TVS6WVSK.js";
54
- import "./chunks/chunk-YSQWZ67M.js";
55
- import "./chunks/chunk-5WAHHZBF.js";
56
- import "./chunks/chunk-3LPBJMHB.js";
44
+ import "./chunks/chunk-FI2H6HV2.js";
45
+ import "./chunks/chunk-HJKJ4NQP.js";
46
+ import "./chunks/chunk-TFKY6D7O.js";
47
+ import "./chunks/chunk-76CLUI54.js";
48
+ import "./chunks/chunk-HFUOUT2B.js";
49
+ import "./chunks/chunk-ACYZMJHC.js";
57
50
  import "./chunks/chunk-K2PWUPUI.js";
58
- import "./chunks/chunk-X2ZMSRTP.js";
59
- import "./chunks/chunk-YERUDEXT.js";
51
+ import "./chunks/chunk-OFPF26WL.js";
52
+ import "./chunks/chunk-PAE7ZAV6.js";
60
53
  import "./chunks/chunk-UEX7PFSE.js";
61
- import "./chunks/chunk-4ROZFLSR.js";
62
- import "./chunks/chunk-BD7WULFS.js";
63
- import "./chunks/chunk-XA2IBHPB.js";
64
- import "./chunks/chunk-5ETI27Q3.js";
65
- import "./chunks/chunk-YKWARO3T.js";
66
- import "./chunks/chunk-SQCBHFWN.js";
67
- import "./chunks/chunk-K74DRDC5.js";
54
+ import "./chunks/chunk-I4VIAQHM.js";
55
+ import "./chunks/chunk-2J3STRJT.js";
56
+ import "./chunks/chunk-HDJSHLRM.js";
57
+ import "./chunks/chunk-AZ7L3HFD.js";
58
+ import "./chunks/chunk-FOLTHXRH.js";
59
+ import "./chunks/chunk-ITEMDJAB.js";
60
+ import "./chunks/chunk-DJGJECBV.js";
61
+ import "./chunks/chunk-LWMEJYCP.js";
62
+ import "./chunks/chunk-DHNYJ2ML.js";
68
63
  import "./chunks/chunk-O6KPVYOI.js";
69
64
  import "./chunks/chunk-FHC2B7LN.js";
70
65
  import "./chunks/chunk-DKSCN2AB.js";
71
66
  import "./chunks/chunk-UFHN6RIU.js";
72
- import "./chunks/chunk-BMDG6T7D.js";
73
- import "./chunks/chunk-GTED3FSZ.js";
74
- import "./chunks/chunk-IXT64DV5.js";
75
- import "./chunks/chunk-SU4IHQQI.js";
76
- import "./chunks/chunk-NJLKFC66.js";
77
- import "./chunks/chunk-NBV4I237.js";
78
- import "./chunks/chunk-IJ6UPW3H.js";
67
+ import "./chunks/chunk-YXTV2FRE.js";
68
+ import "./chunks/chunk-S2WCYEK2.js";
69
+ import "./chunks/chunk-XPDJE537.js";
70
+ import "./chunks/chunk-5H2PXZ7Q.js";
71
+ import "./chunks/chunk-ABKUI3QB.js";
72
+ import "./chunks/chunk-GXSECFUE.js";
73
+ import "./chunks/chunk-EIONVEFN.js";
79
74
  import {
80
75
  analyticsPipeline,
81
76
  configureRunContributionsFromEnvironment
82
- } from "./chunks/chunk-PVJUPIQG.js";
77
+ } from "./chunks/chunk-3T5R7P4T.js";
83
78
  import {
84
79
  eventBus,
85
80
  presentationEventSink
86
- } from "./chunks/chunk-5PFRE522.js";
81
+ } from "./chunks/chunk-MY44EZKD.js";
87
82
  import "./chunks/chunk-RS4MAN3Q.js";
88
- import "./chunks/chunk-CGBDEST2.js";
89
- import "./chunks/chunk-QNRYOJEB.js";
83
+ import "./chunks/chunk-RFK5F45W.js";
84
+ import "./chunks/chunk-27SXCYWH.js";
90
85
  import "./chunks/chunk-5IBCBQEH.js";
91
86
  import {
92
87
  VERSION
93
- } from "./chunks/chunk-GXXX7AGH.js";
94
- import "./chunks/chunk-VIT5ALXF.js";
88
+ } from "./chunks/chunk-S3B6HFSM.js";
89
+ import "./chunks/chunk-5XOYTAOK.js";
90
+ import "./chunks/chunk-36J5ZLFE.js";
95
91
  import "./chunks/chunk-VCSFCHAJ.js";
96
92
 
93
+ // packages/cli/src/connection-env.ts
94
+ function savedConnectionEnvPatch(env, homeDir) {
95
+ return {
96
+ ...connectionConfigEnvPatch(env, homeDir),
97
+ ...credentialEnvPatch(loadCredentials(homeDir), env)
98
+ };
99
+ }
100
+
97
101
  // packages/cli/src/routing.ts
98
102
  function detectAndRoute(target) {
99
103
  const resolution = resolveEngagement(target);
@@ -116,7 +120,7 @@ import { fileURLToPath } from "node:url";
116
120
  var BYPASS_ENV = "ZERO_ALLOW_STALE_SOURCE_DIST";
117
121
  function currentBuildCommit() {
118
122
  if (true) {
119
- return "42ab1fa74044b79edd6b8f0990b2afa7ccfd824b";
123
+ return "9a5ac5ae02d8046aedb23583d6ac135dd22dea83";
120
124
  }
121
125
  return void 0;
122
126
  }
@@ -232,11 +236,10 @@ maybeSubscribeOperationalEventSink();
232
236
  eventBus.subscribe(presentationEventSink(presentationEventBus));
233
237
  var herdrSink = createHerdrEventSink();
234
238
  if (herdrSink) eventBus.subscribe(herdrSink);
235
- setHerdrSink(herdrSink);
236
239
  enforceSourceDistFreshness({ entryUrl: import.meta.url });
237
240
  if (!isWorkbenchManagement && !isRemoteBackendClient) await runStartupUpdate(VERSION);
238
241
  async function buildProgram() {
239
- const c = await import("./chunks/commands-FRPOFIO4.js");
242
+ const c = await import("./chunks/commands-MPPAADGY.js");
240
243
  const program = new Command();
241
244
  program.name("0").description("Open-source multi-model security research harness").version(VERSION).enablePositionalOptions();
242
245
  program.hook("preAction", (_command, action) => {
@@ -245,6 +248,7 @@ async function buildProgram() {
245
248
  }
246
249
  });
247
250
  c.registerScanCommand(program);
251
+ c.registerRoutingCommand(program);
248
252
  c.registerResumeCommand(program);
249
253
  c.registerReplayCommand(program);
250
254
  c.registerHistoryCommand(program);
@@ -308,7 +312,7 @@ async function buildProgram() {
308
312
  return program;
309
313
  }
310
314
  async function showWebConsole() {
311
- const { registerDashboardCommand } = await import("./chunks/dashboard-5HDSNBAU.js");
315
+ const { registerDashboardCommand } = await import("./chunks/dashboard-MN7GZLLX.js");
312
316
  const program = new Command();
313
317
  registerDashboardCommand(program);
314
318
  await program.parseAsync(["web"], { from: "user" });
@@ -318,7 +322,7 @@ process.once("beforeExit", () => {
318
322
  });
319
323
  });
320
324
  var userArgs = process.argv.slice(2);
321
- var knownCommands = ["scan", "resume", "replay", "history", "findings", "secure", "review", "fix", "audit", "deps", "doctor", "dashboard", "web", "chat", "team", "tui", "watch", "orchestrate", "db", "mcp-server", "workflow", "runs", "sessions", "triage", "eval", "bench", "ingest", "kernel", "disclose", "verify", "exploit", "hunt", "recency-hunt", "deep-review", "lens-synth", "memsafety", "assumption-hunt", "specdrift", "protocol-check", "cve", "upgrade", "update", "h1", "intel", "recon", "js-recon", "npm-discovery", "identity", "adgraph", "entragraph", "cloud", "xnu-fuzz", "research", "worker", "radar", "timeline", "console", "agent-assure", "binary", "plugin", "theme", "config", "workbench", "checks", "evolve", "learning", "hackstore", "hack", "store", "help"];
325
+ var knownCommands = ["routing-qualify", "scan", "resume", "replay", "history", "findings", "secure", "review", "fix", "audit", "deps", "doctor", "dashboard", "web", "chat", "team", "tui", "watch", "orchestrate", "db", "mcp-server", "workflow", "runs", "sessions", "triage", "eval", "bench", "ingest", "kernel", "disclose", "verify", "exploit", "hunt", "recency-hunt", "deep-review", "lens-synth", "memsafety", "assumption-hunt", "specdrift", "protocol-check", "cve", "upgrade", "update", "h1", "intel", "recon", "js-recon", "npm-discovery", "identity", "adgraph", "entragraph", "cloud", "xnu-fuzz", "research", "worker", "radar", "timeline", "console", "agent-assure", "binary", "plugin", "theme", "config", "workbench", "checks", "evolve", "learning", "hackstore", "hack", "store", "help"];
322
326
  if (userArgs.length === 0) {
323
327
  showWebConsole().catch((err) => {
324
328
  console.error(source_default.red(err instanceof Error ? err.message : String(err)));
package/README.md CHANGED
@@ -1,148 +1,187 @@
1
1
  <p align="center">
2
2
  <a href="https://0.security/">
3
- <img src="assets/readme-cover.png" alt="0security landscape with Zero and the security research mission" width="100%">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="assets/0-aperture-white.svg">
5
+ <img src="assets/0-aperture-ink.svg" alt="0security" width="280">
6
+ </picture>
4
7
  </a>
5
8
  </p>
6
9
 
10
+ <h1 align="center">The open-source AI security harness</h1>
11
+
7
12
  <p align="center">
8
- <picture>
9
- <source media="(prefers-color-scheme: dark)" srcset="assets/0-aperture-white.svg">
10
- <img src="assets/0-aperture-ink.svg" alt="0security" width="280">
11
- </picture>
13
+ Investigate vulnerabilities, review findings, and work on fixes in your browser.<br/>
14
+ Use your own model provider. Connect coding agents through CLI or MCP.
12
15
  </p>
13
16
 
14
17
  <p align="center">
15
- <strong>Open-source security workflows in your browser or coding agent.</strong><br/>
16
- <sub>Backed by Y Combinator · The Swiss Applied AI &amp; Cybersecurity Research Lab</sub><br/>
17
- <a href="https://0.security/">0.security</a> ·
18
- <a href="https://docs.0.security/">Documentation</a> ·
19
- <a href="https://github.com/0sec-labs/foxguard">FoxGuard</a>
18
+ <a href="#get-started">Get started</a> ·
19
+ <a href="assets/readme-ui-demo.mp4">Demo</a> ·
20
+ <a href="https://docs.0.security/">Docs</a> ·
21
+ <a href="https://0.security/research/">Research</a> ·
22
+ <a href="https://github.com/0sec-labs/0/releases">Releases</a> ·
23
+ <a href="#0cloud">0cloud</a>
20
24
  </p>
21
25
 
22
26
  <p align="center">
23
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-1A1815?style=flat-square&labelColor=1A1815" alt="License: MIT OR Apache-2.0"></a>
24
- <a href="https://github.com/0sec-labs/0/releases/latest">Latest release</a>
25
- <a href="#status-and-safety"><img src="https://img.shields.io/badge/status-research%20preview-FD802E?style=flat-square&labelColor=1A1815" alt="Status: research preview"></a>
27
+ <a href="assets/readme-ui-demo.mp4">
28
+ <picture>
29
+ <source media="(prefers-reduced-motion: reduce)" srcset="assets/readme-ui-demo.jpg">
30
+ <img src="assets/readme-ui-demo.gif" alt="0 web UI: submit a demo API source review, follow the investigation, and inspect findings with suggested fixes" width="100%">
31
+ </picture>
32
+ </a>
26
33
  </p>
27
34
 
28
35
  <p align="center">
29
- <img src="assets/zero-manifesto-movement.webp" alt="Zero manifesto movement" width="100%">
36
+ <sub>Backed by Y Combinator · The Swiss Applied AI &amp; Cybersecurity Research Lab</sub>
30
37
  </p>
31
38
 
32
39
  ## Get started
33
40
 
34
- Install on Apple Silicon macOS or x64/ARM64 Linux:
41
+ Install on Apple Silicon macOS or x64/ARM64 Linux, then run `0`:
35
42
 
36
43
  ```bash
37
44
  curl -fsSL https://raw.githubusercontent.com/0sec-labs/0/main/install.sh | bash
38
45
  export PATH="$HOME/.0/bin:$PATH"
39
- 0 web
46
+ 0
40
47
  ```
41
48
 
42
- **Command Center (browser):** `0 web` · **Terminal:** `0`
49
+ `0` opens the local browser console without an account. `0 web` remains a
50
+ compatibility alias. The interactive terminal UI is retired; headless CLI commands
51
+ and MCP remain available.
52
+
53
+ Configure a [model provider](https://docs.0.security/api-keys/) to run AI workflows.
54
+ See [installation](https://docs.0.security/getting-started/) and
55
+ [troubleshooting](https://docs.0.security/troubleshooting/).
43
56
 
44
- Configure a [model provider](https://docs.0.security/api-keys/) before running AI workflows.
57
+ ## Findings
45
58
 
46
- ## Workflows
59
+ Review source evidence and organize findings in a queue or on the board.
47
60
 
48
- Browser, CLI, and MCP share one workflow runner with retained results.
61
+ <p align="center">
62
+ <a href="assets/readme-findings.mp4">
63
+ <picture>
64
+ <source media="(prefers-reduced-motion: reduce)" srcset="assets/readme-findings.jpg">
65
+ <img src="assets/readme-findings.gif" alt="0 findings: review the queue, organize the board, and inspect source evidence" width="100%">
66
+ </picture>
67
+ </a>
68
+ </p>
49
69
 
50
- Findings are prioritized by business impact: affected customers and data, fraud,
51
- critical services, and disruption. Each priority includes a rationale; missing
52
- context stays **Not assessed**. CVSS remains available as technical severity.
70
+ ## Security workflows
53
71
 
54
- | Work | Built-in templates |
55
- | --- | --- |
56
- | Assess | Repositories, dependencies, APIs, web configuration, scoped penetration tests, package behavior, smart contracts, native code |
57
- | Verify | Findings with replay evidence |
58
- | Fix | Candidates with regression tests |
59
- | Research | Security research, deep source investigation |
72
+ Chat with 0 in the web UI, investigate findings, and use built-in templates for
73
+ assessment, verification, fixes, and research. Runs retain results; Learning
74
+ keeps local activity and source-grounded notes.
60
75
 
61
- Start from 12 templates, customize steps, and run manually or with browser triggers and schedules.
62
- **Template:** starting point · **Workflow:** reusable steps · **Run:** one execution.
76
+ <p align="center">
77
+ <a href="assets/readme-workflows.mp4">
78
+ <picture>
79
+ <source media="(prefers-reduced-motion: reduce)" srcset="assets/readme-workflows.jpg">
80
+ <img src="assets/readme-workflows.gif" alt="0 workflows: choose a template, inspect the workflow graph, and edit a review step" width="100%">
81
+ </picture>
82
+ </a>
83
+ </p>
63
84
 
64
- **Learning** retains local run activity, source-grounded notes and evaluated
65
- improvement history. Saved workflows keep immutable revisions and support restore.
66
- Use `0 learning status` or open Learning in the browser.
67
- [Learning documentation](https://docs.0.security/learning/).
85
+ For automation and coding agents, the CLI exposes the same workflow runner:
68
86
 
69
87
  ```bash
70
88
  0 workflow list --templates
71
89
  0 workflow run --template security-research \
72
- --target /absolute/path/to/repo --workspace /absolute/path/to/repo \
73
- --format json > run.json
90
+ --target /absolute/path/to/repo --workspace /absolute/path/to/repo
74
91
  0 runs list
92
+ 0 chat --prompt "your request"
75
93
  ```
76
94
 
77
- [Workflow guide: inputs, limits, and results](https://docs.0.security/workflow/).
95
+ [Workflow guide](https://docs.0.security/workflow/) ·
96
+ [Learning](https://docs.0.security/learning/) ·
97
+ [GitHub Actions](https://docs.0.security/ci/github-action/)
98
+
99
+ ## Hosts and plugins
78
100
 
79
- ## See Zero at work
101
+ Choose a host for your work. Connect service integrations and manage extensions.
102
+ Use ⌘K / Ctrl+K to jump between tools.
80
103
 
81
- A source review of the included [demo API](assets/examples/demo-api/), with code locations and suggested fixes.
104
+ <p align="center">
105
+ <a href="assets/readme-tools.mp4">
106
+ <picture>
107
+ <source media="(prefers-reduced-motion: reduce)" srcset="assets/readme-tools.jpg">
108
+ <img src="assets/readme-tools.gif" alt="0 hosts and plugins: jump with keyboard search, choose a host, and browse integrations and extensions" width="100%">
109
+ </picture>
110
+ </a>
111
+ </p>
82
112
 
83
- ![Demo API source review in Zero](assets/screenshots/web-chat.jpg)
113
+ ## Skills and memory
84
114
 
85
- Start a workflow from a template and edit its steps.
115
+ Reuse security instructions and retain lessons linked to the source.
86
116
 
87
- ![Workflow editor in Zero](assets/screenshots/web-workflow.jpg)
117
+ <p align="center">
118
+ <a href="assets/readme-memory.mp4">
119
+ <picture>
120
+ <source media="(prefers-reduced-motion: reduce)" srcset="assets/readme-memory.jpg">
121
+ <img src="assets/readme-memory.gif" alt="0 skills and memory: browse built-in skills and inspect saved lessons with source references" width="100%">
122
+ </picture>
123
+ </a>
124
+ </p>
88
125
 
89
- ## Use 0 from another agent
126
+ ## 0cloud
90
127
 
91
- Use the CLI commands above, or **MCP** to discover templates, create workflows, and manage runs:
128
+ The hosted version of 0, for managed security workflows on your team's repositories.
129
+ Access is currently through the **[0cloud waitlist](https://0.security/waitlist/)**.
130
+ Local use does not require a cloud account.
92
131
 
93
- ```bash
94
- 0 mcp-server --workflows --workspace /absolute/path/to/repo
95
- ```
132
+ <p align="center">
133
+ <a href="https://0.security/waitlist/">
134
+ <img src="assets/readme-infrastructure.webp" alt="Orange and violet cloudscape from the 0.security website" width="100%">
135
+ </a>
136
+ </p>
96
137
 
97
- Local MCP requires an explicitly selected host-local execution profile.
98
- For a registered remote engine, use `0 mcp-server --workflows --backend production`.
99
- 0's model provider is separate from the connecting agent's session.
138
+ ## Connect another agent
100
139
 
101
- Browser chat's **Connect an external agent** copies a setup prompt.
102
- CLI and MCP workflow clients automatically attach to a running local web engine
103
- for the same workspace and control database. To attach explicitly to the sessions
104
- and runs already open in an engine:
140
+ Use CLI commands or expose workflows through MCP:
105
141
 
106
142
  ```bash
107
- 0 mcp-server --workflows --engine-url http://127.0.0.1:3000 \
108
- --engine-token-env ENGINE_TOKEN --session SESSION_ID
109
- 0 sessions list --engine-url http://127.0.0.1:3000 --engine-token-env ENGINE_TOKEN
143
+ 0 mcp-server --workflows --workspace /absolute/path/to/repo
110
144
  ```
111
145
 
112
- Set `ENGINE_TOKEN` to the engine's configured bearer credential. Attached clients
113
- share the browser's session and run lifecycle; disconnecting leaves the engine
114
- running. Omit `--session` to create a session under the engine's admission grants.
146
+ Local MCP requires an explicitly selected host-local execution profile. Browser
147
+ chat's **Connect an external agent** provides a setup prompt. CLI and MCP workflow
148
+ clients can share a running local engine's sessions and runs.
115
149
 
116
- See [MCP setup and individual tools](https://docs.0.security/integrations/) or
117
- [local and remote engines](https://docs.0.security/engine-connections/).
150
+ [Plugins and MCP setup](https://docs.0.security/integrations/) ·
151
+ [Local and remote engines](https://docs.0.security/engine-connections/) ·
152
+ [Plugin development](https://docs.0.security/hackstore/)
118
153
 
119
- ## Plugins
154
+ For AI agents: [product index](https://0.security/llms.txt) ·
155
+ [command reference](https://docs.0.security/commands/).
120
156
 
121
- Connect GitHub, Elastic, Semgrep, Snyk, Linear, Jira, Cloudflare, Slack, and Teams
122
- through [plugins and MCP](https://docs.0.security/integrations/).
157
+ ## Development
123
158
 
124
- More guides: [installation](https://docs.0.security/getting-started/) ·
125
- [GitHub Actions](https://docs.0.security/ci/github-action/) ·
126
- [plugin development](https://docs.0.security/hackstore/) ·
127
- [troubleshooting](https://docs.0.security/troubleshooting/).
159
+ Install dependencies with `pnpm install`, run `npm run dev`, and open the printed
160
+ browser address. The dashboard updates with hot reload.
161
+ See [CONTRIBUTING.md](.github/CONTRIBUTING.md).
128
162
 
129
- ## Development
163
+ For local binary analysis, run `npm run setup:0verse` once. It discovers a local
164
+ Ghidra and Java installation, installs the Python analysis/MCP dependencies
165
+ without removing existing engines, and verifies the decompiler. In this source
166
+ checkout, web and terminal chats automatically connect the local 0verse MCP
167
+ server. Nine tools cover scanning, triage, preflight, bug classes, findings,
168
+ PoVs, reports, memory recall, and capability discovery. The capability catalog
169
+ also lists research CLI commands with their MCP-supported or CLI-only status.
170
+ Each chat has its own scan state. `0 binary ./target --mode scan --format ndjson` uses the same runtime.
171
+
172
+ This does not install every platform executor or fuzzing environment. Inspect
173
+ 0verse's capability report before requesting confirmation; unavailable analysis
174
+ is not a clean scan. An explicit `ZERO_MCP` configuration takes precedence, and
175
+ `ZERO_0VERSE_MCP=0` disables automatic connection.
130
176
 
131
- Install dependencies, run `npm run dev`, and open the printed browser address.
132
- See [CONTRIBUTING.md](https://github.com/0sec-labs/0/blob/main/.github/CONTRIBUTING.md).
133
177
 
134
178
  ## Status and safety
135
179
 
136
- **Research preview.** Assess authorized systems and review findings and fixes.
137
- Run `0` or `0 web` to open the browser console without an account.
138
- The interactive terminal UI is retired; headless CLI, automation, MCP and binary commands remain available.
139
- Use `0 chat --prompt "your request"` for one-shot automation; set `--mode standard` for explicit scope checks.
140
- The optional [scope plugin](https://docs.0.security/scope/) enforces target boundaries.
180
+ **Research preview.** Assess only authorized systems and review findings and fixes.
181
+ Use `--mode standard` with headless chat for explicit scope checks. The optional
182
+ [scope plugin](https://docs.0.security/scope/) enforces target boundaries.
141
183
 
142
- Report vulnerabilities through [SECURITY.md](https://github.com/0sec-labs/0/blob/main/.github/SECURITY.md).
184
+ Report vulnerabilities through [SECURITY.md](.github/SECURITY.md).
143
185
  Licensed under [MIT](LICENSE-MIT) OR [Apache-2.0](LICENSE).
144
186
 
145
187
  [Public disclosures and upstream fixes](https://0.security/research/#disclosures).
146
- Thanks to [OpenTUI](https://github.com/anomalyco/opentui), [Bun](https://bun.sh/),
147
- [React](https://react.dev/), [Models.dev](https://models.dev/),
148
- [LiteLLM](https://github.com/BerriAI/litellm), and our contributors.
@@ -5,11 +5,12 @@ import {
5
5
  adaptAndVerify,
6
6
  applyUnifiedDiff,
7
7
  renderAdaptationPrompt
8
- } from "./chunk-5NFIY2SJ.js";
9
- import "./chunk-3LPBJMHB.js";
10
- import "./chunk-XA2IBHPB.js";
11
- import "./chunk-GXXX7AGH.js";
12
- import "./chunk-VIT5ALXF.js";
8
+ } from "./chunk-FI5YL4R2.js";
9
+ import "./chunk-ACYZMJHC.js";
10
+ import "./chunk-FOLTHXRH.js";
11
+ import "./chunk-S3B6HFSM.js";
12
+ import "./chunk-5XOYTAOK.js";
13
+ import "./chunk-36J5ZLFE.js";
13
14
  import "./chunk-VCSFCHAJ.js";
14
15
  export {
15
16
  adaptAndVerify,
@@ -14,9 +14,10 @@ import {
14
14
  parseUbuntuTracker,
15
15
  scoreCodeCandidate,
16
16
  scoreRepoCandidate
17
- } from "./chunk-SU4IHQQI.js";
18
- import "./chunk-GXXX7AGH.js";
19
- import "./chunk-VIT5ALXF.js";
17
+ } from "./chunk-5H2PXZ7Q.js";
18
+ import "./chunk-S3B6HFSM.js";
19
+ import "./chunk-5XOYTAOK.js";
20
+ import "./chunk-36J5ZLFE.js";
20
21
  import "./chunk-VCSFCHAJ.js";
21
22
  export {
22
23
  classifyReferences,
@@ -24,34 +24,36 @@ import {
24
24
  scoreDualViewWeaponizability,
25
25
  storeAssumptionModel,
26
26
  subjectSelfEnforces
27
- } from "./chunk-TVS6WVSK.js";
27
+ } from "./chunk-76CLUI54.js";
28
28
  import {
29
29
  composeGate,
30
30
  makeSkepticVerifier
31
- } from "./chunk-YSQWZ67M.js";
32
- import "./chunk-5WAHHZBF.js";
33
- import "./chunk-3LPBJMHB.js";
31
+ } from "./chunk-HFUOUT2B.js";
32
+ import "./chunk-ACYZMJHC.js";
34
33
  import "./chunk-K2PWUPUI.js";
35
- import "./chunk-X2ZMSRTP.js";
36
- import "./chunk-YERUDEXT.js";
34
+ import "./chunk-OFPF26WL.js";
35
+ import "./chunk-PAE7ZAV6.js";
37
36
  import "./chunk-UEX7PFSE.js";
38
- import "./chunk-4ROZFLSR.js";
39
- import "./chunk-BD7WULFS.js";
40
- import "./chunk-XA2IBHPB.js";
41
- import "./chunk-YKWARO3T.js";
42
- import "./chunk-K74DRDC5.js";
37
+ import "./chunk-I4VIAQHM.js";
38
+ import "./chunk-2J3STRJT.js";
39
+ import "./chunk-HDJSHLRM.js";
40
+ import "./chunk-AZ7L3HFD.js";
41
+ import "./chunk-FOLTHXRH.js";
42
+ import "./chunk-DJGJECBV.js";
43
+ import "./chunk-DHNYJ2ML.js";
43
44
  import "./chunk-O6KPVYOI.js";
44
- import "./chunk-BMDG6T7D.js";
45
- import "./chunk-IXT64DV5.js";
46
- import "./chunk-IJ6UPW3H.js";
47
- import "./chunk-PVJUPIQG.js";
48
- import "./chunk-5PFRE522.js";
45
+ import "./chunk-YXTV2FRE.js";
46
+ import "./chunk-XPDJE537.js";
47
+ import "./chunk-EIONVEFN.js";
48
+ import "./chunk-3T5R7P4T.js";
49
+ import "./chunk-MY44EZKD.js";
49
50
  import "./chunk-RS4MAN3Q.js";
50
- import "./chunk-CGBDEST2.js";
51
- import "./chunk-QNRYOJEB.js";
51
+ import "./chunk-RFK5F45W.js";
52
+ import "./chunk-27SXCYWH.js";
52
53
  import "./chunk-5IBCBQEH.js";
53
- import "./chunk-GXXX7AGH.js";
54
- import "./chunk-VIT5ALXF.js";
54
+ import "./chunk-S3B6HFSM.js";
55
+ import "./chunk-5XOYTAOK.js";
56
+ import "./chunk-36J5ZLFE.js";
55
57
  import "./chunk-VCSFCHAJ.js";
56
58
  export {
57
59
  ASSUMPTION_MODEL_VERSION,
@@ -8,10 +8,11 @@ import {
8
8
  createBackendHandshake,
9
9
  handleBackendConnectionRequest,
10
10
  loadBackendConnectionConfig
11
- } from "./chunk-Q7JKIKKF.js";
12
- import "./chunk-BMDG6T7D.js";
13
- import "./chunk-GXXX7AGH.js";
14
- import "./chunk-VIT5ALXF.js";
11
+ } from "./chunk-SEWZ76MN.js";
12
+ import "./chunk-YXTV2FRE.js";
13
+ import "./chunk-S3B6HFSM.js";
14
+ import "./chunk-5XOYTAOK.js";
15
+ import "./chunk-36J5ZLFE.js";
15
16
  import "./chunk-VCSFCHAJ.js";
16
17
  export {
17
18
  BackendConnectionError,
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-5IBCBQEH.js";
7
7
  import {
8
8
  homeStateDir
9
- } from "./chunk-GXXX7AGH.js";
9
+ } from "./chunk-S3B6HFSM.js";
10
10
 
11
11
  // packages/core/dist/scope/scope.js
12
12
  import { readFileSync as readFileSync3 } from "node:fs";