code-auditor-mcp 4.0.4 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +132 -0
- package/README.md +5 -5
- package/configs/hhra-compat.json +2 -2
- package/dist/analyzers/applicability.d.ts +25 -2
- package/dist/analyzers/applicability.d.ts.map +1 -1
- package/dist/analyzers/applicability.js +44 -50
- package/dist/analyzers/applicability.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +18 -49
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +22 -240
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +2 -14
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js +0 -104
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/orgFilterTiers.d.ts +89 -0
- package/dist/analyzers/orgFilterTiers.d.ts.map +1 -0
- package/dist/analyzers/orgFilterTiers.js +96 -0
- package/dist/analyzers/orgFilterTiers.js.map +1 -0
- package/dist/analyzers/ruleRegistry.d.ts +15 -0
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +139 -185
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +1 -12
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +1 -66
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +39 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +62 -41
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +2 -2
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts +86 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js +606 -0
- package/dist/analyzers/universal/UniversalSecurityAnalyzer.js.map +1 -0
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +14 -0
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +35 -18
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/migrations.d.ts +14 -1
- package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/migrations.js +58 -14
- package/dist/analyzers/universal/schema/migrations.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +71 -33
- package/dist/auditRunner.js.map +1 -1
- package/dist/churn/churnExtractor.js +5 -5
- package/dist/churn/churnExtractor.js.map +1 -1
- package/dist/cli.js +75 -26
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +7 -9
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +33 -21
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/configGeneratePath.d.ts +19 -0
- package/dist/config/configGeneratePath.d.ts.map +1 -0
- package/dist/config/configGeneratePath.js +29 -0
- package/dist/config/configGeneratePath.js.map +1 -0
- package/dist/config/configLoader.d.ts +36 -4
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +141 -16
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -6
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/lintConfigReader.d.ts +4 -0
- package/dist/config/lintConfigReader.d.ts.map +1 -1
- package/dist/config/lintConfigReader.js +35 -36
- package/dist/config/lintConfigReader.js.map +1 -1
- package/dist/config/staticObjectExtract.d.ts +35 -0
- package/dist/config/staticObjectExtract.d.ts.map +1 -0
- package/dist/config/staticObjectExtract.js +312 -0
- package/dist/config/staticObjectExtract.js.map +1 -0
- package/dist/constants.d.ts +1 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -7
- package/dist/constants.js.map +1 -1
- package/dist/daemon/core.js +1 -1
- package/dist/daemon/core.js.map +1 -1
- package/dist/daemon/main.js +1 -1
- package/dist/daemon/main.js.map +1 -1
- package/dist/daemon/resolve.d.ts +4 -4
- package/dist/daemon/resolve.js +4 -4
- package/dist/dataPaths.d.ts +10 -0
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +23 -2
- package/dist/dataPaths.js.map +1 -1
- package/dist/generators/BaseConfigGenerator.d.ts +0 -4
- package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.js +1 -7
- package/dist/generators/BaseConfigGenerator.js.map +1 -1
- package/dist/installConfig.d.ts +3 -1
- package/dist/installConfig.d.ts.map +1 -1
- package/dist/installConfig.js +15 -2
- package/dist/installConfig.js.map +1 -1
- package/dist/installer.d.ts +10 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +14 -2
- package/dist/installer.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.js +6 -6
- package/dist/languages/LanguageOrchestrator.js.map +1 -1
- package/dist/languages/RuntimeManager.js +13 -10
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +7 -2
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.d.ts +5 -1
- package/dist/mcp-ui-simple.d.ts.map +1 -1
- package/dist/mcp-ui-simple.js +81 -29
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.js +25 -6
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +1 -0
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/nextFileIncremental.js +1 -1
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +13 -2
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +16 -1
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +142 -11
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +2 -2
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/ruleAliases.d.ts.map +1 -1
- package/dist/ruleAliases.js +45 -0
- package/dist/ruleAliases.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.d.ts +4 -0
- package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
- package/dist/styles/tailwindConfigLoader.js +54 -36
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/types.d.ts +60 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/examples/.auditrc.example.json +2 -2
- package/examples/.auditrc.json +3 -3
- package/examples/nextjs.auditrc.json +1 -1
- package/examples/node-api.auditrc.json +1 -1
- package/examples/react.auditrc.json +2 -2
- package/examples/tolerant-solid.auditrc.json +1 -1
- package/package.json +5 -4
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/scripts/hook-common.sh +27 -27
- package/plugin/skills/code-auditor/SKILL.md +1 -1
- package/server.json +2 -2
package/dist/mcp-tools-shared.js
CHANGED
|
@@ -958,8 +958,13 @@ export class ToolHandlers {
|
|
|
958
958
|
// Schema Helper Functions
|
|
959
959
|
static generateSchemaDiscoveryQueries(databaseType, includeIndexes, includeConstraints, specificTables) {
|
|
960
960
|
const queries = [];
|
|
961
|
-
|
|
962
|
-
|
|
961
|
+
// Identifiers are interpolated into generated SQL text (run by the agent,
|
|
962
|
+
// never this tool), so a name that is not a plain identifier is dropped —
|
|
963
|
+
// a quoted name could otherwise escape the string literal and inject SQL.
|
|
964
|
+
const IDENTIFIER_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
965
|
+
const validTables = (specificTables ?? []).filter(t => IDENTIFIER_RE.test(t));
|
|
966
|
+
const tableFilter = validTables.length > 0
|
|
967
|
+
? `WHERE table_name IN (${validTables.map(t => `'${t}'`).join(', ')})`
|
|
963
968
|
: '';
|
|
964
969
|
switch (databaseType.toLowerCase()) {
|
|
965
970
|
case 'postgresql':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tools-shared.js","sourceRoot":"","sources":["../src/mcp-tools-shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-tools-shared.js","sourceRoot":"","sources":["../src/mcp-tools-shared.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-ui-simple.d.ts
CHANGED
|
@@ -6,11 +6,15 @@
|
|
|
6
6
|
* while reusing all the existing audit tool logic.
|
|
7
7
|
*/
|
|
8
8
|
import express from 'express';
|
|
9
|
+
import type { Server } from 'node:http';
|
|
9
10
|
declare const app: express.Application;
|
|
10
11
|
/**
|
|
11
12
|
* Start the MCP-UI HTTP server
|
|
12
13
|
*/
|
|
13
|
-
export declare function startMcpUIServer(
|
|
14
|
+
export declare function startMcpUIServer(opts?: {
|
|
15
|
+
host?: string;
|
|
16
|
+
port?: number;
|
|
17
|
+
}): Server;
|
|
14
18
|
declare global {
|
|
15
19
|
var auditSessions: Map<string, {
|
|
16
20
|
auditResult: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-ui-simple.d.ts","sourceRoot":"","sources":["../src/mcp-ui-simple.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-ui-simple.d.ts","sourceRoot":"","sources":["../src/mcp-ui-simple.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAQxC,QAAA,MAAM,GAAG,EAAE,OAAO,CAAC,WAAuB,CAAC;AA+c3C;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgChF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE;QAC7B,WAAW,EAAE,GAAG,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,IAAI,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,GAAG,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAOD,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
package/dist/mcp-ui-simple.js
CHANGED
|
@@ -7,24 +7,63 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import express from 'express';
|
|
9
9
|
import cors from 'cors';
|
|
10
|
-
import { randomUUID } from 'crypto';
|
|
10
|
+
import { randomUUID, randomBytes } from 'crypto';
|
|
11
11
|
import { createUIResource } from '@mcp-ui/server';
|
|
12
12
|
import { ToolHandlers } from './mcp-tools-shared.js';
|
|
13
13
|
import { formatMcpToolErrorPayload } from './mcpToolErrors.js';
|
|
14
14
|
import chalk from 'chalk';
|
|
15
15
|
const app = express();
|
|
16
|
-
|
|
17
|
-
//
|
|
16
|
+
// Resolved in startMcpUIServer(); defaults keep the module usable before the
|
|
17
|
+
// server starts (used by the iframe URLs in the POST handlers and the token
|
|
18
|
+
// guard below).
|
|
19
|
+
let serverPort = Number(process.env.MCP_UI_PORT) || 3001;
|
|
20
|
+
let serverHost = '127.0.0.1';
|
|
21
|
+
let serverToken = null;
|
|
18
22
|
app.use(express.json());
|
|
23
|
+
// CORS allowlist derived from the bind address — never a wildcard. Registered
|
|
24
|
+
// at module load (before the routes) but resolves host/port lazily from the
|
|
25
|
+
// module state that startMcpUIServer() sets.
|
|
26
|
+
function isAllowedOrigin(requestOrigin) {
|
|
27
|
+
if (!requestOrigin)
|
|
28
|
+
return true;
|
|
29
|
+
const allowed = [
|
|
30
|
+
`http://${serverHost}:${serverPort}`,
|
|
31
|
+
`http://localhost:${serverPort}`,
|
|
32
|
+
`http://127.0.0.1:${serverPort}`,
|
|
33
|
+
];
|
|
34
|
+
return allowed.includes(requestOrigin);
|
|
35
|
+
}
|
|
19
36
|
app.use(cors({
|
|
20
|
-
origin:
|
|
37
|
+
origin: (requestOrigin, cb) => cb(null, isAllowedOrigin(requestOrigin)),
|
|
21
38
|
exposedHeaders: ['Content-Type'],
|
|
22
39
|
allowedHeaders: ['Content-Type', 'Authorization'],
|
|
23
40
|
}));
|
|
41
|
+
const HTML_ESCAPES = {
|
|
42
|
+
'&': '&',
|
|
43
|
+
'<': '<',
|
|
44
|
+
'>': '>',
|
|
45
|
+
'"': '"',
|
|
46
|
+
"'": ''',
|
|
47
|
+
};
|
|
48
|
+
/** Escape a value for safe interpolation into an HTML template. */
|
|
49
|
+
function escapeHtml(s) {
|
|
50
|
+
return String(s ?? '').replace(/[&<>"']/g, (c) => HTML_ESCAPES[c]);
|
|
51
|
+
}
|
|
52
|
+
function isLoopback(host) {
|
|
53
|
+
return host === '127.0.0.1' || host === 'localhost' || host === '::1';
|
|
54
|
+
}
|
|
55
|
+
/** Reject requests lacking the bearer token when the server is bound non-loopback. */
|
|
56
|
+
function tokenGuard(req, res, next) {
|
|
57
|
+
if (!serverToken || req.headers.authorization === `Bearer ${serverToken}`) {
|
|
58
|
+
next();
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
res.status(401).json({ error: 'Unauthorized' });
|
|
62
|
+
}
|
|
24
63
|
/**
|
|
25
64
|
* API endpoint to run audit and return UI resource
|
|
26
65
|
*/
|
|
27
|
-
app.post('/api/audit-dashboard', async (req, res) => {
|
|
66
|
+
app.post('/api/audit-dashboard', tokenGuard, async (req, res) => {
|
|
28
67
|
try {
|
|
29
68
|
const args = req.body || {};
|
|
30
69
|
// Run the audit using shared handler
|
|
@@ -43,7 +82,7 @@ app.post('/api/audit-dashboard', async (req, res) => {
|
|
|
43
82
|
uri: `ui://code-auditor/dashboard/${sessionKey}`,
|
|
44
83
|
content: {
|
|
45
84
|
type: 'externalUrl',
|
|
46
|
-
iframeUrl: `http://localhost:${
|
|
85
|
+
iframeUrl: `http://localhost:${serverPort}/dashboard/${sessionKey}`
|
|
47
86
|
},
|
|
48
87
|
encoding: 'text'
|
|
49
88
|
});
|
|
@@ -65,7 +104,7 @@ app.post('/api/audit-dashboard', async (req, res) => {
|
|
|
65
104
|
/**
|
|
66
105
|
* API endpoint to run code map and return UI resource
|
|
67
106
|
*/
|
|
68
|
-
app.post('/api/code-map-viewer', async (req, res) => {
|
|
107
|
+
app.post('/api/code-map-viewer', tokenGuard, async (req, res) => {
|
|
69
108
|
try {
|
|
70
109
|
const args = req.body || {};
|
|
71
110
|
// Generate audit result to get code map
|
|
@@ -85,7 +124,7 @@ app.post('/api/code-map-viewer', async (req, res) => {
|
|
|
85
124
|
uri: `ui://code-auditor/codemap/${sessionKey}`,
|
|
86
125
|
content: {
|
|
87
126
|
type: 'externalUrl',
|
|
88
|
-
iframeUrl: `http://localhost:${
|
|
127
|
+
iframeUrl: `http://localhost:${serverPort}/codemap/${sessionKey}`
|
|
89
128
|
},
|
|
90
129
|
encoding: 'text'
|
|
91
130
|
});
|
|
@@ -114,7 +153,7 @@ app.get('/dashboard/:sessionKey', (req, res) => {
|
|
|
114
153
|
return res.status(404).send(`
|
|
115
154
|
<html><body>
|
|
116
155
|
<h1>Audit Session Not Found</h1>
|
|
117
|
-
<p>Session key: ${sessionKey}</p>
|
|
156
|
+
<p>Session key: ${escapeHtml(sessionKey)}</p>
|
|
118
157
|
<p>This session may have expired or been cleaned up.</p>
|
|
119
158
|
</body></html>
|
|
120
159
|
`);
|
|
@@ -213,7 +252,7 @@ app.get('/dashboard/:sessionKey', (req, res) => {
|
|
|
213
252
|
<div class="container">
|
|
214
253
|
<div class="header">
|
|
215
254
|
<h1>🔍 Code Audit Dashboard</h1>
|
|
216
|
-
<p>Interactive analysis results for ${sessionData.path} • ${auditResult.summary?.filesAnalyzed || 0} files analyzed</p>
|
|
255
|
+
<p>Interactive analysis results for ${escapeHtml(sessionData.path)} • ${auditResult.summary?.filesAnalyzed || 0} files analyzed</p>
|
|
217
256
|
</div>
|
|
218
257
|
|
|
219
258
|
<div class="stats-grid">
|
|
@@ -260,14 +299,14 @@ app.get('/dashboard/:sessionKey', (req, res) => {
|
|
|
260
299
|
<div class="violations-list" id="violations-list">
|
|
261
300
|
${violations.length === 0 ? '<div class="loading">No violations found! 🎉</div>' :
|
|
262
301
|
violations.map(violation => `
|
|
263
|
-
<div class="violation" data-severity="${violation.severity}">
|
|
264
|
-
<div class="violation-title">${violation.message}</div>
|
|
302
|
+
<div class="violation" data-severity="${escapeHtml(violation.severity)}">
|
|
303
|
+
<div class="violation-title">${escapeHtml(violation.message)}</div>
|
|
265
304
|
<div class="violation-meta">
|
|
266
|
-
<span class="violation-file">${violation.file}:${violation.line}:${violation.column}</span>
|
|
267
|
-
<span class="severity-badge severity-${violation.severity}">${violation.severity}</span>
|
|
268
|
-
<span>Analyzer: ${violation.analyzer}</span>
|
|
305
|
+
<span class="violation-file">${escapeHtml(violation.file)}:${escapeHtml(violation.line)}:${escapeHtml(violation.column)}</span>
|
|
306
|
+
<span class="severity-badge severity-${escapeHtml(violation.severity)}">${escapeHtml(violation.severity)}</span>
|
|
307
|
+
<span>Analyzer: ${escapeHtml(violation.analyzer)}</span>
|
|
269
308
|
</div>
|
|
270
|
-
${violation.recommendation ? `<div class="recommendation">${violation.recommendation}</div>` : ''}
|
|
309
|
+
${violation.recommendation ? `<div class="recommendation">${escapeHtml(violation.recommendation)}</div>` : ''}
|
|
271
310
|
</div>
|
|
272
311
|
`).join('')}
|
|
273
312
|
</div>
|
|
@@ -326,7 +365,7 @@ app.get('/codemap/:sessionKey', (req, res) => {
|
|
|
326
365
|
return res.status(404).send(`
|
|
327
366
|
<html><body>
|
|
328
367
|
<h1>Code Map Session Not Found</h1>
|
|
329
|
-
<p>Session key: ${sessionKey}</p>
|
|
368
|
+
<p>Session key: ${escapeHtml(sessionKey)}</p>
|
|
330
369
|
</body></html>
|
|
331
370
|
`);
|
|
332
371
|
}
|
|
@@ -353,18 +392,18 @@ app.get('/codemap/:sessionKey', (req, res) => {
|
|
|
353
392
|
|
|
354
393
|
<div class="content">
|
|
355
394
|
<h2>📊 Map Summary</h2>
|
|
356
|
-
<p><strong>Map ID:</strong> ${codeMap?.mapId || 'N/A'}</p>
|
|
395
|
+
<p><strong>Map ID:</strong> ${escapeHtml(codeMap?.mapId || 'N/A')}</p>
|
|
357
396
|
<p><strong>Total Sections:</strong> ${codeMap?.summary?.totalSections || 0}</p>
|
|
358
397
|
|
|
359
398
|
<h2>🔍 Quick Preview</h2>
|
|
360
|
-
<pre>${codeMap?.quickPreview || 'No preview available'}</pre>
|
|
399
|
+
<pre>${escapeHtml(codeMap?.quickPreview || 'No preview available')}</pre>
|
|
361
400
|
|
|
362
401
|
${codeMap?.summary?.sectionsAvailable ? `
|
|
363
402
|
<h2>📑 Available Sections</h2>
|
|
364
403
|
${codeMap.summary.sectionsAvailable.map((section) => `
|
|
365
404
|
<div style="margin: 10px 0; padding: 10px; background: #f8f9fa; border-radius: 4px;">
|
|
366
|
-
<strong>${section.type}</strong> (${section.size} characters)<br>
|
|
367
|
-
<em>${section.description}</em>
|
|
405
|
+
<strong>${escapeHtml(section.type)}</strong> (${escapeHtml(section.size)} characters)<br>
|
|
406
|
+
<em>${escapeHtml(section.description)}</em>
|
|
368
407
|
</div>
|
|
369
408
|
`).join('')}
|
|
370
409
|
` : ''}
|
|
@@ -392,8 +431,8 @@ app.get('/health', (req, res) => {
|
|
|
392
431
|
/**
|
|
393
432
|
* API endpoint to get audit data as JSON
|
|
394
433
|
*/
|
|
395
|
-
app.get('/api/audit/:sessionKey', (req, res) => {
|
|
396
|
-
const
|
|
434
|
+
app.get('/api/audit/:sessionKey', tokenGuard, (req, res) => {
|
|
435
|
+
const sessionKey = req.params.sessionKey;
|
|
397
436
|
const sessionData = global.auditSessions?.get(sessionKey);
|
|
398
437
|
if (!sessionData) {
|
|
399
438
|
return res.status(404).json({ error: 'Audit session not found' });
|
|
@@ -403,13 +442,25 @@ app.get('/api/audit/:sessionKey', (req, res) => {
|
|
|
403
442
|
/**
|
|
404
443
|
* Start the MCP-UI HTTP server
|
|
405
444
|
*/
|
|
406
|
-
export function startMcpUIServer() {
|
|
407
|
-
|
|
408
|
-
|
|
445
|
+
export function startMcpUIServer(opts) {
|
|
446
|
+
const host = opts?.host ?? '127.0.0.1';
|
|
447
|
+
const port = opts?.port ?? (Number(process.env.MCP_UI_PORT) || 3001);
|
|
448
|
+
serverHost = host;
|
|
449
|
+
serverPort = port;
|
|
450
|
+
// A non-loopback bind is reachable by others — require a bearer token.
|
|
451
|
+
if (!isLoopback(host)) {
|
|
452
|
+
serverToken = randomBytes(32).toString('hex');
|
|
453
|
+
}
|
|
454
|
+
const server = app.listen(port, host, () => {
|
|
455
|
+
console.error(chalk.green('🚀 MCP-UI Code Auditor Server running on'), chalk.cyan(`http://${host}:${port}`));
|
|
409
456
|
console.error(chalk.blue('📡 API endpoints:'));
|
|
410
|
-
console.error(chalk.blue(' POST'), chalk.cyan(`http
|
|
411
|
-
console.error(chalk.blue(' POST'), chalk.cyan(`http
|
|
412
|
-
console.error(chalk.blue('❤️ Health check:'), chalk.cyan(`http
|
|
457
|
+
console.error(chalk.blue(' POST'), chalk.cyan(`http://${host}:${port}/api/audit-dashboard`));
|
|
458
|
+
console.error(chalk.blue(' POST'), chalk.cyan(`http://${host}:${port}/api/code-map-viewer`));
|
|
459
|
+
console.error(chalk.blue('❤️ Health check:'), chalk.cyan(`http://${host}:${port}/health`));
|
|
460
|
+
if (serverToken) {
|
|
461
|
+
console.error(chalk.yellow('🔐 Non-loopback bind — API endpoints require a bearer token:'));
|
|
462
|
+
console.error(chalk.cyan(` Authorization: Bearer ${serverToken}`));
|
|
463
|
+
}
|
|
413
464
|
console.error(chalk.gray('Ready to serve interactive audit interfaces...'));
|
|
414
465
|
});
|
|
415
466
|
// Graceful shutdown
|
|
@@ -417,6 +468,7 @@ export function startMcpUIServer() {
|
|
|
417
468
|
console.error(chalk.yellow('\n🛑 Shutting down MCP-UI server...'));
|
|
418
469
|
process.exit(0);
|
|
419
470
|
});
|
|
471
|
+
return server;
|
|
420
472
|
}
|
|
421
473
|
// Start the server if this file is run directly
|
|
422
474
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-ui-simple.js","sourceRoot":"","sources":["../src/mcp-ui-simple.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-ui-simple.js","sourceRoot":"","sources":["../src/mcp-ui-simple.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.js
CHANGED
|
@@ -5,6 +5,7 @@ import './native-bootstrap.js';
|
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
let autoIndexPath;
|
|
7
7
|
let uiMode = false;
|
|
8
|
+
let uiHost;
|
|
8
9
|
let stdioMode = false;
|
|
9
10
|
let showHelp = false;
|
|
10
11
|
const argv = process.argv.slice(2);
|
|
@@ -31,6 +32,15 @@ for (let i = 0; i < argv.length; i++) {
|
|
|
31
32
|
else if (a === '--ui') {
|
|
32
33
|
uiMode = true;
|
|
33
34
|
}
|
|
35
|
+
else if (a === '--host') {
|
|
36
|
+
const val = argv[i + 1];
|
|
37
|
+
if (val && !val.startsWith('-')) {
|
|
38
|
+
uiHost = val;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
console.error('[code-auditor] --host requires an address (next argv). Using 127.0.0.1.');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
34
44
|
else if (a === '--stdio') {
|
|
35
45
|
stdioMode = true;
|
|
36
46
|
}
|
|
@@ -40,10 +50,11 @@ for (let i = 0; i < argv.length; i++) {
|
|
|
40
50
|
}
|
|
41
51
|
if (showHelp) {
|
|
42
52
|
console.error(`code-auditor-mcp v${PACKAGE_VERSION}
|
|
43
|
-
Usage: code-auditor-mcp [--stdio] [--ui] [--auto-index <path>] [--data-dir <dir>]
|
|
53
|
+
Usage: code-auditor-mcp [--stdio] [--ui] [--host <addr>] [--auto-index <path>] [--data-dir <dir>]
|
|
44
54
|
|
|
45
55
|
--stdio Start MCP stdio server (default mode)
|
|
46
56
|
--ui Start the HTTP UI server on port 3001 (or MCP_UI_PORT)
|
|
57
|
+
--host <addr> Bind the UI server to <addr> (default 127.0.0.1)
|
|
47
58
|
--auto-index Sync the index from <path> and exit
|
|
48
59
|
--data-dir Directory for persistent data (index.db, tasks, configs)
|
|
49
60
|
--help, -h Show this message
|
|
@@ -55,17 +66,18 @@ import chalk from 'chalk';
|
|
|
55
66
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
56
67
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
57
68
|
import { CallToolRequestSchema, ListToolsRequestSchema, InitializeRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
58
|
-
import { createWriteStream } from 'node:fs';
|
|
69
|
+
import { createWriteStream, mkdirSync } from 'node:fs';
|
|
59
70
|
import fs from 'node:fs/promises';
|
|
60
|
-
import { homedir } from 'node:os';
|
|
61
71
|
import { createAuditRunner } from './auditRunner.js';
|
|
62
72
|
import { searchFunctions, findDefinition, syncFileIndex, getDatabase } from './codeIndexService.js';
|
|
63
73
|
import { CodeMapGenerator } from './services/CodeMapGenerator.js';
|
|
64
74
|
import { analyzeDocumentation } from './analyzers/documentationAnalyzer.js';
|
|
65
75
|
import { ConfigGeneratorFactory } from './generators/ConfigGeneratorFactory.js';
|
|
76
|
+
import { resolveConfigGenerateDir } from './config/configGeneratePath.js';
|
|
66
77
|
import { getInstallId, getTelemetryOptIn, setTelemetryOptIn, PRIVACY_MESSAGE, resolveTelemetryEndpoint } from './installConfig.js';
|
|
67
78
|
import { MCP_DEFAULT_ANALYZERS } from './analyzers/ruleRegistry.js';
|
|
68
79
|
import { DEFAULT_SERVER_URL, IS_DEV_MODE, PACKAGE_VERSION } from './constants.js';
|
|
80
|
+
import { resolveMcpDevLogPath } from './dataPaths.js';
|
|
69
81
|
import { getAuditJobStatus, getAuditResultsPage, getAuditResultsAsSarif, startAuditJob } from './mcpAuditJobs.js';
|
|
70
82
|
import { CodeIndexDB } from './codeIndexDB.js';
|
|
71
83
|
import { logMcpDebug, logMcpInfo, mcpDebugStderr, mcpTraceStderr } from './mcpDiagnostics.js';
|
|
@@ -76,7 +88,10 @@ import { initParsers } from './languages/index.js';
|
|
|
76
88
|
const originalConsoleError = console.error;
|
|
77
89
|
let logStream = null;
|
|
78
90
|
if (IS_DEV_MODE) {
|
|
79
|
-
|
|
91
|
+
// Dev mode is opt-in (`--dev`); even so, the log lives in the OS cache, never
|
|
92
|
+
// in cwd — a consumer that opts in must not get a bare file in their tree.
|
|
93
|
+
const logFilePath = resolveMcpDevLogPath();
|
|
94
|
+
mkdirSync(path.dirname(logFilePath), { recursive: true });
|
|
80
95
|
logStream = createWriteStream(logFilePath, { flags: 'a' });
|
|
81
96
|
console.error(chalk.blue('[INFO]'), `Development mode: Logging to file: ${logFilePath}`);
|
|
82
97
|
}
|
|
@@ -1024,7 +1039,11 @@ function registerAllTools(registry) {
|
|
|
1024
1039
|
handler: async (args) => {
|
|
1025
1040
|
const tools = args.tools;
|
|
1026
1041
|
const serverUrl = args.serverUrl || DEFAULT_SERVER_URL;
|
|
1027
|
-
const
|
|
1042
|
+
const rawOutputDir = args.outputDir || '.';
|
|
1043
|
+
// Containment (Spec 61 R5.1): generated configs land only inside the
|
|
1044
|
+
// working directory. `~` expansion still resolves (so a project under
|
|
1045
|
+
// `~` keeps working), but it is no longer a way to escape cwd.
|
|
1046
|
+
const outputDir = resolveConfigGenerateDir(rawOutputDir, process.cwd());
|
|
1028
1047
|
const overwrite = args.overwrite || false;
|
|
1029
1048
|
if (!Array.isArray(tools) || tools.length === 0)
|
|
1030
1049
|
throw new Error('tools parameter must be a non-empty array');
|
|
@@ -1706,7 +1725,7 @@ async function main() {
|
|
|
1706
1725
|
if (uiMode) {
|
|
1707
1726
|
// --ui: start the HTTP UI server
|
|
1708
1727
|
const { startMcpUIServer } = await import('./mcp-ui-simple.js');
|
|
1709
|
-
await startMcpUIServer();
|
|
1728
|
+
await startMcpUIServer(uiHost ? { host: uiHost } : undefined);
|
|
1710
1729
|
return;
|
|
1711
1730
|
}
|
|
1712
1731
|
// --stdio (default): start the MCP server
|