chainwall 0.1.0 → 2.2.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.
Files changed (221) hide show
  1. package/LICENSE +44 -1
  2. package/README.md +535 -121
  3. package/dist/auditor/mcp-detector.d.ts +1 -0
  4. package/dist/auditor/mcp-detector.d.ts.map +1 -1
  5. package/dist/auditor/mcp-detector.js +5 -3
  6. package/dist/auditor/mcp-detector.js.map +1 -1
  7. package/dist/auditor/mcp-poison-detector.d.ts +19 -0
  8. package/dist/auditor/mcp-poison-detector.d.ts.map +1 -0
  9. package/dist/auditor/mcp-poison-detector.js +295 -0
  10. package/dist/auditor/mcp-poison-detector.js.map +1 -0
  11. package/dist/auditor/miner-detector.d.ts +36 -0
  12. package/dist/auditor/miner-detector.d.ts.map +1 -0
  13. package/dist/auditor/miner-detector.js +144 -0
  14. package/dist/auditor/miner-detector.js.map +1 -0
  15. package/dist/auditor/remediation.d.ts +13 -0
  16. package/dist/auditor/remediation.d.ts.map +1 -1
  17. package/dist/auditor/remediation.js +334 -1
  18. package/dist/auditor/remediation.js.map +1 -1
  19. package/dist/auditor/types.d.ts +4 -0
  20. package/dist/auditor/types.d.ts.map +1 -1
  21. package/dist/cli.js +29 -1
  22. package/dist/cli.js.map +1 -1
  23. package/dist/commands/audit.d.ts.map +1 -1
  24. package/dist/commands/audit.js +20 -0
  25. package/dist/commands/audit.js.map +1 -1
  26. package/dist/commands/monitor.d.ts +13 -0
  27. package/dist/commands/monitor.d.ts.map +1 -0
  28. package/dist/commands/monitor.js +102 -0
  29. package/dist/commands/monitor.js.map +1 -0
  30. package/dist/commands/scan.d.ts.map +1 -1
  31. package/dist/commands/scan.js +7 -0
  32. package/dist/commands/scan.js.map +1 -1
  33. package/dist/config.d.ts +4 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +55 -0
  36. package/dist/config.js.map +1 -1
  37. package/dist/mcp-server/index.d.ts.map +1 -1
  38. package/dist/mcp-server/index.js +4 -0
  39. package/dist/mcp-server/index.js.map +1 -1
  40. package/dist/mcp-server/schemas.d.ts +2 -0
  41. package/dist/mcp-server/schemas.d.ts.map +1 -1
  42. package/dist/mcp-server/schemas.js +2 -0
  43. package/dist/mcp-server/schemas.js.map +1 -1
  44. package/dist/mcp-server/tools/capture-baseline.d.ts +3 -0
  45. package/dist/mcp-server/tools/capture-baseline.d.ts.map +1 -0
  46. package/dist/mcp-server/tools/capture-baseline.js +42 -0
  47. package/dist/mcp-server/tools/capture-baseline.js.map +1 -0
  48. package/dist/mcp-server/tools/monitor-snapshot.d.ts +3 -0
  49. package/dist/mcp-server/tools/monitor-snapshot.d.ts.map +1 -0
  50. package/dist/mcp-server/tools/monitor-snapshot.js +53 -0
  51. package/dist/mcp-server/tools/monitor-snapshot.js.map +1 -0
  52. package/dist/monitor/baseline.d.ts +6 -0
  53. package/dist/monitor/baseline.d.ts.map +1 -0
  54. package/dist/monitor/baseline.js +64 -0
  55. package/dist/monitor/baseline.js.map +1 -0
  56. package/dist/monitor/browser-scanner.d.ts +4 -0
  57. package/dist/monitor/browser-scanner.d.ts.map +1 -0
  58. package/dist/monitor/browser-scanner.js +141 -0
  59. package/dist/monitor/browser-scanner.js.map +1 -0
  60. package/dist/monitor/clipboard-scanner.d.ts +3 -0
  61. package/dist/monitor/clipboard-scanner.d.ts.map +1 -0
  62. package/dist/monitor/clipboard-scanner.js +49 -0
  63. package/dist/monitor/clipboard-scanner.js.map +1 -0
  64. package/dist/monitor/correlation.d.ts +9 -0
  65. package/dist/monitor/correlation.d.ts.map +1 -0
  66. package/dist/monitor/correlation.js +117 -0
  67. package/dist/monitor/correlation.js.map +1 -0
  68. package/dist/monitor/index.d.ts +13 -0
  69. package/dist/monitor/index.d.ts.map +1 -0
  70. package/dist/monitor/index.js +11 -0
  71. package/dist/monitor/index.js.map +1 -0
  72. package/dist/monitor/known-good.d.ts +24 -0
  73. package/dist/monitor/known-good.d.ts.map +1 -0
  74. package/dist/monitor/known-good.js +82 -0
  75. package/dist/monitor/known-good.js.map +1 -0
  76. package/dist/monitor/network-scanner.d.ts +4 -0
  77. package/dist/monitor/network-scanner.d.ts.map +1 -0
  78. package/dist/monitor/network-scanner.js +123 -0
  79. package/dist/monitor/network-scanner.js.map +1 -0
  80. package/dist/monitor/persistence-scanner.d.ts +4 -0
  81. package/dist/monitor/persistence-scanner.d.ts.map +1 -0
  82. package/dist/monitor/persistence-scanner.js +156 -0
  83. package/dist/monitor/persistence-scanner.js.map +1 -0
  84. package/dist/monitor/process-scanner.d.ts +6 -0
  85. package/dist/monitor/process-scanner.d.ts.map +1 -0
  86. package/dist/monitor/process-scanner.js +101 -0
  87. package/dist/monitor/process-scanner.js.map +1 -0
  88. package/dist/monitor/shadow-ai-scanner.d.ts +3 -0
  89. package/dist/monitor/shadow-ai-scanner.d.ts.map +1 -0
  90. package/dist/monitor/shadow-ai-scanner.js +70 -0
  91. package/dist/monitor/shadow-ai-scanner.js.map +1 -0
  92. package/dist/monitor/types.d.ts +79 -0
  93. package/dist/monitor/types.d.ts.map +1 -0
  94. package/dist/monitor/types.js +12 -0
  95. package/dist/monitor/types.js.map +1 -0
  96. package/dist/reporter/audit-report.d.ts.map +1 -1
  97. package/dist/reporter/audit-report.js +50 -0
  98. package/dist/reporter/audit-report.js.map +1 -1
  99. package/dist/reporter/monitor-report.d.ts +3 -0
  100. package/dist/reporter/monitor-report.d.ts.map +1 -0
  101. package/dist/reporter/monitor-report.js +89 -0
  102. package/dist/reporter/monitor-report.js.map +1 -0
  103. package/dist/reporter/risk-scorer.d.ts +2 -0
  104. package/dist/reporter/risk-scorer.d.ts.map +1 -1
  105. package/dist/reporter/risk-scorer.js +20 -0
  106. package/dist/reporter/risk-scorer.js.map +1 -1
  107. package/dist/reporter/shared.d.ts.map +1 -1
  108. package/dist/reporter/shared.js +12 -6
  109. package/dist/reporter/shared.js.map +1 -1
  110. package/dist/rules/exfiltration-rules.d.ts +3 -0
  111. package/dist/rules/exfiltration-rules.d.ts.map +1 -0
  112. package/dist/rules/exfiltration-rules.js +181 -0
  113. package/dist/rules/exfiltration-rules.js.map +1 -0
  114. package/dist/rules/index.d.ts +3 -1
  115. package/dist/rules/index.d.ts.map +1 -1
  116. package/dist/rules/index.js +5 -1
  117. package/dist/rules/index.js.map +1 -1
  118. package/dist/rules/mining-rules.d.ts +7 -0
  119. package/dist/rules/mining-rules.d.ts.map +1 -0
  120. package/dist/rules/mining-rules.js +239 -0
  121. package/dist/rules/mining-rules.js.map +1 -0
  122. package/dist/rules/skill-rules.d.ts +10 -0
  123. package/dist/rules/skill-rules.d.ts.map +1 -0
  124. package/dist/rules/skill-rules.js +293 -0
  125. package/dist/rules/skill-rules.js.map +1 -0
  126. package/dist/rules/types.d.ts +9 -1
  127. package/dist/rules/types.d.ts.map +1 -1
  128. package/dist/scanner/filesystem-scanner.d.ts.map +1 -1
  129. package/dist/scanner/filesystem-scanner.js +39 -2
  130. package/dist/scanner/filesystem-scanner.js.map +1 -1
  131. package/dist/scanner/injection-scanner.d.ts +1 -0
  132. package/dist/scanner/injection-scanner.d.ts.map +1 -1
  133. package/dist/scanner/injection-scanner.js +1 -1
  134. package/dist/scanner/injection-scanner.js.map +1 -1
  135. package/dist/scanner/skill-scanner.d.ts +18 -0
  136. package/dist/scanner/skill-scanner.d.ts.map +1 -0
  137. package/dist/scanner/skill-scanner.js +244 -0
  138. package/dist/scanner/skill-scanner.js.map +1 -0
  139. package/dist/tui/App.d.ts.map +1 -1
  140. package/dist/tui/App.js +10 -2
  141. package/dist/tui/App.js.map +1 -1
  142. package/dist/tui/components/FileLink.d.ts +12 -0
  143. package/dist/tui/components/FileLink.d.ts.map +1 -0
  144. package/dist/tui/components/FileLink.js +13 -0
  145. package/dist/tui/components/FileLink.js.map +1 -0
  146. package/dist/tui/components/Footer.d.ts +2 -3
  147. package/dist/tui/components/Footer.d.ts.map +1 -1
  148. package/dist/tui/components/Footer.js +51 -30
  149. package/dist/tui/components/Footer.js.map +1 -1
  150. package/dist/tui/components/RemediationMenu.d.ts.map +1 -1
  151. package/dist/tui/components/RemediationMenu.js +2 -1
  152. package/dist/tui/components/RemediationMenu.js.map +1 -1
  153. package/dist/tui/components/Table.d.ts +1 -1
  154. package/dist/tui/components/Table.d.ts.map +1 -1
  155. package/dist/tui/components/Table.js +3 -9
  156. package/dist/tui/components/Table.js.map +1 -1
  157. package/dist/tui/components/WelcomeScreen.d.ts.map +1 -1
  158. package/dist/tui/components/WelcomeScreen.js +1 -1
  159. package/dist/tui/components/WelcomeScreen.js.map +1 -1
  160. package/dist/tui/educational.d.ts +6 -0
  161. package/dist/tui/educational.d.ts.map +1 -1
  162. package/dist/tui/educational.js +47 -0
  163. package/dist/tui/educational.js.map +1 -1
  164. package/dist/tui/hooks/useAudit.d.ts.map +1 -1
  165. package/dist/tui/hooks/useAudit.js +17 -0
  166. package/dist/tui/hooks/useAudit.js.map +1 -1
  167. package/dist/tui/hooks/useHookStatus.d.ts.map +1 -1
  168. package/dist/tui/hooks/useHookStatus.js +24 -3
  169. package/dist/tui/hooks/useHookStatus.js.map +1 -1
  170. package/dist/tui/hooks/useLogs.d.ts +1 -1
  171. package/dist/tui/hooks/useLogs.d.ts.map +1 -1
  172. package/dist/tui/hooks/useMonitor.d.ts +28 -0
  173. package/dist/tui/hooks/useMonitor.d.ts.map +1 -0
  174. package/dist/tui/hooks/useMonitor.js +127 -0
  175. package/dist/tui/hooks/useMonitor.js.map +1 -0
  176. package/dist/tui/hooks/useScan.d.ts +2 -2
  177. package/dist/tui/hooks/useScan.d.ts.map +1 -1
  178. package/dist/tui/hooks/useScan.js +12 -2
  179. package/dist/tui/hooks/useScan.js.map +1 -1
  180. package/dist/tui/screens/AuditPanel.d.ts.map +1 -1
  181. package/dist/tui/screens/AuditPanel.js +184 -16
  182. package/dist/tui/screens/AuditPanel.js.map +1 -1
  183. package/dist/tui/screens/LogsPanel.d.ts.map +1 -1
  184. package/dist/tui/screens/LogsPanel.js +27 -21
  185. package/dist/tui/screens/LogsPanel.js.map +1 -1
  186. package/dist/tui/screens/MonitorPanel.d.ts +2 -0
  187. package/dist/tui/screens/MonitorPanel.d.ts.map +1 -0
  188. package/dist/tui/screens/MonitorPanel.js +370 -0
  189. package/dist/tui/screens/MonitorPanel.js.map +1 -0
  190. package/dist/tui/screens/OverviewPanel.d.ts.map +1 -1
  191. package/dist/tui/screens/OverviewPanel.js +10 -4
  192. package/dist/tui/screens/OverviewPanel.js.map +1 -1
  193. package/dist/tui/screens/ScanPanel.d.ts.map +1 -1
  194. package/dist/tui/screens/ScanPanel.js +8 -8
  195. package/dist/tui/screens/ScanPanel.js.map +1 -1
  196. package/dist/tui/screens/ScanResultsPanel.d.ts.map +1 -1
  197. package/dist/tui/screens/ScanResultsPanel.js +144 -27
  198. package/dist/tui/screens/ScanResultsPanel.js.map +1 -1
  199. package/dist/tui/screens/SettingsPanel.d.ts.map +1 -1
  200. package/dist/tui/screens/SettingsPanel.js +3 -2
  201. package/dist/tui/screens/SettingsPanel.js.map +1 -1
  202. package/dist/tui/state.d.ts +7 -3
  203. package/dist/tui/state.d.ts.map +1 -1
  204. package/dist/tui/state.js +1 -0
  205. package/dist/tui/state.js.map +1 -1
  206. package/dist/tui/theme.d.ts +2 -1
  207. package/dist/tui/theme.d.ts.map +1 -1
  208. package/dist/tui/theme.js +2 -1
  209. package/dist/tui/theme.js.map +1 -1
  210. package/dist/tui/utils/open-file.d.ts +4 -0
  211. package/dist/tui/utils/open-file.d.ts.map +1 -0
  212. package/dist/tui/utils/open-file.js +29 -0
  213. package/dist/tui/utils/open-file.js.map +1 -0
  214. package/install.sh +26 -14
  215. package/package.json +15 -5
  216. package/patterns/cryptojacking.yaml +198 -0
  217. package/patterns/exfiltration.yaml +160 -0
  218. package/patterns/skill-threats.yaml +183 -0
  219. package/rules/SECURITY-RULES.md +50 -3
  220. package/skill/llm-antivirus/SKILL.md +4 -0
  221. package/uninstall.sh +14 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileLink.js","sourceRoot":"","sources":["../../../src/tui/components/FileLink.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAYtC,gEAAgE;AAChE,wEAAwE;AACxE,mEAAmE;AACnE,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAiB;IAC9F,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAE3D,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,kBAAE,KAAK,GAAQ,CAC/F,CAAC;AACJ,CAAC"}
@@ -1,8 +1,7 @@
1
- import type { Panel } from '../state.js';
2
- import type { FocusArea } from '../state.js';
1
+ import type { Panel, FocusArea, PanelState } from '../state.js';
3
2
  interface FooterProps {
4
3
  panel: Panel;
5
- panelState?: string;
4
+ panelState?: PanelState;
6
5
  focusArea: FocusArea;
7
6
  }
8
7
  export declare function Footer({ panel, panelState, focusArea }: FooterProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+B7C,UAAU,WAAW;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,2CAiCnE"}
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqChE,UAAU,WAAW;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,2CAoDnE"}
@@ -2,30 +2,36 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
3
  import { THEME, ICONS } from '../theme.js';
4
4
  import { useTermSize } from '../App.js';
5
- const SIDEBAR_HINTS = 'up/down:navigate Enter/->:open 1-5:jump ?:help q:quit';
5
+ const SIDEBAR_HINTS = 'j/k:move up/down Enter:open panel 1-6:jump to panel ?:help q:quit';
6
6
  const DYNAMIC_HINTS = {
7
- 'overview:idle': '<-:sidebar s:scan a:audit ?:help q:quit',
8
- 'scan:mode-selection': '<-:sidebar j/k:mode Enter:start v:view last',
9
- 'scan:scanning': 'Esc:cancel',
10
- 'scan:cancelled': 'Esc:back',
11
- 'scan:error': 'Esc:back',
12
- 'scan-results:viewing': '<-:sidebar /:search f:sev c:cat t:view a:allow A:rule e:export',
13
- 'scan-results:searching': 'Enter:apply Esc:clear',
14
- 'audit:mode-selection': '<-:sidebar j/k:mode Enter:start',
15
- 'audit:running': 'Esc:cancel',
16
- 'audit:error': 'Esc:back',
17
- 'audit:results': '<-:sidebar j/k:nav Enter:expand r:fix Esc:collapse',
18
- 'settings:idle': '<-:sidebar p:toggle Enter:select Esc:back',
19
- 'logs:activity': '<-:sidebar Tab:switch f:filter j/k:nav r:reload',
20
- 'logs:history': '<-:sidebar Tab:switch j/k:nav r:reload',
7
+ 'overview:idle': '<-:back to sidebar s:run scan a:run audit ?:all keybindings q:quit',
8
+ 'scan:mode-selection': '<-:back to sidebar j/k:select mode Enter:start scan v:view last results',
9
+ 'scan:scanning': 'Esc:cancel scan',
10
+ 'scan:cancelled': 'Esc:go back',
11
+ 'scan:error': 'Esc:go back',
12
+ 'scan-results:viewing': '<-:sidebar j/k:navigate Enter:details Tab:sections o:open u:undo /:search f:filter severity c:filter category t:toggle view a:allowlist A:disable rule e:export SARIF',
13
+ 'scan-results:searching': 'Enter:apply search Esc:cancel',
14
+ 'audit:mode-selection': '<-:back to sidebar j/k:select mode Enter:start audit',
15
+ 'audit:running': 'Esc:cancel audit',
16
+ 'audit:error': 'Esc:go back',
17
+ 'audit:results': '<-:sidebar j/k:navigate Enter:expand Tab:cycle 1-8:sections o:open r:remediate u:undo Esc:back',
18
+ 'monitor:mode-selection': '<-:back to sidebar j/k:select Enter:start/review',
19
+ 'monitor:running': 'Esc:cancel',
20
+ 'monitor:error': 'Esc:go back',
21
+ 'monitor:results': '<-:sidebar j/k:navigate Enter:expand 1-6:sections Tab:cycle o:locate r:remediate f:filter a:allowlist u:undo',
22
+ 'monitor:remediating': 'j/k:select action Enter:execute Esc:cancel',
23
+ 'settings:idle': '<-:back to sidebar p:toggle protection Enter:select Esc:go back',
24
+ 'logs:activity': '<-:sidebar Tab:switch tab f:cycle filter j/k:navigate r:reload',
25
+ 'logs:history': '<-:sidebar Tab:switch tab j/k:navigate r:reload',
21
26
  };
22
27
  const PANEL_FALLBACKS = {
23
- overview: '<-:sidebar s:scan a:audit ?:help q:quit',
24
- scan: '<-:sidebar j/k:mode Enter:start',
25
- 'scan-results': '<-:sidebar /:search f:sev c:cat t:view e:export',
26
- audit: '<-:sidebar j/k:mode Enter:start',
27
- settings: '<-:sidebar p:toggle Esc:back',
28
- logs: '<-:sidebar Tab:switch j/k:nav r:reload',
28
+ overview: '<-:back to sidebar s:run scan a:run audit ?:all keybindings q:quit',
29
+ scan: '<-:back to sidebar j/k:select mode Enter:start scan',
30
+ 'scan-results': '<-:sidebar Tab:sections o:open u:undo /:search f:filter severity c:filter category t:toggle view e:export SARIF',
31
+ audit: '<-:sidebar Tab:cycle 1-8:sections o:open r:remediate u:undo Esc:back',
32
+ monitor: '<-:sidebar j/k:navigate Enter:expand 1-6:sections Tab:cycle o:locate r:remediate f:filter a:allowlist u:undo',
33
+ settings: '<-:back to sidebar p:toggle protection Esc:go back',
34
+ logs: '<-:sidebar Tab:switch tab j/k:navigate r:reload',
29
35
  };
30
36
  export function Footer({ panel, panelState, focusArea }) {
31
37
  const termSize = useTermSize();
@@ -38,14 +44,29 @@ export function Footer({ panel, panelState, focusArea }) {
38
44
  hints = DYNAMIC_HINTS[key] ?? PANEL_FALLBACKS[panel];
39
45
  }
40
46
  const separatorWidth = Math.max(termSize.cols, 40);
41
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.border, children: ICONS.section.repeat(separatorWidth) }), _jsx(Box, { paddingX: 1, children: _jsx(Text, { children: hints.split(' ').filter(Boolean).map((chunk, i) => {
42
- const parts = chunk.split(':');
43
- if (parts.length >= 2) {
44
- const key = parts[0];
45
- const desc = parts.slice(1).join(':');
46
- return _jsxs(Text, { children: [_jsx(Text, { color: THEME.title, children: key }), _jsxs(Text, { color: THEME.primaryDim, children: [":", desc, " "] })] }, i);
47
- }
48
- return _jsxs(Text, { color: THEME.primaryDim, children: [chunk, " "] }, i);
49
- }) }) })] }));
47
+ const allChunks = hints.split(' ').filter(Boolean);
48
+ // Split into rows that fit the terminal width
49
+ const maxWidth = termSize.cols - 4; // paddingX + margin
50
+ const rows = [[]];
51
+ let currentWidth = 0;
52
+ for (const chunk of allChunks) {
53
+ const chunkWidth = chunk.length + 2; // +2 for trailing gap
54
+ if (currentWidth + chunkWidth > maxWidth && rows[rows.length - 1].length > 0) {
55
+ rows.push([]);
56
+ currentWidth = 0;
57
+ }
58
+ rows[rows.length - 1].push(chunk);
59
+ currentWidth += chunkWidth;
60
+ }
61
+ const renderChunks = (chunks) => chunks.map((chunk, i) => {
62
+ const parts = chunk.split(':');
63
+ if (parts.length >= 2) {
64
+ const key = parts[0];
65
+ const desc = parts.slice(1).join(':');
66
+ return _jsxs(Text, { children: [_jsx(Text, { color: THEME.title, children: key }), _jsxs(Text, { color: THEME.primaryDim, children: [":", desc, " "] })] }, i);
67
+ }
68
+ return _jsxs(Text, { color: THEME.primaryDim, children: [chunk, " "] }, i);
69
+ });
70
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.border, children: ICONS.section.repeat(separatorWidth) }), rows.map((row, ri) => (_jsx(Box, { paddingX: 1, children: _jsx(Text, { children: renderChunks(row) }) }, ri)))] }));
50
71
  }
51
72
  //# sourceMappingURL=Footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,aAAa,GAAG,2DAA2D,CAAC;AAElF,MAAM,aAAa,GAA2B;IAC5C,eAAe,EAAW,6CAA6C;IACvE,qBAAqB,EAAK,gDAAgD;IAC1E,eAAe,EAAW,YAAY;IACtC,gBAAgB,EAAU,UAAU;IACpC,YAAY,EAAc,UAAU;IACpC,sBAAsB,EAAI,uEAAuE;IACjG,wBAAwB,EAAE,wBAAwB;IAClD,sBAAsB,EAAI,mCAAmC;IAC7D,eAAe,EAAW,YAAY;IACtC,aAAa,EAAa,UAAU;IACpC,eAAe,EAAW,wDAAwD;IAClF,eAAe,EAAW,8CAA8C;IACxE,eAAe,EAAW,qDAAqD;IAC/E,cAAc,EAAY,2CAA2C;CACtE,CAAC;AAEF,MAAM,eAAe,GAA0B;IAC7C,QAAQ,EAAE,6CAA6C;IACvD,IAAI,EAAE,mCAAmC;IACzC,cAAc,EAAE,sDAAsD;IACtE,KAAK,EAAE,mCAAmC;IAC1C,QAAQ,EAAE,gCAAgC;IAC1C,IAAI,EAAE,2CAA2C;CAClD,CAAC;AAQF,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAe;IAClE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,GAAG,aAAa,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC;QACpE,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEnD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,YACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAChC,EACP,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,cACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACtC,OAAO,MAAC,IAAI,eAAS,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,GAAG,GAAQ,EAAA,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,kBAAI,IAAI,UAAU,KAAxF,CAAC,CAA8F,CAAC;wBACpH,CAAC;wBACD,OAAO,MAAC,IAAI,IAAS,KAAK,EAAE,KAAK,CAAC,UAAU,aAAG,KAAK,WAAlC,CAAC,CAA2C,CAAC;oBACjE,CAAC,CAAC,GACG,GACH,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/tui/components/Footer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemediationMenu.d.ts","sourceRoot":"","sources":["../../../src/tui/components/RemediationMenu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEzF,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACxD;AAID,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,oBAAoB,2CAsKlG"}
1
+ {"version":3,"file":"RemediationMenu.d.ts","sourceRoot":"","sources":["../../../src/tui/components/RemediationMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEzF,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACxD;AAID,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,oBAAoB,2CAsKlG"}
@@ -2,6 +2,7 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useState, useEffect } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
4
  import { THEME, ICONS } from '../theme.js';
5
+ import { FileLink } from './FileLink.js';
5
6
  export function RemediationMenu({ title, actions, onClose, onActionComplete }) {
6
7
  const [selectedIndex, setSelectedIndex] = useState(0);
7
8
  const [menuState, setMenuState] = useState('selecting');
@@ -79,6 +80,6 @@ export function RemediationMenu({ title, actions, onClose, onActionComplete }) {
79
80
  if (actions.length === 0) {
80
81
  return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: THEME.border, paddingX: 2, paddingY: 1, children: [_jsxs(Text, { color: THEME.brand, bold: true, children: ["Remediate: ", title] }), _jsx(Text, { color: THEME.primaryDim, children: "No remediation actions available for this item." }), _jsx(Text, { color: THEME.hint, children: "ESC: close" })] }));
81
82
  }
82
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.brand, paddingX: 2, paddingY: 1, children: [_jsxs(Text, { color: THEME.brand, bold: true, children: [ICONS.section, ICONS.section, " Remediate: ", title, " ", ICONS.section, ICONS.section] }), _jsx(Text, { children: " " }), menuState === 'selecting' && (_jsxs(Box, { flexDirection: "column", children: [actions.map((action, i) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: i === selectedIndex ? THEME.brand : undefined, children: i === selectedIndex ? '\u25B8 ' : ' ' }), _jsxs(Text, { color: action.riskLevel === 'caution' ? THEME.medium : THEME.success, children: ["[", action.riskLevel === 'caution' ? 'CAUTION' : 'SAFE', "]"] }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.value, children: action.label })] }), _jsxs(Box, { marginLeft: 4, children: [_jsx(Text, { color: THEME.label, children: "What this does: " }), _jsx(Text, { color: THEME.primaryDim, children: action.description })] })] }, i))), _jsx(Text, { color: THEME.hint, children: "j/k: select Enter: execute Esc: cancel" })] })), menuState === 'confirming' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.title, bold: true, children: "Confirm action:" }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.value, children: actions[selectedIndex].label }), _jsx(Text, { color: THEME.primaryDim, children: actions[selectedIndex].description }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.medium, children: "This action modifies files. A backup will be created." }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.hint, children: "Enter: proceed Esc: cancel" })] })), menuState === 'executing' && (_jsx(Text, { color: THEME.brand, children: "Executing..." })), menuState === 'result' && result && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: result.success ? THEME.success : THEME.critical, children: [result.success ? '\u2713' : '\u2717', " ", result.message] }), result.backupPath && (_jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Backup: " }), _jsx(Text, { color: THEME.filePath, children: result.backupPath })] })), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.hint, children: "Auto-closing in 3s... (any key to close)" })] }))] }));
83
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.brand, paddingX: 2, paddingY: 1, children: [_jsxs(Text, { color: THEME.brand, bold: true, children: [ICONS.section, ICONS.section, " Remediate: ", title, " ", ICONS.section, ICONS.section] }), _jsx(Text, { children: " " }), menuState === 'selecting' && (_jsxs(Box, { flexDirection: "column", children: [actions.map((action, i) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: i === selectedIndex ? THEME.brand : undefined, children: i === selectedIndex ? '\u25B8 ' : ' ' }), _jsxs(Text, { color: action.riskLevel === 'caution' ? THEME.medium : THEME.success, children: ["[", action.riskLevel === 'caution' ? 'CAUTION' : 'SAFE', "]"] }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.value, children: action.label })] }), _jsxs(Box, { marginLeft: 4, children: [_jsx(Text, { color: THEME.label, children: "What this does: " }), _jsx(Text, { color: THEME.primaryDim, children: action.description })] })] }, i))), _jsx(Text, { color: THEME.hint, children: "j/k: select Enter: execute Esc: cancel" })] })), menuState === 'confirming' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.title, bold: true, children: "Confirm action:" }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.value, children: actions[selectedIndex].label }), _jsx(Text, { color: THEME.primaryDim, children: actions[selectedIndex].description }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.medium, children: "This action modifies files. A backup will be created." }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.hint, children: "Enter: proceed Esc: cancel" })] })), menuState === 'executing' && (_jsx(Text, { color: THEME.brand, children: "Executing..." })), menuState === 'result' && result && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: result.success ? THEME.success : THEME.critical, children: [result.success ? '\u2713' : '\u2717', " ", result.message] }), result.backupPath && (_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Backup: " }), _jsx(FileLink, { path: result.backupPath })] })), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.hint, children: "Auto-closing in 3s... (any key to close)" })] }))] }));
83
84
  }
84
85
  //# sourceMappingURL=RemediationMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemediationMenu.js","sourceRoot":"","sources":["../../../src/tui/components/RemediationMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemediationMenu.js","sourceRoot":"","sources":["../../../src/tui/components/RemediationMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface Column<T> {
3
3
  header: string;
4
- width: number | 'flex';
4
+ width: number;
5
5
  align?: 'left' | 'right';
6
6
  render: (item: T, selected: boolean) => React.ReactNode;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;CACzD;AAED,UAAU,UAAU,CAAC,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;CACpF;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,wBAAgB,KAAK,CAAC,CAAC,EAAE,EACvB,OAAO,EACP,IAAI,EACJ,aAAa,EACb,MAAM,EACN,YAAY,EACZ,YAA0B,EAC1B,WAAW,EACX,iBAAiB,GAClB,EAAE,UAAU,CAAC,CAAC,CAAC,2CA6Ef"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;CACzD;AAED,UAAU,UAAU,CAAC,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;CACpF;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,wBAAgB,KAAK,CAAC,CAAC,EAAE,EACvB,OAAO,EACP,IAAI,EACJ,aAAa,EACb,MAAM,EACN,YAAY,EACZ,YAA0B,EAC1B,WAAW,EACX,iBAAiB,GAClB,EAAE,UAAU,CAAC,CAAC,CAAC,2CA2Ef"}
@@ -19,20 +19,14 @@ export function Table({ columns, data, selectedIndex, height, keyExtractor, empt
19
19
  const visible = data.slice(visibleStart, visibleEnd);
20
20
  const aboveCount = visibleStart;
21
21
  const belowCount = data.length - visibleEnd;
22
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { gap: 2, children: columns.map((col, ci) => {
23
- const w = col.width === 'flex' ? undefined : col.width;
24
- return (_jsx(Box, { width: w, flexGrow: col.width === 'flex' ? 1 : 0, children: _jsx(Text, { color: THEME.title, bold: true, children: typeof w === 'number' ? truncate(col.header, w) : col.header }) }, ci));
25
- }) }), aboveCount > 0 && (_jsxs(Text, { color: THEME.muted, children: [" ", ICONS.scrollUp, " ", aboveCount, " more above"] })), visible.map((item, i) => {
22
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Box, { width: 2, children: _jsx(Text, { children: " " }) }), columns.map((col, ci) => (_jsx(Box, { width: col.width, marginLeft: ci > 0 ? 1 : 0, children: _jsx(Text, { color: THEME.title, bold: true, children: truncate(col.header, col.width) }) }, ci)))] }), aboveCount > 0 && (_jsxs(Text, { color: THEME.muted, children: [" ", ICONS.scrollUp, " ", aboveCount, " more above"] })), visible.map((item, i) => {
26
23
  const realIndex = visibleStart + i;
27
24
  const selected = realIndex === selectedIndex;
28
25
  // Spanning row (e.g. category header)
29
26
  if (spanningRow?.(item, realIndex)) {
30
- return (_jsx(Box, { backgroundColor: selected ? THEME.rowHighlight : undefined, children: spanningRowRender?.(item, realIndex, selected) }, keyExtractor(item, realIndex)));
27
+ return (_jsxs(Box, { backgroundColor: selected ? THEME.rowHighlight : undefined, children: [_jsxs(Text, { color: selected ? THEME.rowCursor : undefined, children: [selected ? ICONS.arrow : ' ', " "] }), spanningRowRender?.(item, realIndex, selected)] }, keyExtractor(item, realIndex)));
31
28
  }
32
- return (_jsx(Box, { backgroundColor: selected ? THEME.rowHighlight : undefined, gap: 2, children: columns.map((col, ci) => {
33
- const w = col.width === 'flex' ? undefined : col.width;
34
- return (_jsx(Box, { width: w, flexGrow: col.width === 'flex' ? 1 : 0, children: col.render(item, selected) }, ci));
35
- }) }, keyExtractor(item, realIndex)));
29
+ return (_jsxs(Box, { backgroundColor: selected ? THEME.rowHighlight : undefined, children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: selected ? THEME.rowCursor : undefined, children: selected ? ICONS.arrow : ' ' }) }), columns.map((col, ci) => (_jsx(Box, { width: col.width, marginLeft: ci > 0 ? 1 : 0, children: col.render(item, selected) }, ci)))] }, keyExtractor(item, realIndex)));
36
30
  }), belowCount > 0 && (_jsxs(Text, { color: THEME.muted, children: [" ", ICONS.scrollDown, " ", belowCount, " more below"] }))] }));
37
31
  }
38
32
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/tui/components/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/tui/components/Table.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WelcomeScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/components/WelcomeScreen.tsx"],"names":[],"mappings":"AAMA,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CAuC/D"}
1
+ {"version":3,"file":"WelcomeScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/components/WelcomeScreen.tsx"],"names":[],"mappings":"AAMA,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CAwC/D"}
@@ -9,6 +9,6 @@ export function WelcomeScreen({ onComplete }) {
9
9
  onComplete();
10
10
  }
11
11
  });
12
- return (_jsxs(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", paddingY: 2, children: [_jsx(Gradient, { colors: [THEME.brand, THEME.brandDim], children: _jsx(BigText, { text: "CHAINWALL", font: "tiny" }) }), _jsxs(Text, { color: THEME.label, children: [ICONS.shield, " Antivirus for AI Coding Agents"] }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.value, children: "ChainWall protects your machine from AI tools that can reach your secrets." }), _jsx(Text, { children: " " }), _jsxs(Box, { flexDirection: "column", paddingX: 2, children: [_jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Scan for exposed API keys, SSH keys, and credentials"] }), _jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Map which AI tools can reach your secrets"] }), _jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Real-time blocking of dangerous operations"] }), _jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Detect MCP servers, CLI tools, and VS Code extensions"] })] }), _jsx(Text, { children: " " }), _jsx(Box, { borderStyle: "round", borderColor: THEME.brand, paddingX: 2, paddingY: 0, children: _jsx(Text, { color: THEME.brand, bold: true, children: "Press ENTER to run a quick security audit" }) })] }));
12
+ return (_jsxs(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", paddingY: 2, children: [_jsx(Gradient, { colors: [THEME.brand, THEME.brandDim], children: _jsx(BigText, { text: "CHAINWALL", font: "tiny" }) }), _jsxs(Text, { color: THEME.label, children: [ICONS.shield, " Antivirus for AI Coding Agents"] }), _jsx(Text, { children: " " }), _jsx(Text, { color: THEME.value, children: "ChainWall protects your machine from AI tools that can reach your secrets." }), _jsx(Text, { children: " " }), _jsxs(Box, { flexDirection: "column", paddingX: 2, children: [_jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Scan for exposed API keys, SSH keys, and credentials"] }), _jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Map which AI tools can reach your secrets"] }), _jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Real-time blocking of dangerous operations"] }), _jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Detect MCP servers, CLI tools, and VS Code extensions"] }), _jsxs(Text, { color: THEME.success, children: [" ", ICONS.shieldCheck, " Monitor runtime behavior \u2014 processes, network, persistence"] })] }), _jsx(Text, { children: " " }), _jsx(Box, { borderStyle: "round", borderColor: THEME.brand, paddingX: 2, paddingY: 0, children: _jsx(Text, { color: THEME.brand, bold: true, children: "Press ENTER to run a quick security audit" }) })] }));
13
13
  }
14
14
  //# sourceMappingURL=WelcomeScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WelcomeScreen.js","sourceRoot":"","sources":["../../../src/tui/components/WelcomeScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAM3C,MAAM,UAAU,aAAa,CAAC,EAAE,UAAU,EAAsB;IAC9D,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACjF,KAAC,QAAQ,IAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,YAC7C,KAAC,OAAO,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,GAAG,GAC/B,EACX,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,aACrB,KAAK,CAAC,MAAM,uCACR,EACP,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,2FAEjB,EACP,KAAC,IAAI,oBAAS,EACd,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,6DAA6D,EAC7G,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,kDAAkD,EAClG,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,mDAAmD,EACnG,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,8DAA8D,IAC1G,EACN,KAAC,IAAI,oBAAS,EACd,KAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,CAAC,KAAK,EACxB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,YAEX,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,gEAEvB,GACH,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"WelcomeScreen.js","sourceRoot":"","sources":["../../../src/tui/components/WelcomeScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAM3C,MAAM,UAAU,aAAa,CAAC,EAAE,UAAU,EAAsB;IAC9D,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACjF,KAAC,QAAQ,IAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,YAC7C,KAAC,OAAO,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,GAAG,GAC/B,EACX,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,aACrB,KAAK,CAAC,MAAM,uCACR,EACP,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,2FAEjB,EACP,KAAC,IAAI,oBAAS,EACd,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,6DAA6D,EAC7G,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,kDAAkD,EAClG,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,mDAAmD,EACnG,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,8DAA8D,EAC9G,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,KAAK,CAAC,WAAW,wEAAmE,IAC/G,EACN,KAAC,IAAI,oBAAS,EACd,KAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,CAAC,KAAK,EACxB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,YAEX,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,gEAEvB,GACH,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,10 +1,16 @@
1
1
  import type { Category, Severity } from '../rules/types.js';
2
2
  import type { AccessLevel } from '../auditor/types.js';
3
+ import type { MonitorCategory } from '../monitor/types.js';
3
4
  export declare const CATEGORY_EXPLAINERS: Record<Category, {
4
5
  risk: string;
5
6
  aiImpact: string;
6
7
  action: string;
7
8
  }>;
9
+ export declare const MONITOR_EXPLAINERS: Record<MonitorCategory, {
10
+ risk: string;
11
+ aiImpact: string;
12
+ action: string;
13
+ }>;
8
14
  export declare const ACCESS_EXPLAINERS: Record<AccessLevel, {
9
15
  summary: string;
10
16
  detail: string;
@@ -1 +1 @@
1
- {"version":3,"file":"educational.d.ts","sourceRoot":"","sources":["../../src/tui/educational.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,QAAQ,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CA8CA,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAmBA,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,QAAQ,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAiBA,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQ5D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,SAAS,EAAE;IAAE,IAAI,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAmB1L"}
1
+ {"version":3,"file":"educational.d.ts","sourceRoot":"","sources":["../../src/tui/educational.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,QAAQ,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CA6DA,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CA+BA,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAmBA,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,QAAQ,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAiBA,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQ5D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,SAAS,EAAE;IAAE,IAAI,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAmB1L"}
@@ -39,12 +39,59 @@ export const CATEGORY_EXPLAINERS = {
39
39
  aiImpact: 'Anyone (or any AI) with a seed phrase or wallet key can drain funds irreversibly. There is no recovery.',
40
40
  action: 'Move to a hardware wallet immediately. Never store seed phrases in files.',
41
41
  },
42
+ skill_threat: {
43
+ risk: 'Malicious payloads hidden in AI skill/instruction files (SKILL.md, AGENTS.md, etc.).',
44
+ aiImpact: 'AI agents read these files as trusted instructions. Embedded shell commands, exfiltration payloads, or obfuscated code execute with your permissions.',
45
+ action: 'Review flagged instruction files. Remove any embedded shell commands, external URLs, or obfuscated content.',
46
+ },
47
+ cryptojacking: {
48
+ risk: 'Cryptocurrency mining code, pool URLs, miner binaries, or mining configs.',
49
+ aiImpact: 'Mining software consumes CPU/GPU resources, increases costs, and may indicate a compromised system.',
50
+ action: 'Remove mining software and configs. Check for unauthorized processes. Investigate how it was installed.',
51
+ },
52
+ exfiltration: {
53
+ risk: 'Webhook URLs, tunnel endpoints, or data exfiltration channels hardcoded in source.',
54
+ aiImpact: 'AI tools could use these endpoints to silently send your data to external servers.',
55
+ action: 'Remove hardcoded webhook URLs and tunnel endpoints. Use environment variables for legitimate integrations.',
56
+ },
42
57
  permission: {
43
58
  risk: 'Files with overly permissive access (e.g., 0644 on an SSH key).',
44
59
  aiImpact: 'Other processes — including AI tools running as your user — can read these files freely.',
45
60
  action: 'Run chmod 600 on key files and chmod 700 on key directories.',
46
61
  },
47
62
  };
63
+ export const MONITOR_EXPLAINERS = {
64
+ process: {
65
+ risk: 'Suspicious or unknown processes running on your machine.',
66
+ aiImpact: 'AI tools can spawn child processes that persist after the session ends — miners, reverse shells, or data exfiltration scripts.',
67
+ action: 'Kill unknown processes. Investigate any AI-spawned process you did not explicitly request.',
68
+ },
69
+ network: {
70
+ risk: 'Outbound connections to suspicious or unknown destinations.',
71
+ aiImpact: 'AI tools or their child processes may exfiltrate data to external servers, connect to C2 endpoints, or tunnel through ngrok.',
72
+ action: 'Kill the connecting process. Block the destination. Investigate what data may have been sent.',
73
+ },
74
+ browser: {
75
+ risk: 'Browser extensions with dangerous permissions (all URLs, debugger, clipboard, native messaging).',
76
+ aiImpact: 'Extensions with broad permissions can read all browser data including cookies, passwords, and session tokens that AI tools could access.',
77
+ action: 'Disable or remove extensions with excessive permissions. Prefer extensions with minimal permission scope.',
78
+ },
79
+ shadow_ai: {
80
+ risk: 'Unregistered AI tools or services running outside your awareness.',
81
+ aiImpact: 'Shadow AI tools bypass your security policies and may have full filesystem access without audit trail.',
82
+ action: 'Kill unrecognized AI processes. Review and register all AI tools through chainwall audit.',
83
+ },
84
+ clipboard: {
85
+ risk: 'Sensitive content detected in clipboard (credentials, private keys, tokens).',
86
+ aiImpact: 'AI tools with clipboard access can read secrets you copied. Clipboard content persists until overwritten.',
87
+ action: 'Clear your clipboard immediately. Avoid copying secrets — use a password manager instead.',
88
+ },
89
+ persistence: {
90
+ risk: 'Suspicious crontab entries, launch agents, systemd services, or shell RC modifications.',
91
+ aiImpact: 'Malicious AI-generated code can install persistence mechanisms that survive reboots and session restarts.',
92
+ action: 'Remove suspicious entries. Check crontab, launch agents, and shell profiles for unauthorized additions.',
93
+ },
94
+ };
48
95
  export const ACCESS_EXPLAINERS = {
49
96
  full: {
50
97
  summary: 'Can read and write ANY file on your machine.',
@@ -1 +1 @@
1
- {"version":3,"file":"educational.js","sourceRoot":"","sources":["../../src/tui/educational.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"educational.js","sourceRoot":"","sources":["../../src/tui/educational.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAudit.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useAudit.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1F,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AAiDD,wBAAgB,QAAQ;wBAYsB,OAAO,GAAG,SAAS,GAAG,MAAM;;;WApEjE,UAAU;cACP,MAAM;iBACH,MAAM;YACX,WAAW,GAAG,IAAI;WACnB,MAAM,GAAG,IAAI;0BACE,MAAM,GAAG,IAAI;kBACrB,MAAM;EA2RrB"}
1
+ {"version":3,"file":"useAudit.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useAudit.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1F,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AAiDD,wBAAgB,QAAQ;wBAYsB,OAAO,GAAG,SAAS,GAAG,MAAM;;;WApEjE,UAAU;cACP,MAAM;iBACH,MAAM;YACX,WAAW,GAAG,IAAI;WACnB,MAAM,GAAG,IAAI;0BACE,MAAM,GAAG,IAAI;kBACrB,MAAM;EA+SrB"}
@@ -177,11 +177,18 @@ export function useAudit() {
177
177
  // Quick mode: tools + env only
178
178
  setState((s) => ({ ...s, progress: 50, currentFile: 'Skipping filesystem scan (quick mode)...' }));
179
179
  }
180
+ // Skill/instruction file threat scan
181
+ setState((s) => ({ ...s, progress: 68, currentFile: 'Skill file scan...' }));
182
+ const { scanSkillFiles } = await import('../../scanner/skill-scanner.js');
183
+ for await (const finding of scanSkillFiles(mode === 'project' ? process.cwd() : undefined, signal)) {
184
+ findings.push(finding);
185
+ }
180
186
  setState((s) => ({ ...s, progress: 70, currentFile: 'MCP/CLI detection...' }));
181
187
  const { detectMCPServers } = await import('../../auditor/mcp-detector.js');
182
188
  const mcpResult = detectMCPServers();
183
189
  const mcpServers = mcpResult.servers;
184
190
  const mcpConfigFiles = mcpResult.configFiles;
191
+ const mcpDefinitions = mcpResult.definitions;
185
192
  const { scanVSCodeExtensions } = await import('../../auditor/vscode-extension-scanner.js');
186
193
  const vsCodeExtensions = scanVSCodeExtensions();
187
194
  const { detectAICLIs } = await import('../../auditor/cli-detector.js');
@@ -189,6 +196,14 @@ export function useAudit() {
189
196
  // Env audit
190
197
  const { auditEnvironment } = await import('../../auditor/env-auditor.js');
191
198
  const envExposures = auditEnvironment();
199
+ // MCP poisoning detection
200
+ setState((s) => ({ ...s, progress: 78, currentFile: 'MCP poisoning check...' }));
201
+ const { detectMCPPoisoning } = await import('../../auditor/mcp-poison-detector.js');
202
+ const mcpPoisoning = detectMCPPoisoning(mcpServers, mcpDefinitions);
203
+ // Miner detection
204
+ setState((s) => ({ ...s, progress: 80, currentFile: 'Mining process check...' }));
205
+ const { detectMiners } = await import('../../auditor/miner-detector.js');
206
+ const minerDetection = detectMiners();
192
207
  // Phase 3: cross-reference — use cwd as workspace root for access scoping.
193
208
  // Workspace-scoped tools should only reach files within the project dir,
194
209
  // not everything in homedir.
@@ -226,6 +241,8 @@ export function useAudit() {
226
241
  detectedCLIs,
227
242
  systemFindings,
228
243
  envExposures,
244
+ mcpPoisoning,
245
+ minerDetection,
229
246
  };
230
247
  appendHistory({
231
248
  timestamp: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"useAudit.js","sourceRoot":"","sources":["../../../src/tui/hooks/useAudit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAudit.js","sourceRoot":"","sources":["../../../src/tui/hooks/useAudit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHookStatus.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useHookStatus.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,aAAa,IAAI,UAAU,GAAG;IAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAuDlG"}
1
+ {"version":3,"file":"useHookStatus.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useHookStatus.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,aAAa,IAAI,UAAU,GAAG;IAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA6ElG"}
@@ -11,16 +11,37 @@ export function useHookStatus() {
11
11
  });
12
12
  const check = useCallback(() => {
13
13
  let installed = false;
14
- // Check Claude Code settings
14
+ // Check Claude Code settings (global)
15
15
  const claudeSettings = join(homedir(), '.claude', 'settings.local.json');
16
16
  if (existsSync(claudeSettings)) {
17
17
  try {
18
18
  const content = readFileSync(claudeSettings, 'utf-8');
19
- if (content.includes('security-scanner.sh'))
20
- installed = true;
19
+ if (content.includes('security-scanner.sh')) {
20
+ // Validate the hook script actually exists on disk
21
+ const match = content.match(/"command"\s*:\s*"([^"]*security-scanner\.sh)"/);
22
+ if (match && existsSync(match[1])) {
23
+ installed = true;
24
+ }
25
+ }
21
26
  }
22
27
  catch { /* ignore */ }
23
28
  }
29
+ // Fallback: check project-level settings (legacy installs)
30
+ if (!installed) {
31
+ const projectSettings = join(process.cwd(), '.claude', 'settings.local.json');
32
+ if (existsSync(projectSettings)) {
33
+ try {
34
+ const content = readFileSync(projectSettings, 'utf-8');
35
+ if (content.includes('security-scanner.sh')) {
36
+ const match = content.match(/"command"\s*:\s*"([^"]*security-scanner\.sh)"/);
37
+ if (match && existsSync(match[1])) {
38
+ installed = true;
39
+ }
40
+ }
41
+ }
42
+ catch { /* ignore */ }
43
+ }
44
+ }
24
45
  // Check git hooks
25
46
  if (!installed) {
26
47
  const gitPreCommit = join(process.cwd(), '.git', 'hooks', 'pre-commit');
@@ -1 +1 @@
1
- {"version":3,"file":"useHookStatus.js","sourceRoot":"","sources":["../../../src/tui/hooks/useHookStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAQ5E,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAa;QAC/C,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,6BAA6B;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACzE,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBAAE,SAAS,GAAG,IAAI,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YACxE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAAE,SAAS,GAAG,IAAI,CAAC;gBACpF,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YAC5E,IAAI,UAAU,CAAC,WAAW,CAAC;gBAAE,SAAS,GAAG,IAAI,CAAC;QAChD,CAAC;QAED,MAAM,iBAAiB,GAAG,mBAAmB,EAAE,CAAC;QAChD,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAClC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,EAAE,GAAG,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"useHookStatus.js","sourceRoot":"","sources":["../../../src/tui/hooks/useHookStatus.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export interface LogEntry {
11
11
  }
12
12
  export interface HistoryEntry {
13
13
  timestamp: string;
14
- type: 'scan' | 'audit';
14
+ type: 'scan' | 'audit' | 'monitor';
15
15
  riskScore: number;
16
16
  riskLabel: string;
17
17
  findingCount: number;