slaunt 0.1.16 → 0.1.17
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/README.md +23 -7
- package/dist/audit/run.d.ts +3 -1
- package/dist/audit/run.d.ts.map +1 -1
- package/dist/audit/run.js +3 -1
- package/dist/audit/run.js.map +1 -1
- package/dist/cli.js +19 -0
- package/dist/cli.js.map +1 -1
- package/dist/explanation/local.d.ts.map +1 -1
- package/dist/explanation/local.js +32 -3
- package/dist/explanation/local.js.map +1 -1
- package/dist/mcp/introspect.d.ts +4 -0
- package/dist/mcp/introspect.d.ts.map +1 -1
- package/dist/mcp/introspect.js +65 -15
- package/dist/mcp/introspect.js.map +1 -1
- package/dist/mcp/oauth.d.ts +14 -0
- package/dist/mcp/oauth.d.ts.map +1 -0
- package/dist/mcp/oauth.js +257 -0
- package/dist/mcp/oauth.js.map +1 -0
- package/dist/tui/analysis-path.d.ts +1 -1
- package/dist/tui/analysis-path.d.ts.map +1 -1
- package/dist/tui/analysis-path.js +27 -99
- package/dist/tui/analysis-path.js.map +1 -1
- package/dist/tui/render.d.ts.map +1 -1
- package/dist/tui/render.js +39 -50
- package/dist/tui/render.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../src/mcp/introspect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../src/mcp/introspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { OAuthClientProvider } from '@modelcontextprotocol/sdk/client/auth.js';
|
|
2
|
+
import type { ServerConfig } from '../types.js';
|
|
3
|
+
export interface OAuthSession {
|
|
4
|
+
provider: OAuthClientProvider;
|
|
5
|
+
waitForCallback(): Promise<string>;
|
|
6
|
+
close(): Promise<void>;
|
|
7
|
+
wasAuthorizationStarted(): boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface OAuthSessionOptions {
|
|
10
|
+
openBrowser?: (url: URL) => Promise<void>;
|
|
11
|
+
onAuthorizationRequired?: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function createOAuthSession(server: ServerConfig, options?: OAuthSessionOptions): Promise<OAuthSession>;
|
|
14
|
+
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/mcp/oauth.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,uBAAuB,IAAI,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAuMD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CAsEvH"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
2
|
+
import { createServer } from 'node:http';
|
|
3
|
+
import { chmod, mkdir, readFile, rename, unlink, writeFile } from 'node:fs/promises';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import open from 'open';
|
|
7
|
+
import { PACKAGE_VERSION } from '../version.js';
|
|
8
|
+
const STORE_VERSION = 1;
|
|
9
|
+
const CALLBACK_PATH = '/oauth/callback';
|
|
10
|
+
function isRecord(value) {
|
|
11
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
12
|
+
}
|
|
13
|
+
function isClientInformation(value) {
|
|
14
|
+
return isRecord(value) && typeof value.client_id === 'string' && value.client_id.length > 0;
|
|
15
|
+
}
|
|
16
|
+
function isTokens(value) {
|
|
17
|
+
return isRecord(value)
|
|
18
|
+
&& typeof value.access_token === 'string'
|
|
19
|
+
&& value.access_token.length > 0
|
|
20
|
+
&& typeof value.token_type === 'string'
|
|
21
|
+
&& value.token_type.length > 0;
|
|
22
|
+
}
|
|
23
|
+
function hasRedirectUri(value, callbackUrl) {
|
|
24
|
+
const record = value;
|
|
25
|
+
const redirectUris = record.redirect_uris;
|
|
26
|
+
if (!Array.isArray(redirectUris))
|
|
27
|
+
return false;
|
|
28
|
+
return redirectUris.some((uri) => String(uri) === callbackUrl);
|
|
29
|
+
}
|
|
30
|
+
function oauthDirectory() {
|
|
31
|
+
const configured = process.env.SLAUNT_AUDIT_OAUTH_DIR;
|
|
32
|
+
if (configured)
|
|
33
|
+
return configured;
|
|
34
|
+
const configHome = process.env.XDG_CONFIG_HOME || join(process.env.HOME || homedir(), '.config');
|
|
35
|
+
return join(configHome, 'slaunt', 'oauth');
|
|
36
|
+
}
|
|
37
|
+
function storePath(endpoint) {
|
|
38
|
+
const key = createHash('sha256').update(`${endpoint.origin}${endpoint.pathname}`).digest('hex');
|
|
39
|
+
return join(oauthDirectory(), `${key}.json`);
|
|
40
|
+
}
|
|
41
|
+
async function readState(path) {
|
|
42
|
+
try {
|
|
43
|
+
const raw = JSON.parse(await readFile(path, 'utf8'));
|
|
44
|
+
if (!isRecord(raw) || raw.version !== STORE_VERSION)
|
|
45
|
+
return { version: STORE_VERSION };
|
|
46
|
+
return {
|
|
47
|
+
version: STORE_VERSION,
|
|
48
|
+
...(isClientInformation(raw.clientInformation) ? { clientInformation: raw.clientInformation } : {}),
|
|
49
|
+
...(isTokens(raw.tokens) ? { tokens: raw.tokens } : {}),
|
|
50
|
+
...(typeof raw.codeVerifier === 'string' && raw.codeVerifier.length > 0 ? { codeVerifier: raw.codeVerifier } : {}),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return { version: STORE_VERSION };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async function writeState(path, state) {
|
|
58
|
+
const directory = oauthDirectory();
|
|
59
|
+
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
60
|
+
await chmod(directory, 0o700).catch(() => undefined);
|
|
61
|
+
const temporaryPath = `${path}.${process.pid}.${randomUUID()}.tmp`;
|
|
62
|
+
try {
|
|
63
|
+
await writeFile(temporaryPath, JSON.stringify(state), { encoding: 'utf8', mode: 0o600 });
|
|
64
|
+
await chmod(temporaryPath, 0o600).catch(() => undefined);
|
|
65
|
+
await rename(temporaryPath, path);
|
|
66
|
+
await chmod(path, 0o600).catch(() => undefined);
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
await unlink(temporaryPath).catch(() => undefined);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function callbackPage(title, body) {
|
|
73
|
+
return `<!doctype html><html><head><meta charset="utf-8"><title>${title}</title></head><body><p>${body}</p></body></html>`;
|
|
74
|
+
}
|
|
75
|
+
class FileOAuthProvider {
|
|
76
|
+
callbackUrl;
|
|
77
|
+
metadata;
|
|
78
|
+
path;
|
|
79
|
+
onAuthorizationRequired;
|
|
80
|
+
stateData;
|
|
81
|
+
oauthState = randomUUID();
|
|
82
|
+
authorizationStarted = false;
|
|
83
|
+
writeQueue = Promise.resolve();
|
|
84
|
+
openBrowser;
|
|
85
|
+
constructor(endpoint, callbackUrl, state, options) {
|
|
86
|
+
this.callbackUrl = callbackUrl;
|
|
87
|
+
this.path = storePath(endpoint);
|
|
88
|
+
this.stateData = { ...state };
|
|
89
|
+
if (this.stateData.clientInformation && !hasRedirectUri(this.stateData.clientInformation, callbackUrl)) {
|
|
90
|
+
// The callback uses an ephemeral loopback port. Re-register a cached
|
|
91
|
+
// OAuth client when its old redirect URI cannot receive this run's code.
|
|
92
|
+
delete this.stateData.clientInformation;
|
|
93
|
+
delete this.stateData.codeVerifier;
|
|
94
|
+
}
|
|
95
|
+
this.onAuthorizationRequired = options.onAuthorizationRequired;
|
|
96
|
+
this.openBrowser = options.openBrowser || ((url) => open(url.toString(), { wait: false }).then(() => undefined));
|
|
97
|
+
this.metadata = {
|
|
98
|
+
redirect_uris: [callbackUrl],
|
|
99
|
+
grant_types: ['authorization_code', 'refresh_token'],
|
|
100
|
+
response_types: ['code'],
|
|
101
|
+
token_endpoint_auth_method: 'none',
|
|
102
|
+
client_name: 'Slaunt Audit',
|
|
103
|
+
software_id: 'slaunt-audit',
|
|
104
|
+
software_version: PACKAGE_VERSION,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
get redirectUrl() {
|
|
108
|
+
return this.callbackUrl;
|
|
109
|
+
}
|
|
110
|
+
get clientMetadata() {
|
|
111
|
+
return this.metadata;
|
|
112
|
+
}
|
|
113
|
+
state() {
|
|
114
|
+
return this.oauthState;
|
|
115
|
+
}
|
|
116
|
+
async clientInformation() {
|
|
117
|
+
return this.stateData.clientInformation;
|
|
118
|
+
}
|
|
119
|
+
async saveClientInformation(clientInformation) {
|
|
120
|
+
this.stateData = { ...this.stateData, clientInformation };
|
|
121
|
+
await this.persist();
|
|
122
|
+
}
|
|
123
|
+
async tokens() {
|
|
124
|
+
return this.stateData.tokens;
|
|
125
|
+
}
|
|
126
|
+
async saveTokens(tokens) {
|
|
127
|
+
const nextState = { ...this.stateData, tokens };
|
|
128
|
+
delete nextState.codeVerifier;
|
|
129
|
+
this.stateData = nextState;
|
|
130
|
+
await this.persist();
|
|
131
|
+
}
|
|
132
|
+
async redirectToAuthorization(authorizationUrl) {
|
|
133
|
+
this.authorizationStarted = true;
|
|
134
|
+
this.onAuthorizationRequired?.();
|
|
135
|
+
await this.openBrowser(authorizationUrl);
|
|
136
|
+
}
|
|
137
|
+
async saveCodeVerifier(codeVerifier) {
|
|
138
|
+
this.stateData = { ...this.stateData, codeVerifier };
|
|
139
|
+
await this.persist();
|
|
140
|
+
}
|
|
141
|
+
async codeVerifier() {
|
|
142
|
+
if (!this.stateData.codeVerifier)
|
|
143
|
+
throw new Error('OAuth code verifier is not available');
|
|
144
|
+
return this.stateData.codeVerifier;
|
|
145
|
+
}
|
|
146
|
+
async invalidateCredentials(scope) {
|
|
147
|
+
const nextState = { ...this.stateData };
|
|
148
|
+
if (scope === 'all' || scope === 'client')
|
|
149
|
+
delete nextState.clientInformation;
|
|
150
|
+
if (scope === 'all' || scope === 'tokens')
|
|
151
|
+
delete nextState.tokens;
|
|
152
|
+
if (scope === 'all' || scope === 'verifier')
|
|
153
|
+
delete nextState.codeVerifier;
|
|
154
|
+
this.stateData = nextState;
|
|
155
|
+
await this.persist();
|
|
156
|
+
}
|
|
157
|
+
wasAuthorizationStarted() {
|
|
158
|
+
return this.authorizationStarted;
|
|
159
|
+
}
|
|
160
|
+
async persist() {
|
|
161
|
+
const snapshot = this.stateData;
|
|
162
|
+
this.writeQueue = this.writeQueue.then(() => writeState(this.path, snapshot));
|
|
163
|
+
await this.writeQueue;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function listen(server) {
|
|
167
|
+
return new Promise((resolve, reject) => {
|
|
168
|
+
const onError = (error) => {
|
|
169
|
+
server.off('listening', onListening);
|
|
170
|
+
reject(error);
|
|
171
|
+
};
|
|
172
|
+
const onListening = () => {
|
|
173
|
+
server.off('error', onError);
|
|
174
|
+
const address = server.address();
|
|
175
|
+
if (!address || typeof address === 'string') {
|
|
176
|
+
reject(new Error('OAuth callback listener did not expose a local port'));
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
resolve(address.port);
|
|
180
|
+
};
|
|
181
|
+
server.once('error', onError);
|
|
182
|
+
server.once('listening', onListening);
|
|
183
|
+
server.listen(0, '127.0.0.1');
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
export async function createOAuthSession(server, options = {}) {
|
|
187
|
+
if (!server.url)
|
|
188
|
+
throw new Error('OAuth requires an MCP server URL');
|
|
189
|
+
const endpoint = new URL(server.url);
|
|
190
|
+
const storedState = await readState(storePath(endpoint));
|
|
191
|
+
let resolveCallback;
|
|
192
|
+
let rejectCallback;
|
|
193
|
+
let callbackCode;
|
|
194
|
+
let callbackError;
|
|
195
|
+
const callbackPromise = new Promise((resolve, reject) => {
|
|
196
|
+
resolveCallback = resolve;
|
|
197
|
+
rejectCallback = reject;
|
|
198
|
+
});
|
|
199
|
+
const callbackServer = createServer((request, response) => {
|
|
200
|
+
if (request.method !== 'GET' || new URL(request.url || '/', 'http://127.0.0.1').pathname !== CALLBACK_PATH) {
|
|
201
|
+
response.writeHead(404, { 'content-type': 'text/html; charset=utf-8' });
|
|
202
|
+
response.end(callbackPage('Slaunt Audit', 'Not found.'));
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const callbackUrl = new URL(request.url || '/', 'http://127.0.0.1');
|
|
206
|
+
const code = callbackUrl.searchParams.get('code');
|
|
207
|
+
const error = callbackUrl.searchParams.get('error');
|
|
208
|
+
const returnedState = callbackUrl.searchParams.get('state');
|
|
209
|
+
const expectedState = provider?.state();
|
|
210
|
+
if (!returnedState || returnedState !== expectedState) {
|
|
211
|
+
const stateError = new Error('OAuth callback state did not match');
|
|
212
|
+
callbackError = stateError;
|
|
213
|
+
response.writeHead(400, { 'content-type': 'text/html; charset=utf-8' });
|
|
214
|
+
response.end(callbackPage('Slaunt Audit', 'Authorization could not be verified. You can close this window.'));
|
|
215
|
+
rejectCallback?.(stateError);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
if (error) {
|
|
219
|
+
const oauthError = new Error(`OAuth authorization failed: ${error}`);
|
|
220
|
+
callbackError = oauthError;
|
|
221
|
+
response.writeHead(400, { 'content-type': 'text/html; charset=utf-8' });
|
|
222
|
+
response.end(callbackPage('Slaunt Audit', 'Authorization was not completed. You can close this window.'));
|
|
223
|
+
rejectCallback?.(oauthError);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
if (!code) {
|
|
227
|
+
const codeError = new Error('OAuth callback did not include an authorization code');
|
|
228
|
+
callbackError = codeError;
|
|
229
|
+
response.writeHead(400, { 'content-type': 'text/html; charset=utf-8' });
|
|
230
|
+
response.end(callbackPage('Slaunt Audit', 'Authorization did not return a code. You can close this window.'));
|
|
231
|
+
rejectCallback?.(codeError);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
callbackCode = code;
|
|
235
|
+
response.writeHead(200, { 'content-type': 'text/html; charset=utf-8' });
|
|
236
|
+
response.end(callbackPage('Slaunt Audit', 'Authorization complete. You can close this window.'));
|
|
237
|
+
resolveCallback?.(code);
|
|
238
|
+
});
|
|
239
|
+
const port = await listen(callbackServer);
|
|
240
|
+
const callbackUrl = `http://127.0.0.1:${port}${CALLBACK_PATH}`;
|
|
241
|
+
const provider = new FileOAuthProvider(endpoint, callbackUrl, storedState, options);
|
|
242
|
+
return {
|
|
243
|
+
provider,
|
|
244
|
+
waitForCallback: async () => {
|
|
245
|
+
if (callbackCode)
|
|
246
|
+
return callbackCode;
|
|
247
|
+
if (callbackError)
|
|
248
|
+
throw callbackError;
|
|
249
|
+
return callbackPromise;
|
|
250
|
+
},
|
|
251
|
+
close: async () => {
|
|
252
|
+
await new Promise((resolve) => callbackServer.close(() => resolve()));
|
|
253
|
+
},
|
|
254
|
+
wasAuthorizationStarted: () => provider.wasAuthorizationStarted(),
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=oauth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/mcp/oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export interface PlayAnalysisPathOptions {
|
|
|
11
11
|
silent?: boolean;
|
|
12
12
|
sleep?: (milliseconds: number) => Promise<void>;
|
|
13
13
|
}
|
|
14
|
-
export declare const DEFAULT_INSPECTION_WINDOW_MS =
|
|
14
|
+
export declare const DEFAULT_INSPECTION_WINDOW_MS = 12000;
|
|
15
15
|
export declare function buildAnalysisPath(result: AuditResult): AnalysisBeat[];
|
|
16
16
|
export declare function playAnalysisPath(result: AuditResult, options?: PlayAnalysisPathOptions): Promise<void>;
|
|
17
17
|
//# sourceMappingURL=analysis-path.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-path.d.ts","sourceRoot":"","sources":["../../src/tui/analysis-path.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"analysis-path.d.ts","sourceRoot":"","sources":["../../src/tui/analysis-path.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,eAAO,MAAM,4BAA4B,QAAS,CAAC;AA4BnD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE,CAyDrE;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAkCf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
|
-
export const DEFAULT_INSPECTION_WINDOW_MS =
|
|
3
|
+
export const DEFAULT_INSPECTION_WINDOW_MS = 12_000;
|
|
4
4
|
const wait = (milliseconds) => new Promise((resolve) => {
|
|
5
5
|
setTimeout(resolve, milliseconds);
|
|
6
6
|
});
|
|
@@ -23,130 +23,58 @@ function progressRail(completed, total, length = 18) {
|
|
|
23
23
|
function phaseGlyph(index) {
|
|
24
24
|
return ['◌', '◍', '◎', '◉'][index % 4] || '◌';
|
|
25
25
|
}
|
|
26
|
-
function hasAnyCapability(capabilities, expected) {
|
|
27
|
-
return capabilities.some((capability) => expected.has(capability));
|
|
28
|
-
}
|
|
29
26
|
export function buildAnalysisPath(result) {
|
|
30
27
|
const { summary } = result;
|
|
31
|
-
const criticalPaths = result.findings.filter((finding) => finding.severity === 'critical').length;
|
|
32
|
-
const crossServerChains = result.findings.filter((finding) => finding.serverNames.length > 1).length;
|
|
33
|
-
const sharedPermissionFindings = result.findings.filter((finding) => finding.clients.length > 1).length;
|
|
34
28
|
const successfulInventories = result.probes.filter((probe) => probe.status === 'ok').length;
|
|
35
29
|
const unavailableInventories = result.probes.filter((probe) => probe.status !== 'ok').length;
|
|
36
|
-
const transportKinds = new Set(result.discovery.servers.map((server) => server.transport)).size;
|
|
37
30
|
const configSources = new Set(result.discovery.clients.flatMap((client) => client.sources)).size;
|
|
38
|
-
const schemaBackedTools = result.tools.filter((tool) => tool.inputSchema && Object.keys(tool.inputSchema).length > 0).length;
|
|
39
|
-
const sensitiveServers = new Set(result.tools
|
|
40
|
-
.filter((tool) => tool.classification.sensitive)
|
|
41
|
-
.map((tool) => `${tool.client}:${tool.serverName}`)).size;
|
|
42
|
-
const stateChangingCapabilities = new Set([
|
|
43
|
-
'write-data', 'write-files', 'delete-data', 'execute-code', 'execute-shell',
|
|
44
|
-
'deploy-production', 'edit-code', 'merge-pull-request', 'administer-system', 'send-message',
|
|
45
|
-
]);
|
|
46
|
-
const stateChangingTools = result.tools.filter((tool) => (hasAnyCapability(tool.classification.capabilities, stateChangingCapabilities))).length;
|
|
47
|
-
const secretExecutionChains = result.findings.filter((finding) => (/secret|credential/i.test(`${finding.title} ${finding.access.join(' ')}`)
|
|
48
|
-
&& /shell|command|execute/i.test(`${finding.title} ${finding.access.join(' ')}`))).length;
|
|
49
|
-
const suspiciousUnknowns = result.tools.filter((tool) => (tool.classification.source === 'unknown'
|
|
50
|
-
&& /admin|execute|trigger|workflow|sync|deploy|delete/i.test(tool.name))).length;
|
|
51
|
-
const clientsWithSensitiveAccess = new Set(result.tools
|
|
52
|
-
.filter((tool) => tool.classification.sensitive)
|
|
53
|
-
.map((tool) => tool.client)).size;
|
|
54
31
|
const confidence = summary.tools > 0 ? Math.round((summary.classified / summary.tools) * 100) : 0;
|
|
55
32
|
const postureAvailable = summary.tools > 0;
|
|
33
|
+
const coverage = result.discovery.servers.length > 0
|
|
34
|
+
? Math.round((successfulInventories / result.discovery.servers.length) * 100)
|
|
35
|
+
: 100;
|
|
36
|
+
const localExplanations = result.explanations.filter((explanation) => explanation.source === 'local-llm').length;
|
|
37
|
+
const evidenceExplanations = result.explanations.length - localExplanations;
|
|
38
|
+
const stateChangingTools = result.tools.filter((tool) => tool.classification.capabilities.some((capability) => (['write-data', 'write-files', 'delete-data', 'execute-code', 'execute-shell', 'deploy-production',
|
|
39
|
+
'edit-code', 'merge-pull-request', 'administer-system', 'send-message'].includes(capability)))).length;
|
|
56
40
|
return [
|
|
57
41
|
{
|
|
58
42
|
active: 'Discovering Claude and Codex MCP configurations',
|
|
59
|
-
complete: `${summary.clientsDetected} agent ${plural(summary.clientsDetected, 'client')}
|
|
60
|
-
delayMs:
|
|
43
|
+
complete: `${summary.clientsDetected} agent ${plural(summary.clientsDetected, 'client')} · ${configSources} configuration ${plural(configSources, 'source')}`,
|
|
44
|
+
delayMs: 1_800,
|
|
61
45
|
tone: 'success',
|
|
62
46
|
},
|
|
63
47
|
{
|
|
64
|
-
active: '
|
|
65
|
-
complete: `${
|
|
66
|
-
delayMs:
|
|
67
|
-
tone: 'success',
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
active: 'Retrieving tools/list inventories without calling tools',
|
|
71
|
-
complete: `${successfulInventories} server ${plural(successfulInventories, 'inventory')} available · ${unavailableInventories} unavailable`,
|
|
72
|
-
delayMs: 5_200,
|
|
48
|
+
active: 'Requesting declared tools/list inventories',
|
|
49
|
+
complete: `${successfulInventories}/${result.discovery.servers.length} server inventories · ${summary.tools} tools`,
|
|
50
|
+
delayMs: 2_200,
|
|
73
51
|
tone: unavailableInventories > 0 ? 'warning' : 'success',
|
|
74
52
|
},
|
|
75
53
|
{
|
|
76
|
-
active:
|
|
77
|
-
complete: `${
|
|
78
|
-
delayMs:
|
|
54
|
+
active: 'Explaining every server with the bundled local 1B model',
|
|
55
|
+
complete: `${localExplanations} model explanations · ${evidenceExplanations} evidence summaries`,
|
|
56
|
+
delayMs: 2_000,
|
|
79
57
|
tone: 'success',
|
|
80
58
|
},
|
|
81
59
|
{
|
|
82
60
|
active: 'Classifying tools against the reviewed capability catalog',
|
|
83
61
|
complete: `${summary.classified} classified · ${summary.unclassified} unclassified · ${confidence}% coverage`,
|
|
84
|
-
delayMs:
|
|
62
|
+
delayMs: 2_000,
|
|
85
63
|
tone: summary.unclassified > 0 ? 'warning' : 'success',
|
|
86
64
|
},
|
|
87
65
|
{
|
|
88
|
-
active: '
|
|
89
|
-
complete: `${summary.sensitiveCapabilities} sensitive ${
|
|
90
|
-
delayMs:
|
|
91
|
-
tone: summary.
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
active: 'Tracing state-changing capabilities: write, execute, and deploy',
|
|
95
|
-
complete: `${stateChangingTools} state-changing ${plural(stateChangingTools, 'tool')} exposed`,
|
|
96
|
-
delayMs: 5_800,
|
|
97
|
-
tone: stateChangingTools > 0 ? 'warning' : 'success',
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
active: 'Checking direct production and administrative access',
|
|
101
|
-
complete: criticalPaths > 0
|
|
102
|
-
? `${criticalPaths} critical direct ${plural(criticalPaths, 'path')} found`
|
|
103
|
-
: 'No critical direct access found',
|
|
104
|
-
delayMs: 5_000,
|
|
105
|
-
tone: criticalPaths > 0 ? 'warning' : 'success',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
active: 'Testing whether credential access can chain into shell execution',
|
|
109
|
-
complete: secretExecutionChains > 0
|
|
110
|
-
? `${secretExecutionChains} credential-to-execution ${plural(secretExecutionChains, 'chain')} found`
|
|
111
|
-
: 'No credential-to-execution chain found',
|
|
112
|
-
delayMs: 6_200,
|
|
113
|
-
tone: secretExecutionChains > 0 ? 'warning' : 'success',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
active: 'Searching cross-server attack chains from combined permissions',
|
|
117
|
-
complete: crossServerChains > 0
|
|
118
|
-
? `${crossServerChains} cross-server ${plural(crossServerChains, 'chain')} contributes to risk`
|
|
119
|
-
: 'No cross-server attack chain found',
|
|
120
|
-
delayMs: 6_400,
|
|
121
|
-
tone: crossServerChains > 0 ? 'warning' : 'success',
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
active: `Comparing permissions across ${summary.clientsDetected} agent clients`,
|
|
125
|
-
complete: sharedPermissionFindings > 0
|
|
126
|
-
? `${sharedPermissionFindings} shared-permission ${plural(sharedPermissionFindings, 'finding')}`
|
|
127
|
-
: 'No risky permission overlap found',
|
|
128
|
-
delayMs: 5_200,
|
|
129
|
-
tone: sharedPermissionFindings > 0 ? 'warning' : 'success',
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
active: 'Evaluating least privilege: only the access each agent needs',
|
|
133
|
-
complete: `${clientsWithSensitiveAccess} agent ${plural(clientsWithSensitiveAccess, 'client')} hold sensitive access`,
|
|
134
|
-
delayMs: 5_400,
|
|
135
|
-
tone: clientsWithSensitiveAccess > 1 ? 'warning' : 'success',
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
active: 'Isolating unclassified tools for manual review',
|
|
139
|
-
complete: `${summary.unclassified} unclassified · ${suspiciousUnknowns} appear state-changing`,
|
|
140
|
-
delayMs: 4_400,
|
|
141
|
-
tone: summary.unclassified > 0 ? 'warning' : 'success',
|
|
66
|
+
active: 'Correlating sensitive, state-changing, and cross-server access',
|
|
67
|
+
complete: `${summary.sensitiveCapabilities} sensitive · ${stateChangingTools} state-changing · ${summary.highRiskFindings} high-risk`,
|
|
68
|
+
delayMs: 1_800,
|
|
69
|
+
tone: summary.highRiskFindings > 0 ? 'warning' : 'success',
|
|
142
70
|
},
|
|
143
71
|
{
|
|
144
|
-
active: '
|
|
72
|
+
active: 'Building the local audit report',
|
|
145
73
|
complete: postureAvailable
|
|
146
|
-
?
|
|
147
|
-
: '
|
|
148
|
-
delayMs:
|
|
149
|
-
tone: !postureAvailable ||
|
|
74
|
+
? `security posture ${summary.postureScore}/100 · inventory ${coverage}%`
|
|
75
|
+
: 'security posture unavailable · inventory incomplete',
|
|
76
|
+
delayMs: 2_200,
|
|
77
|
+
tone: !postureAvailable || unavailableInventories > 0 ? 'warning' : 'success',
|
|
150
78
|
},
|
|
151
79
|
];
|
|
152
80
|
}
|
|
@@ -174,7 +102,7 @@ export async function playAnalysisPath(result, options = {}) {
|
|
|
174
102
|
spinner.text = `${position} ${progressRail(index + 0.25, beats.length)} ${phaseGlyph(index)} ${beat.active} ${chalk.gray(`· ${formatRemaining(remainingMs)}`)}`;
|
|
175
103
|
await sleep(analysisDuration);
|
|
176
104
|
remainingMs = Math.max(0, remainingMs - analysisDuration);
|
|
177
|
-
const marker = beat.tone === 'warning' ? chalk.yellow('
|
|
105
|
+
const marker = beat.tone === 'warning' ? chalk.yellow('·') : chalk.green('✓');
|
|
178
106
|
spinner.text = `${position} ${progressRail(index + 1, beats.length)} ${marker} ${beat.complete}`;
|
|
179
107
|
await sleep(evidenceDuration);
|
|
180
108
|
remainingMs = Math.max(0, remainingMs - evidenceDuration);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-path.js","sourceRoot":"","sources":["../../src/tui/analysis-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAkBtB,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD,MAAM,IAAI,GAAG,CAAC,YAAoB,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IAC5E,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,SAAS,MAAM,CAAC,KAAa,EAAE,QAAgB,EAAE,UAAU,GAAG,GAAG,QAAQ,GAAG;IAC1E,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,YAAoB;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,IAAI,OAAO,QAAQ,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,GAAG,EAAE,CAAC;IAC/B,OAAO,IAAI,OAAO,KAAK,SAAS,QAAQ,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,KAAa,EAAE,MAAM,GAAG,EAAE;IACjE,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC1C,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;AAChD,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"analysis-path.js","sourceRoot":"","sources":["../../src/tui/analysis-path.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/tui/render.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAiF,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/tui/render.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAiF,MAAM,aAAa,CAAC;AA6O9H,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAkDvD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAKrC"}
|