chainwall 0.1.0 → 2.1.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 (114) hide show
  1. package/README.md +411 -105
  2. package/dist/auditor/mcp-detector.d.ts +1 -0
  3. package/dist/auditor/mcp-detector.d.ts.map +1 -1
  4. package/dist/auditor/mcp-detector.js +5 -3
  5. package/dist/auditor/mcp-detector.js.map +1 -1
  6. package/dist/auditor/mcp-poison-detector.d.ts +19 -0
  7. package/dist/auditor/mcp-poison-detector.d.ts.map +1 -0
  8. package/dist/auditor/mcp-poison-detector.js +295 -0
  9. package/dist/auditor/mcp-poison-detector.js.map +1 -0
  10. package/dist/auditor/miner-detector.d.ts +20 -0
  11. package/dist/auditor/miner-detector.d.ts.map +1 -0
  12. package/dist/auditor/miner-detector.js +100 -0
  13. package/dist/auditor/miner-detector.js.map +1 -0
  14. package/dist/auditor/remediation.d.ts +4 -0
  15. package/dist/auditor/remediation.d.ts.map +1 -1
  16. package/dist/auditor/remediation.js +42 -0
  17. package/dist/auditor/remediation.js.map +1 -1
  18. package/dist/auditor/types.d.ts +4 -0
  19. package/dist/auditor/types.d.ts.map +1 -1
  20. package/dist/commands/audit.d.ts.map +1 -1
  21. package/dist/commands/audit.js +20 -0
  22. package/dist/commands/audit.js.map +1 -1
  23. package/dist/commands/scan.d.ts.map +1 -1
  24. package/dist/commands/scan.js +7 -0
  25. package/dist/commands/scan.js.map +1 -1
  26. package/dist/mcp-server/index.js +0 -0
  27. package/dist/reporter/audit-report.d.ts.map +1 -1
  28. package/dist/reporter/audit-report.js +50 -0
  29. package/dist/reporter/audit-report.js.map +1 -1
  30. package/dist/reporter/risk-scorer.d.ts.map +1 -1
  31. package/dist/reporter/risk-scorer.js +8 -0
  32. package/dist/reporter/risk-scorer.js.map +1 -1
  33. package/dist/reporter/shared.d.ts.map +1 -1
  34. package/dist/reporter/shared.js +10 -6
  35. package/dist/reporter/shared.js.map +1 -1
  36. package/dist/rules/index.d.ts +1 -0
  37. package/dist/rules/index.d.ts.map +1 -1
  38. package/dist/rules/index.js +3 -1
  39. package/dist/rules/index.js.map +1 -1
  40. package/dist/rules/mining-rules.d.ts +7 -0
  41. package/dist/rules/mining-rules.d.ts.map +1 -0
  42. package/dist/rules/mining-rules.js +239 -0
  43. package/dist/rules/mining-rules.js.map +1 -0
  44. package/dist/rules/skill-rules.d.ts +10 -0
  45. package/dist/rules/skill-rules.d.ts.map +1 -0
  46. package/dist/rules/skill-rules.js +293 -0
  47. package/dist/rules/skill-rules.js.map +1 -0
  48. package/dist/rules/types.d.ts +1 -1
  49. package/dist/rules/types.d.ts.map +1 -1
  50. package/dist/scanner/filesystem-scanner.d.ts.map +1 -1
  51. package/dist/scanner/filesystem-scanner.js +21 -1
  52. package/dist/scanner/filesystem-scanner.js.map +1 -1
  53. package/dist/scanner/injection-scanner.d.ts +1 -0
  54. package/dist/scanner/injection-scanner.d.ts.map +1 -1
  55. package/dist/scanner/injection-scanner.js +1 -1
  56. package/dist/scanner/injection-scanner.js.map +1 -1
  57. package/dist/scanner/skill-scanner.d.ts +18 -0
  58. package/dist/scanner/skill-scanner.d.ts.map +1 -0
  59. package/dist/scanner/skill-scanner.js +244 -0
  60. package/dist/scanner/skill-scanner.js.map +1 -0
  61. package/dist/tui/components/FileLink.d.ts +12 -0
  62. package/dist/tui/components/FileLink.d.ts.map +1 -0
  63. package/dist/tui/components/FileLink.js +13 -0
  64. package/dist/tui/components/FileLink.js.map +1 -0
  65. package/dist/tui/components/Footer.d.ts.map +1 -1
  66. package/dist/tui/components/Footer.js +45 -30
  67. package/dist/tui/components/Footer.js.map +1 -1
  68. package/dist/tui/components/RemediationMenu.d.ts.map +1 -1
  69. package/dist/tui/components/RemediationMenu.js +2 -1
  70. package/dist/tui/components/RemediationMenu.js.map +1 -1
  71. package/dist/tui/components/Table.d.ts +1 -1
  72. package/dist/tui/components/Table.d.ts.map +1 -1
  73. package/dist/tui/components/Table.js +3 -9
  74. package/dist/tui/components/Table.js.map +1 -1
  75. package/dist/tui/educational.d.ts.map +1 -1
  76. package/dist/tui/educational.js +10 -0
  77. package/dist/tui/educational.js.map +1 -1
  78. package/dist/tui/hooks/useAudit.d.ts.map +1 -1
  79. package/dist/tui/hooks/useAudit.js +17 -0
  80. package/dist/tui/hooks/useAudit.js.map +1 -1
  81. package/dist/tui/hooks/useHookStatus.d.ts.map +1 -1
  82. package/dist/tui/hooks/useHookStatus.js +24 -3
  83. package/dist/tui/hooks/useHookStatus.js.map +1 -1
  84. package/dist/tui/hooks/useScan.d.ts +2 -2
  85. package/dist/tui/hooks/useScan.d.ts.map +1 -1
  86. package/dist/tui/hooks/useScan.js +12 -2
  87. package/dist/tui/hooks/useScan.js.map +1 -1
  88. package/dist/tui/screens/AuditPanel.d.ts.map +1 -1
  89. package/dist/tui/screens/AuditPanel.js +75 -7
  90. package/dist/tui/screens/AuditPanel.js.map +1 -1
  91. package/dist/tui/screens/LogsPanel.d.ts.map +1 -1
  92. package/dist/tui/screens/LogsPanel.js +27 -21
  93. package/dist/tui/screens/LogsPanel.js.map +1 -1
  94. package/dist/tui/screens/OverviewPanel.js +1 -1
  95. package/dist/tui/screens/OverviewPanel.js.map +1 -1
  96. package/dist/tui/screens/ScanPanel.d.ts.map +1 -1
  97. package/dist/tui/screens/ScanPanel.js +4 -4
  98. package/dist/tui/screens/ScanPanel.js.map +1 -1
  99. package/dist/tui/screens/ScanResultsPanel.d.ts.map +1 -1
  100. package/dist/tui/screens/ScanResultsPanel.js +70 -25
  101. package/dist/tui/screens/ScanResultsPanel.js.map +1 -1
  102. package/dist/tui/screens/SettingsPanel.d.ts.map +1 -1
  103. package/dist/tui/screens/SettingsPanel.js +3 -2
  104. package/dist/tui/screens/SettingsPanel.js.map +1 -1
  105. package/dist/tui/theme.d.ts +2 -1
  106. package/dist/tui/theme.d.ts.map +1 -1
  107. package/dist/tui/theme.js +2 -1
  108. package/dist/tui/theme.js.map +1 -1
  109. package/install.sh +3 -2
  110. package/package.json +15 -5
  111. package/patterns/cryptojacking.yaml +198 -0
  112. package/patterns/skill-threats.yaml +183 -0
  113. package/rules/SECURITY-RULES.md +50 -3
  114. package/skill/llm-antivirus/SKILL.md +4 -0
@@ -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":"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;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,CAwDA,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,6 +39,16 @@ 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
+ },
42
52
  permission: {
43
53
  risk: 'Files with overly permissive access (e.g., 0644 on an SSH key).',
44
54
  aiImpact: 'Other processes — including AI tools running as your user — can read these files freely.',
@@ -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":"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"}
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,sCAAsC;QACtC,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,EAAE,CAAC;oBAC5C,mDAAmD;oBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAC7E,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClC,SAAS,GAAG,IAAI,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YAC9E,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBACvD,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;wBAC7E,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAClC,SAAS,GAAG,IAAI,CAAC;wBACnB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;QACH,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"}
@@ -13,7 +13,7 @@ export interface ScanState {
13
13
  error: string | null;
14
14
  elapsedMs: number;
15
15
  filesPerSec: number;
16
- scanStage: 'walking' | 'system' | 'permissions' | 'injection' | 'done';
16
+ scanStage: 'walking' | 'system' | 'permissions' | 'injection' | 'skills' | 'done';
17
17
  mode: ScanMode;
18
18
  estimatedRemainingMs: number | null;
19
19
  }
@@ -32,7 +32,7 @@ export declare function useScan(): {
32
32
  error: string | null;
33
33
  elapsedMs: number;
34
34
  filesPerSec: number;
35
- scanStage: "walking" | "system" | "permissions" | "injection" | "done";
35
+ scanStage: "walking" | "system" | "permissions" | "injection" | "skills" | "done";
36
36
  mode: ScanMode;
37
37
  estimatedRemainingMs: number | null;
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useScan.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useScan.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAC3F,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC;IACvE,IAAI,EAAE,QAAQ,CAAC;IACf,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAkCD,wBAAgB,OAAO;uBAesB,QAAQ,eAA4B,MAAM;;;WA/D9E,SAAS;cACN,MAAM;kBACF,MAAM;iBACP,MAAM;gBACP,MAAM;cACR,WAAW,EAAE;mBACR,MAAM;YACb,UAAU,GAAG,IAAI;WAClB,MAAM,GAAG,IAAI;eACT,MAAM;iBACJ,MAAM;eACR,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM;UAChE,QAAQ;0BACQ,MAAM,GAAG,IAAI;EA6OpC"}
1
+ {"version":3,"file":"useScan.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useScan.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAC3F,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClF,IAAI,EAAE,QAAQ,CAAC;IACf,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAkCD,wBAAgB,OAAO;uBAesB,QAAQ,eAA4B,MAAM;;;WA/D9E,SAAS;cACN,MAAM;kBACF,MAAM;iBACP,MAAM;gBACP,MAAM;cACR,WAAW,EAAE;mBACR,MAAM;YACb,UAAU,GAAG,IAAI;WAClB,MAAM,GAAG,IAAI;eACT,MAAM;iBACJ,MAAM;eACR,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM;UAC3E,QAAQ;0BACQ,MAAM,GAAG,IAAI;EAwPpC"}
@@ -154,16 +154,26 @@ export function useScan() {
154
154
  if (permFindings.length > 0)
155
155
  findingsRef.current.push(...permFindings);
156
156
  setState((s) => ({ ...s, progress: 93 }));
157
- // Phase 4: Injection scan (93-99%)
157
+ // Phase 4: Injection scan (93-96%)
158
158
  setState((s) => ({ ...s, progress: 93, scanStage: 'injection', currentDir: 'Instruction files' }));
159
159
  const { scanInstructionFiles } = await import('../../scanner/injection-scanner.js');
160
160
  let injCount = 0;
161
161
  for await (const finding of scanInstructionFiles(signal)) {
162
162
  findingsRef.current.push(finding);
163
163
  injCount++;
164
- const injProgress = Math.min(99, 93 + injCount);
164
+ const injProgress = Math.min(96, 93 + injCount);
165
165
  setState((s) => ({ ...s, progress: injProgress }));
166
166
  }
167
+ // Phase 5: Skill/instruction file threat scan (96-99%)
168
+ setState((s) => ({ ...s, progress: 96, scanStage: 'skills', currentDir: 'Skill files' }));
169
+ const { scanSkillFiles } = await import('../../scanner/skill-scanner.js');
170
+ let skillCount = 0;
171
+ for await (const finding of scanSkillFiles(scanRoot, signal)) {
172
+ findingsRef.current.push(finding);
173
+ skillCount++;
174
+ const skillProgress = Math.min(99, 96 + skillCount);
175
+ setState((s) => ({ ...s, progress: skillProgress }));
176
+ }
167
177
  // Done
168
178
  const riskResult = calculateRiskScore(findingsRef.current);
169
179
  const result = {
@@ -1 +1 @@
1
- {"version":3,"file":"useScan.js","sourceRoot":"","sources":["../../../src/tui/hooks/useScan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useScan.js","sourceRoot":"","sources":["../../../src/tui/hooks/useScan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuditPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/AuditPanel.tsx"],"names":[],"mappings":"AA6JA,UAAU,eAAe;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,wBAAgB,UAAU,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAE,eAAoB,kDAkXvF"}
1
+ {"version":3,"file":"AuditPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/AuditPanel.tsx"],"names":[],"mappings":"AAmLA,UAAU,eAAe;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,wBAAgB,UAAU,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAE,eAAoB,kDAgXvF"}
@@ -13,7 +13,8 @@ import { useAudit } from '../hooks/useAudit.js';
13
13
  import { useTermSize } from '../App.js';
14
14
  import { THEME, ICONS, ACCESS_LABELS, ACCESS_COLORS, SEVERITY_COLORS, SEVERITY_LABELS } from '../theme.js';
15
15
  import { ACCESS_EXPLAINERS, MCP_CAPABILITY_EXPLAINERS, computeFocusLine } from '../educational.js';
16
- import { getActionsForMCPServer, getActionsForVSCodeExtension, getActionsForEnvExposure, getActionsForPermissionFinding, getActionsForExposure, restoreBackup, } from '../../auditor/remediation.js';
16
+ import { FileLink } from '../components/FileLink.js';
17
+ import { getActionsForMCPServer, getActionsForVSCodeExtension, getActionsForEnvExposure, getActionsForPermissionFinding, getActionsForExposure, getActionsForPoisoningFinding, getActionsForRunningMiner, restoreBackup, } from '../../auditor/remediation.js';
17
18
  const MODES = [
18
19
  { key: 'quick', label: 'Quick Audit', desc: 'Detect AI tools + check environment only' },
19
20
  { key: 'project', label: 'Project Audit', desc: 'Scan current directory + system credentials + AI tools' },
@@ -36,6 +37,8 @@ const SECTIONS = [
36
37
  { id: 'vscode', label: 'VS CODE EXTENSIONS', getCount: (r) => r.vsCodeExtensions?.length ?? 0 },
37
38
  { id: 'clis', label: 'CLI TOOLS', getCount: (r) => r.detectedCLIs?.length ?? 0 },
38
39
  { id: 'env', label: 'ENVIRONMENT', getCount: (r) => r.envExposures?.length ?? 0 },
40
+ { id: 'poisoning', label: 'MCP POISONING', getCount: (r) => r.mcpPoisoning?.findings?.length ?? 0 },
41
+ { id: 'mining', label: 'CRYPTOJACKING', getCount: (r) => (r.minerDetection?.runningMiners?.length ?? 0) + (r.minerDetection?.suspiciousCrontabs?.length ?? 0) },
39
42
  ];
40
43
  function buildVirtualList(result, expandedSections) {
41
44
  const items = [];
@@ -79,6 +82,19 @@ function buildVirtualList(result, expandedSections) {
79
82
  items.push({ type: 'env', index: i });
80
83
  }
81
84
  break;
85
+ case 'poisoning':
86
+ for (let i = 0; i < (result.mcpPoisoning?.findings?.length ?? 0); i++) {
87
+ items.push({ type: 'poisoning', index: i });
88
+ }
89
+ break;
90
+ case 'mining': {
91
+ const miners = result.minerDetection?.runningMiners ?? [];
92
+ const crontabs = result.minerDetection?.suspiciousCrontabs ?? [];
93
+ for (let i = 0; i < miners.length + crontabs.length; i++) {
94
+ items.push({ type: 'mining', index: i });
95
+ }
96
+ break;
97
+ }
82
98
  }
83
99
  }
84
100
  }
@@ -293,7 +309,7 @@ export function AuditPanel({ autoStartQuick, onAutoStartConsumed } = {}) {
293
309
  : audit.phase === 'mapping'
294
310
  ? 'Cross-referencing exposure...'
295
311
  : 'Initializing...';
296
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "AUDIT IN PROGRESS", color: THEME.brand }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.brand, children: _jsx(InkSpinner, { type: "dots" }) }), _jsx(Text, { color: THEME.primary, children: phaseLabel })] }), _jsx(Box, { marginTop: 1, children: _jsx(ProgressBar, { value: audit.progress }) }), _jsxs(Box, { gap: 2, children: [audit.currentFile && (_jsx(Text, { color: THEME.filePath, children: audit.currentFile })), audit.filesScanned > 0 && (_jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "files:" }), " ", _jsx(Text, { color: THEME.value, children: audit.filesScanned })] })), audit.estimatedRemainingMs !== null && (_jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "ETA:" }), " ", _jsx(Text, { color: THEME.value, children: formatETA(audit.estimatedRemainingMs) })] }))] }), cancelConfirm && (_jsx(Text, { color: THEME.brand, children: "Press ESC again to cancel" }))] })] }));
312
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "AUDIT IN PROGRESS", color: THEME.brand }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.brand, children: _jsx(InkSpinner, { type: "dots" }) }), _jsx(Text, { color: THEME.primary, children: phaseLabel })] }), _jsx(Box, { marginTop: 1, children: _jsx(ProgressBar, { value: audit.progress }) }), _jsxs(Box, { gap: 2, children: [audit.currentFile && (_jsx(FileLink, { path: audit.currentFile })), audit.filesScanned > 0 && (_jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "files:" }), " ", _jsx(Text, { color: THEME.value, children: audit.filesScanned })] })), audit.estimatedRemainingMs !== null && (_jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "ETA:" }), " ", _jsx(Text, { color: THEME.value, children: formatETA(audit.estimatedRemainingMs) })] }))] }), cancelConfirm && (_jsx(Text, { color: THEME.brand, children: "Press ESC again to cancel" }))] })] }));
297
313
  }
298
314
  const { result } = audit;
299
315
  if (!result)
@@ -350,14 +366,14 @@ function renderItemRow(item, result, selected, contentWidth) {
350
366
  const cli = result.detectedCLIs?.[item.index];
351
367
  if (!cli)
352
368
  return null;
353
- return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.value, bold: true, children: cli.name }), _jsx(Text, { color: THEME.filePath, children: truncate(cli.path, Math.max(20, contentWidth - 25)) })] }));
369
+ return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.value, bold: true, children: cli.name }), _jsx(FileLink, { path: cli.path, maxWidth: Math.max(20, contentWidth - 25) })] }));
354
370
  }
355
371
  case 'vscode': {
356
372
  const ext = result.vsCodeExtensions?.[item.index];
357
373
  if (!ext)
358
374
  return null;
359
375
  const riskColor = ext.riskLevel === 'high' ? THEME.critical : ext.riskLevel === 'medium' ? THEME.medium : THEME.success;
360
- return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: riskColor, bold: true, children: ext.riskLevel.toUpperCase().padEnd(6) }), _jsx(Text, { color: THEME.value, children: truncate(ext.name, maxNameWidth) }), _jsxs(Text, { color: THEME.filePath, children: ["(", truncate(ext.id, 20), ")"] })] }));
376
+ return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: riskColor, bold: true, children: ext.riskLevel.toUpperCase().padEnd(6) }), _jsx(Text, { color: THEME.value, children: truncate(ext.name, maxNameWidth) }), _jsxs(Text, { color: THEME.filePath, children: ["(", ext.id.length > 20 ? truncate(ext.id, 20) : ext.id, ")"] })] }));
361
377
  }
362
378
  case 'env': {
363
379
  const env = result.envExposures?.[item.index];
@@ -365,6 +381,24 @@ function renderItemRow(item, result, selected, contentWidth) {
365
381
  return null;
366
382
  return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: SEVERITY_COLORS[env.severity], bold: true, children: SEVERITY_LABELS[env.severity].padEnd(5) }), _jsx(Text, { color: THEME.title, bold: true, children: env.key }), _jsx(Text, { color: THEME.value, children: truncate(env.valueHint, 23) })] }));
367
383
  }
384
+ case 'poisoning': {
385
+ const f = result.mcpPoisoning?.findings?.[item.index];
386
+ if (!f)
387
+ return null;
388
+ return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: SEVERITY_COLORS[f.severity], bold: true, children: (f.severity.toUpperCase().slice(0, 4)).padEnd(5) }), _jsx(Text, { color: THEME.title, bold: true, children: truncate(f.serverName, maxNameWidth) }), _jsx(Text, { color: THEME.value, children: truncate(f.category, 20) }), f.cve && _jsx(Text, { color: THEME.critical, children: f.cve })] }));
389
+ }
390
+ case 'mining': {
391
+ const miners = result.minerDetection?.runningMiners ?? [];
392
+ const crontabs = result.minerDetection?.suspiciousCrontabs ?? [];
393
+ if (item.index < miners.length) {
394
+ const m = miners[item.index];
395
+ return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.critical, bold: true, children: 'PROC'.padEnd(5) }), _jsx(Text, { color: THEME.title, bold: true, children: m.name }), _jsxs(Text, { color: THEME.value, children: ["PID:", m.pid] }), m.cpuPercent !== undefined && _jsxs(Text, { color: THEME.warning, children: ["CPU:", m.cpuPercent, "%"] })] }));
396
+ }
397
+ const c = crontabs[item.index - miners.length];
398
+ if (!c)
399
+ return null;
400
+ return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.warning, bold: true, children: 'CRON'.padEnd(5) }), _jsx(Text, { color: THEME.value, children: truncate(c.line, Math.max(20, contentWidth - 15)) })] }));
401
+ }
368
402
  default:
369
403
  return null;
370
404
  }
@@ -377,7 +411,7 @@ function renderItemDetail(item, result, contentWidth) {
377
411
  if (!t)
378
412
  return null;
379
413
  const accessInfo = ACCESS_EXPLAINERS[t.accessLevel];
380
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Access: " }), _jsx(Text, { color: ACCESS_COLORS[t.accessLevel], children: ACCESS_LABELS[t.accessLevel] })] }), _jsx(Text, { color: THEME.primaryDim, wrap: "wrap", children: accessInfo.summary }), _jsxs(Text, { color: THEME.primaryDim, wrap: "wrap", children: ["Reachable: ", accessInfo.examples] }), _jsxs(Text, { color: THEME.warning, wrap: "wrap", children: ['\u26a0', " ", accessInfo.concern] }), _jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Description: " }), _jsx(Text, { color: THEME.primaryDim, children: t.description })] }), t.configPaths.map((p, j) => (_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Config: " }), _jsx(Text, { color: THEME.filePath, children: truncate(p, maxPathWidth) })] }, j))), _jsx(Text, { color: THEME.title, children: "[r] remediate" })] }));
414
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Access: " }), _jsx(Text, { color: ACCESS_COLORS[t.accessLevel], children: ACCESS_LABELS[t.accessLevel] })] }), _jsx(Text, { color: THEME.primaryDim, wrap: "wrap", children: accessInfo.summary }), _jsxs(Text, { color: THEME.primaryDim, wrap: "wrap", children: ["Reachable: ", accessInfo.examples] }), _jsxs(Text, { color: THEME.warning, wrap: "wrap", children: ['\u26a0', " ", accessInfo.concern] }), _jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Description: " }), _jsx(Text, { color: THEME.primaryDim, children: t.description })] }), t.configPaths.map((p, j) => (_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Config: " }), _jsx(FileLink, { path: p, maxWidth: maxPathWidth })] }, j))), _jsx(Text, { color: THEME.title, children: "[r] remediate" })] }));
381
415
  }
382
416
  case 'exposure': {
383
417
  const e = result.exposures[item.index];
@@ -390,13 +424,13 @@ function renderItemDetail(item, result, contentWidth) {
390
424
  const s = result.mcpServers?.[item.index];
391
425
  if (!s)
392
426
  return null;
393
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Source: " }), _jsx(Text, { color: THEME.filePath, children: truncate(s.sourceFile, maxPathWidth) })] }), s.capabilities && s.capabilities.length > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.label, children: "Capabilities detected:" }), s.capabilities.map((cap, i) => (_jsxs(Text, { wrap: "wrap", children: [_jsxs(Text, { color: THEME.brand, children: [" ", '\u25cf', " ", cap.padEnd(20)] }), _jsx(Text, { color: THEME.primaryDim, children: MCP_CAPABILITY_EXPLAINERS[cap] ?? '' })] }, i)))] })), s.tools.length > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: THEME.label, children: ["Tools (", s.tools.length, "):"] }), s.tools.slice(0, 8).map((tool, i) => (_jsxs(Text, { color: THEME.value, children: [" ", tool] }, i))), s.tools.length > 8 && (_jsxs(Text, { color: THEME.muted, children: [" ... and ", s.tools.length - 8, " more"] }))] })), _jsx(Text, { color: THEME.title, children: "[r] remediate" })] }));
427
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Source: " }), _jsx(FileLink, { path: s.sourceFile, maxWidth: maxPathWidth })] }), s.capabilities && s.capabilities.length > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.label, children: "Capabilities detected:" }), s.capabilities.map((cap, i) => (_jsxs(Text, { wrap: "wrap", children: [_jsxs(Text, { color: THEME.brand, children: [" ", '\u25cf', " ", cap.padEnd(20)] }), _jsx(Text, { color: THEME.primaryDim, children: MCP_CAPABILITY_EXPLAINERS[cap] ?? '' })] }, i)))] })), s.tools.length > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: THEME.label, children: ["Tools (", s.tools.length, "):"] }), s.tools.slice(0, 8).map((tool, i) => (_jsxs(Text, { color: THEME.value, children: [" ", tool] }, i))), s.tools.length > 8 && (_jsxs(Text, { color: THEME.muted, children: [" ... and ", s.tools.length - 8, " more"] }))] })), _jsx(Text, { color: THEME.title, children: "[r] remediate" })] }));
394
428
  }
395
429
  case 'cli': {
396
430
  const cli = result.detectedCLIs?.[item.index];
397
431
  if (!cli)
398
432
  return null;
399
- return (_jsx(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Source: " }), _jsx(Text, { color: THEME.filePath, children: truncate(cli.source, maxPathWidth) })] }) }));
433
+ return (_jsx(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: _jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Source: " }), _jsx(FileLink, { path: cli.source, maxWidth: maxPathWidth })] }) }));
400
434
  }
401
435
  case 'vscode': {
402
436
  const ext = result.vsCodeExtensions?.[item.index];
@@ -410,6 +444,24 @@ function renderItemDetail(item, result, contentWidth) {
410
444
  return null;
411
445
  return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsx(Text, { color: THEME.warning, wrap: "wrap", children: "This API key is loaded in your shell environment. Any AI tool or process running as your user can read it via process.env." }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Reason: " }), _jsx(Text, { color: THEME.primaryDim, children: env.reason })] }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Remediation: " }), _jsx(Text, { color: THEME.primaryDim, children: "Comment out the export in your shell profile, or use a secrets manager." })] }), _jsx(Text, { color: THEME.title, children: "[r] remediate" })] }));
412
446
  }
447
+ case 'poisoning': {
448
+ const f = result.mcpPoisoning?.findings?.[item.index];
449
+ if (!f)
450
+ return null;
451
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsx(Text, { color: THEME.warning, wrap: "wrap", children: f.description }), f.detail && _jsx(Text, { color: THEME.primaryDim, wrap: "wrap", children: f.detail }), f.cve && _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "CVE: " }), _jsx(Text, { color: THEME.critical, children: f.cve })] }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Category: " }), _jsx(Text, { color: THEME.primaryDim, children: f.category })] }), _jsx(Text, { color: THEME.title, children: "[r] remediate" })] }));
452
+ }
453
+ case 'mining': {
454
+ const miners = result.minerDetection?.runningMiners ?? [];
455
+ const crontabs = result.minerDetection?.suspiciousCrontabs ?? [];
456
+ if (item.index < miners.length) {
457
+ const m = miners[item.index];
458
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsx(Text, { color: THEME.critical, wrap: "wrap", children: "Active mining process detected! This may be consuming your CPU/GPU resources." }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Process: " }), _jsxs(Text, { color: THEME.primaryDim, children: [m.name, " (PID ", m.pid, ")"] })] }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Command: " }), _jsx(Text, { color: THEME.primaryDim, children: m.command })] }), m.cpuPercent !== undefined && _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "CPU Usage: " }), _jsxs(Text, { color: THEME.warning, children: [m.cpuPercent, "%"] })] }), _jsx(Text, { color: THEME.title, children: "[r] remediate (kill process)" })] }));
459
+ }
460
+ const c = crontabs[item.index - miners.length];
461
+ if (!c)
462
+ return null;
463
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, children: [_jsx(Text, { color: THEME.warning, wrap: "wrap", children: "Suspicious crontab entry that may launch mining software." }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Entry: " }), _jsx(Text, { color: THEME.primaryDim, children: c.line })] }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Reason: " }), _jsx(Text, { color: THEME.primaryDim, children: c.reason })] })] }));
464
+ }
413
465
  default:
414
466
  return null;
415
467
  }
@@ -445,6 +497,17 @@ function computeRemediationActions(item, result) {
445
497
  }
446
498
  return actions;
447
499
  }
500
+ case 'poisoning': {
501
+ const f = result.mcpPoisoning?.findings?.[item.index];
502
+ return f ? getActionsForPoisoningFinding(f) : [];
503
+ }
504
+ case 'mining': {
505
+ const miners = result.minerDetection?.runningMiners ?? [];
506
+ if (item.index < miners.length) {
507
+ return getActionsForRunningMiner(miners[item.index]);
508
+ }
509
+ return [];
510
+ }
448
511
  default:
449
512
  return [];
450
513
  }
@@ -455,6 +518,11 @@ function computeRemediationTitle(item, result) {
455
518
  case 'vscode': return result.vsCodeExtensions?.[item.index]?.name ?? 'Extension';
456
519
  case 'env': return result.envExposures?.[item.index]?.key ?? 'Environment Variable';
457
520
  case 'exposure': return result.exposures?.[item.index]?.tool.name ?? 'Exposure';
521
+ case 'poisoning': return result.mcpPoisoning?.findings?.[item.index]?.serverName ?? 'MCP Poisoning';
522
+ case 'mining': {
523
+ const miners = result.minerDetection?.runningMiners ?? [];
524
+ return item.index < miners.length ? miners[item.index].name : 'Crontab Entry';
525
+ }
458
526
  default: return 'Item';
459
527
  }
460
528
  }