slaunt 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/dist/cli.js +12 -22
- package/dist/cli.js.map +1 -1
- package/dist/mcp/introspect.d.ts +1 -0
- package/dist/mcp/introspect.d.ts.map +1 -1
- package/dist/mcp/introspect.js +21 -1
- package/dist/mcp/introspect.js.map +1 -1
- package/dist/tui/analysis-path.d.ts.map +1 -1
- package/dist/tui/analysis-path.js +25 -50
- package/dist/tui/analysis-path.js.map +1 -1
- package/dist/tui/render.d.ts.map +1 -1
- package/dist/tui/render.js +146 -95
- package/dist/tui/render.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ The default architecture is intentionally local-first:
|
|
|
25
25
|
- If Supabase is configured, the CLI downloads approved classification rules and performs matching locally. It does not upload an audit payload or call a classification RPC.
|
|
26
26
|
- MCP tools are never called. The auditor only performs the MCP initialization handshake and `tools/list`.
|
|
27
27
|
- Starting configured stdio servers requires interactive consent, or the explicit `--allow-server-starts` flag.
|
|
28
|
-
-
|
|
28
|
+
- The default audit never edits client configuration or opens another window. Slaunt MCP installation requires `--install-slaunt`, and report opening requires `--open-report`.
|
|
29
29
|
- JSON output is redacted. Environment and header values are never included.
|
|
30
30
|
|
|
31
31
|
## Run
|
|
@@ -42,14 +42,14 @@ Useful modes:
|
|
|
42
42
|
# Configuration-only inventory; never starts a local MCP process
|
|
43
43
|
npx slaunt audit --no-server-starts
|
|
44
44
|
|
|
45
|
-
# Non-interactive audit with explicit consent to
|
|
46
|
-
npx slaunt audit --yes
|
|
45
|
+
# Non-interactive audit with explicit consent to read declared tool lists
|
|
46
|
+
npx slaunt audit --yes
|
|
47
47
|
|
|
48
48
|
# Redacted machine-readable output
|
|
49
49
|
npx slaunt audit --json --no-report --no-install-slaunt --no-server-starts
|
|
50
50
|
|
|
51
51
|
# Deterministic product demonstration
|
|
52
|
-
npx slaunt audit --demo
|
|
52
|
+
npx slaunt audit --demo
|
|
53
53
|
|
|
54
54
|
# Skip deliberate interactive pacing while keeping the full audit
|
|
55
55
|
npx slaunt audit --no-motion
|
|
@@ -71,9 +71,9 @@ The scanner supports stdio, Streamable HTTP, and legacy SSE server declarations.
|
|
|
71
71
|
|
|
72
72
|
## Secure Slaunt MCP installation
|
|
73
73
|
|
|
74
|
-
The
|
|
74
|
+
The audit can add Slaunt MCP to each detected client only when `--install-slaunt` is supplied. Installation is:
|
|
75
75
|
|
|
76
|
-
-
|
|
76
|
+
- explicit and optional;
|
|
77
77
|
- idempotent by the reserved server name `slaunt`;
|
|
78
78
|
- atomic, using a same-directory temporary file and rename;
|
|
79
79
|
- backed up with a timestamp before any existing file changes;
|
|
@@ -133,9 +133,11 @@ Database patterns are treated as bounded globs, never executable regular express
|
|
|
133
133
|
|
|
134
134
|
## Terminal experience and conversion ethics
|
|
135
135
|
|
|
136
|
-
The terminal flow uses immediate collection feedback followed by a short, deliberately paced analysis trail.
|
|
136
|
+
The terminal flow uses immediate collection feedback followed by a short, deliberately paced analysis trail. A single updating line indexes the retrieved tools, searches direct and chained privilege paths, compares client permissions, and ranks the evidence before revealing the report. Every state is derived from the actual audit result; the pacing never invents a server, tool, capability, or finding.
|
|
137
137
|
|
|
138
|
-
The
|
|
138
|
+
The default view is intentionally concise: a posture summary, the three highest-priority findings, a compact client access map, and the unclassified-tool queue. Supporting findings and complete evidence remain in the local HTML report. The CLI writes that report without opening it; use `--open-report` when you explicitly want a browser window.
|
|
139
|
+
|
|
140
|
+
The trail runs only in an interactive terminal. JSON output, piped output, CI, `--yes`, `--no-motion`, and `SLAUNT_NO_MOTION=1` remain immediate. The audit also refuses to start a configured stdio entry that resolves back to the `slaunt` CLI, preventing recursive audit windows. The experience deliberately avoids variable rewards, deceptive urgency, hidden defaults, shame, or an unsupported claim that a UI can medically “optimize dopamine.”
|
|
139
141
|
|
|
140
142
|
The design is informed by evidence that progress feedback can improve follow-through, autonomy-supportive framing is associated with more self-directed motivation, and risk messages work better when paired with an effective action. See the PubMed-indexed reviews on [progress feedback](https://pubmed.ncbi.nlm.nih.gov/33721605/), [autonomy support](https://pubmed.ncbi.nlm.nih.gov/30237648/), and [fear appeals with efficacy](https://pubmed.ncbi.nlm.nih.gov/26501228/). These findings come from other domains, so their application to developer security tooling is a product hypothesis, not a medical claim.
|
|
141
143
|
|
package/dist/cli.js
CHANGED
|
@@ -16,19 +16,18 @@ Usage:
|
|
|
16
16
|
npx slaunt audit [options]
|
|
17
17
|
|
|
18
18
|
Options:
|
|
19
|
-
--install-slaunt
|
|
20
|
-
--no-install-slaunt Do not offer to add Slaunt MCP
|
|
19
|
+
--install-slaunt Explicitly add Slaunt MCP to detected client configs
|
|
21
20
|
--allow-server-starts Start configured stdio servers to request tools/list
|
|
22
21
|
--no-server-starts Inspect configuration only; do not start local servers
|
|
23
22
|
--config <path> Inspect an additional JSON or TOML MCP config (repeatable)
|
|
24
23
|
--offline Use the bundled catalog; do not refresh from Supabase
|
|
25
24
|
--output <path> HTML report path
|
|
26
25
|
--no-report Do not write the local HTML report
|
|
27
|
-
--
|
|
26
|
+
--open-report Open the local HTML report after the audit
|
|
28
27
|
--no-motion Skip the paced interactive analysis trail
|
|
29
28
|
--timeout <ms> Per-server probe timeout (1000-60000; default 8000)
|
|
30
29
|
--json Print a machine-readable, redacted JSON result
|
|
31
|
-
--yes
|
|
30
|
+
--yes Approve read-only tools/list startup for automation
|
|
32
31
|
--demo Render a deterministic 43-tool example audit
|
|
33
32
|
-h, --help Show help
|
|
34
33
|
-v, --version Show version
|
|
@@ -45,7 +44,7 @@ function valueAfter(args, index, option) {
|
|
|
45
44
|
}
|
|
46
45
|
function parseArguments(args) {
|
|
47
46
|
const options = {
|
|
48
|
-
customPaths: [], demo: false, json: false, offline: false,
|
|
47
|
+
customPaths: [], demo: false, json: false, offline: false, openReport: false, noMotion: false, noReport: false, yes: false,
|
|
49
48
|
};
|
|
50
49
|
for (let index = 0; index < args.length; index += 1) {
|
|
51
50
|
const argument = args[index];
|
|
@@ -57,8 +56,10 @@ function parseArguments(args) {
|
|
|
57
56
|
options.json = true;
|
|
58
57
|
else if (argument === '--offline')
|
|
59
58
|
options.offline = true;
|
|
59
|
+
else if (argument === '--open-report')
|
|
60
|
+
options.openReport = true;
|
|
60
61
|
else if (argument === '--no-open')
|
|
61
|
-
options.
|
|
62
|
+
options.openReport = false;
|
|
62
63
|
else if (argument === '--no-motion')
|
|
63
64
|
options.noMotion = true;
|
|
64
65
|
else if (argument === '--no-report')
|
|
@@ -88,7 +89,7 @@ function parseArguments(args) {
|
|
|
88
89
|
process.exit(0);
|
|
89
90
|
}
|
|
90
91
|
else if (argument === '--version' || argument === '-v') {
|
|
91
|
-
process.stdout.write('0.1.
|
|
92
|
+
process.stdout.write('0.1.2\n');
|
|
92
93
|
process.exit(0);
|
|
93
94
|
}
|
|
94
95
|
else if (argument === 'connect') {
|
|
@@ -131,19 +132,13 @@ async function main() {
|
|
|
131
132
|
&& !process.env.CI
|
|
132
133
|
&& process.env.SLAUNT_NO_MOTION !== '1';
|
|
133
134
|
if (!options.json)
|
|
134
|
-
process.stdout.write(`${renderHeader()}\n\n
|
|
135
|
+
process.stdout.write(`${renderHeader()}\n\n`);
|
|
135
136
|
let discovery = options.demo ? undefined : await discoverConfigurations({
|
|
136
137
|
...(options.customPaths.length ? { customPaths: options.customPaths } : {}),
|
|
137
138
|
});
|
|
138
139
|
const detectedClients = discovery?.clients.filter((client) => client.detected).map((client) => client.id) || [];
|
|
139
140
|
const clientsMissingSlaunt = detectedClients.filter((client) => !discovery?.servers.some((server) => server.client === client && server.name.toLowerCase() === 'slaunt'));
|
|
140
|
-
|
|
141
|
-
if (interactive && options.installSlaunt === undefined && clientsMissingSlaunt.length > 0 && !options.demo) {
|
|
142
|
-
shouldInstall = await confirm({
|
|
143
|
-
message: `Add Slaunt MCP to ${clientsMissingSlaunt.length} detected client configuration${clientsMissingSlaunt.length === 1 ? '' : 's'}? Backups are created first.`,
|
|
144
|
-
default: true,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
141
|
+
const shouldInstall = options.installSlaunt === true && !options.demo;
|
|
147
142
|
if (shouldInstall && clientsMissingSlaunt.length > 0) {
|
|
148
143
|
const changes = await installSlauntMcp({ clients: clientsMissingSlaunt });
|
|
149
144
|
if (!options.json)
|
|
@@ -182,13 +177,8 @@ async function main() {
|
|
|
182
177
|
return;
|
|
183
178
|
}
|
|
184
179
|
process.stdout.write(`${renderAudit(result)}\n`);
|
|
185
|
-
if (result.reportPath)
|
|
186
|
-
|
|
187
|
-
if (interactive && result.reportPath && !options.noOpen) {
|
|
188
|
-
const shouldOpen = await confirm({ message: 'Open report now?', default: true });
|
|
189
|
-
if (shouldOpen)
|
|
190
|
-
await open(result.reportPath, { wait: false });
|
|
191
|
-
}
|
|
180
|
+
if (options.openReport && result.reportPath)
|
|
181
|
+
await open(result.reportPath, { wait: false });
|
|
192
182
|
}
|
|
193
183
|
main().catch((error) => {
|
|
194
184
|
const message = error instanceof Error ? error.message : String(error);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAiB5D,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAiB5D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAC;AAEF,SAAS,UAAU,CAAC,IAAc,EAAE,KAAa,EAAE,MAAc;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,OAAO,GAAe;QAC1B,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK;KAC3H,CAAC;IACF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,OAAO;YAAE,SAAS;QACnC,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;aAC1C,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;aAC/C,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;aACrD,IAAI,QAAQ,KAAK,eAAe;YAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;aAC5D,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;aACzD,IAAI,QAAQ,KAAK,aAAa;YAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxD,IAAI,QAAQ,KAAK,aAAa;YAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;aAClE,IAAI,QAAQ,KAAK,kBAAkB;YAAE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;aAClE,IAAI,QAAQ,KAAK,qBAAqB;YAAE,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;aACtE,IAAI,QAAQ,KAAK,uBAAuB;YAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC3E,IAAI,QAAQ,KAAK,oBAAoB;YAAE,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;aACzE,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;aAC3F,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;aAClF,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACpI,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAwB;IACnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACvH,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxI,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,KAAK,IAAI,CAAC,CAAC;QAC1F,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,KAAK,KAAK,MAAM,CAAC,OAAO,IAAI,eAAe,IAAI,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9F,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACrH,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,aAAa,GAAG,WAAW;WAC5B,CAAC,OAAO,CAAC,QAAQ;WACjB,CAAC,OAAO,CAAC,GAAG;WACZ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;WACf,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,CAAC;IAE1C,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,EAAE,MAAM,CAAC,CAAC;IAEjE,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAChH,MAAM,oBAAoB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC1K,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACtE,IAAI,aAAa,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,oBAAkC,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,SAAS,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5H,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/F,IAAI,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,WAAW,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACvG,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC;QACnE,iBAAiB,GAAG,MAAM,OAAO,CAAC;YAChC,OAAO,EAAE,SAAS,YAAY,CAAC,MAAM,+BAA+B,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gDAAgD,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,mCAAmC,CAAC,CAAC,CAAC,EAAE,EAAE;YACjO,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACpH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;QAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;KACrE,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvC,IAAI,aAAa;QAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAElD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU;QAAE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/dist/mcp/introspect.d.ts
CHANGED
|
@@ -6,4 +6,5 @@ export interface ProbeOptions {
|
|
|
6
6
|
}
|
|
7
7
|
export declare function probeServers(servers: ServerConfig[], options: ProbeOptions): Promise<ServerProbe[]>;
|
|
8
8
|
export declare function isDynamicLauncher(server: ServerConfig): boolean;
|
|
9
|
+
export declare function isRecursiveSlauntLauncher(server: ServerConfig): boolean;
|
|
9
10
|
//# sourceMappingURL=introspect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/mcp/introspect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/mcp/introspect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA6J3E,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAMzG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAG/D;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAYvE"}
|
package/dist/mcp/introspect.js
CHANGED
|
@@ -50,7 +50,7 @@ async function listAllTools(client, server) {
|
|
|
50
50
|
return tools;
|
|
51
51
|
}
|
|
52
52
|
async function connectAndList(server, transport) {
|
|
53
|
-
const client = new Client({ name: 'slaunt-audit', version: '0.1.
|
|
53
|
+
const client = new Client({ name: 'slaunt-audit', version: '0.1.2' }, { capabilities: {} });
|
|
54
54
|
try {
|
|
55
55
|
// The SDK's transport classes declare `sessionId?: string` while its shared
|
|
56
56
|
// Transport interface is emitted without exact-optional compatibility.
|
|
@@ -78,6 +78,14 @@ async function withTimeout(operation, milliseconds, onTimeout) {
|
|
|
78
78
|
}
|
|
79
79
|
async function probeServer(server, allowServerStarts, timeoutMs) {
|
|
80
80
|
if (server.transport === 'stdio') {
|
|
81
|
+
if (isRecursiveSlauntLauncher(server)) {
|
|
82
|
+
return {
|
|
83
|
+
serverId: server.id,
|
|
84
|
+
status: 'skipped',
|
|
85
|
+
tools: [],
|
|
86
|
+
message: 'Skipped a Slaunt CLI launcher to prevent a recursive audit',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
81
89
|
if (!allowServerStarts) {
|
|
82
90
|
return { serverId: server.id, status: 'skipped', tools: [], message: 'Local server start was not approved' };
|
|
83
91
|
}
|
|
@@ -150,4 +158,16 @@ export function isDynamicLauncher(server) {
|
|
|
150
158
|
const command = server.command ? basename(server.command).toLowerCase() : '';
|
|
151
159
|
return ['npx', 'uvx', 'docker', 'podman', 'bunx', 'pnpx'].includes(command);
|
|
152
160
|
}
|
|
161
|
+
export function isRecursiveSlauntLauncher(server) {
|
|
162
|
+
const command = server.command ? basename(server.command).toLowerCase() : '';
|
|
163
|
+
if (/^slaunt(?:\.cmd|\.exe)?$/.test(command))
|
|
164
|
+
return true;
|
|
165
|
+
if (['npx', 'bunx', 'pnpx'].includes(command)) {
|
|
166
|
+
return server.args.some((argument) => /^slaunt(?:@[^/\s]+)?$/i.test(argument));
|
|
167
|
+
}
|
|
168
|
+
return server.args.some((argument) => {
|
|
169
|
+
const normalized = argument.replaceAll('\\', '/');
|
|
170
|
+
return /(?:^|\/)slaunt(?:-audit)?(?:\/.*)?\/(?:dist\/)?cli\.(?:c?js|mjs)$/i.test(normalized);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
153
173
|
//# sourceMappingURL=introspect.js.map
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
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,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAUD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE,
|
|
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,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAUD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE,CAsCrE;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -13,75 +13,50 @@ export function buildAnalysisPath(result) {
|
|
|
13
13
|
const sharedPermissionFindings = result.findings.filter((finding) => finding.clients.length > 1).length;
|
|
14
14
|
return [
|
|
15
15
|
{
|
|
16
|
-
active: `Indexing ${summary.tools}
|
|
16
|
+
active: `Indexing ${summary.tools} tools from ${summary.servers} MCP servers`,
|
|
17
17
|
complete: `Indexed ${summary.tools} ${plural(summary.tools, 'tool')} from ${summary.servers} MCP ${plural(summary.servers, 'server')}`,
|
|
18
|
-
delayMs:
|
|
18
|
+
delayMs: 380,
|
|
19
19
|
tone: 'success',
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
active: '
|
|
23
|
-
complete:
|
|
24
|
-
delayMs:
|
|
25
|
-
tone: 'success',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
active: 'Searching for direct production-changing access',
|
|
29
|
-
complete: criticalPaths > 0
|
|
30
|
-
? `${criticalPaths} critical direct-access ${plural(criticalPaths, 'path')} found`
|
|
31
|
-
: 'No critical direct-access paths found',
|
|
32
|
-
delayMs: 540,
|
|
33
|
-
tone: criticalPaths > 0 ? 'warning' : 'success',
|
|
22
|
+
active: 'Searching direct and chained privilege paths',
|
|
23
|
+
complete: `${criticalPaths} direct · ${crossServerChains} chained`,
|
|
24
|
+
delayMs: 680,
|
|
25
|
+
tone: criticalPaths + crossServerChains > 0 ? 'warning' : 'success',
|
|
34
26
|
},
|
|
35
27
|
{
|
|
36
|
-
active:
|
|
37
|
-
complete: crossServerChains > 0
|
|
38
|
-
? `${crossServerChains} cross-server capability ${plural(crossServerChains, 'chain')} found`
|
|
39
|
-
: 'No cross-server capability chains found',
|
|
40
|
-
delayMs: 620,
|
|
41
|
-
tone: crossServerChains > 0 ? 'warning' : 'success',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
active: 'Comparing permission overlap between agent clients',
|
|
28
|
+
active: `Comparing permissions across ${summary.clientsDetected} agent clients`,
|
|
45
29
|
complete: sharedPermissionFindings > 0
|
|
46
30
|
? `Permission overlap contributes to ${sharedPermissionFindings} ${plural(sharedPermissionFindings, 'finding')}`
|
|
47
31
|
: 'No risky permission overlap found',
|
|
48
|
-
delayMs:
|
|
32
|
+
delayMs: 520,
|
|
49
33
|
tone: sharedPermissionFindings > 0 ? 'warning' : 'success',
|
|
50
34
|
},
|
|
51
35
|
{
|
|
52
|
-
active: '
|
|
53
|
-
complete: summary.unclassified > 0
|
|
54
|
-
? `${summary.unclassified} ${plural(summary.unclassified, 'tool')} need human classification`
|
|
55
|
-
: 'Every retrieved tool has a recognized classification',
|
|
56
|
-
delayMs: 400,
|
|
57
|
-
tone: summary.unclassified > 0 ? 'warning' : 'success',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
active: 'Ranking evidence by exploitability and blast radius',
|
|
36
|
+
active: 'Prioritizing findings by exploitability and blast radius',
|
|
61
37
|
complete: summary.highRiskFindings > 0
|
|
62
|
-
? `${summary.highRiskFindings} high-risk ${
|
|
63
|
-
:
|
|
64
|
-
delayMs:
|
|
65
|
-
tone: summary.highRiskFindings > 0 ? 'warning' : 'success',
|
|
38
|
+
? `${summary.highRiskFindings} high-risk · ${summary.unclassified} unclassified`
|
|
39
|
+
: `${summary.unclassified} unclassified · no high-risk findings`,
|
|
40
|
+
delayMs: 490,
|
|
41
|
+
tone: summary.highRiskFindings + summary.unclassified > 0 ? 'warning' : 'success',
|
|
66
42
|
},
|
|
67
43
|
];
|
|
68
44
|
}
|
|
69
45
|
export async function playAnalysisPath(result, options = {}) {
|
|
70
46
|
const sleep = options.sleep || wait;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
47
|
+
const beats = buildAnalysisPath(result);
|
|
48
|
+
const first = beats[0];
|
|
49
|
+
if (!first)
|
|
50
|
+
return;
|
|
51
|
+
const spinner = ora({
|
|
52
|
+
color: 'magenta',
|
|
53
|
+
spinner: 'dots12',
|
|
54
|
+
text: first.active,
|
|
55
|
+
}).start();
|
|
56
|
+
for (const beat of beats) {
|
|
57
|
+
spinner.text = beat.active;
|
|
78
58
|
await sleep(beat.delayMs);
|
|
79
|
-
if (beat.tone === 'warning')
|
|
80
|
-
spinner.warn(beat.complete);
|
|
81
|
-
else
|
|
82
|
-
spinner.succeed(beat.complete);
|
|
83
59
|
}
|
|
84
|
-
|
|
85
|
-
await sleep(220);
|
|
60
|
+
spinner.succeed(`${chalk.bold('Analysis complete')} ${chalk.gray('·')} ${result.summary.highRiskFindings} high-risk ${chalk.gray('·')} ${result.summary.unclassified} unclassified`);
|
|
86
61
|
}
|
|
87
62
|
//# sourceMappingURL=analysis-path.js.map
|
|
@@ -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;AAgBtB,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,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAClG,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC5D,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CACnF,CAAC,CAAC,MAAM,CAAC;IACV,MAAM,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAExG,OAAO;QACL;YACE,MAAM,EAAE,YAAY,OAAO,CAAC,KAAK,
|
|
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":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/tui/render.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAiC,MAAM,aAAa,CAAC;AAqI9E,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsEvD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
|
package/dist/tui/render.js
CHANGED
|
@@ -1,132 +1,183 @@
|
|
|
1
|
+
import { relative } from 'node:path';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
const capabilityLabels = {
|
|
3
|
-
'read-data': 'Read data', 'write-data': 'Write data', 'read-files': 'Read files',
|
|
4
|
-
'write-files': 'Write files', 'delete-data': 'Delete data', 'execute-code': 'Execute code',
|
|
5
|
-
'execute-shell': 'Execute commands', 'read-secrets': 'Read credentials', 'manage-auth': 'Manage identity',
|
|
6
|
-
'network-access': 'Network access', 'deploy-production': 'View and deploy', 'edit-code': 'Edit code',
|
|
7
|
-
'create-pull-request': 'Create pull requests', 'merge-pull-request': 'Merge pull requests',
|
|
8
|
-
'administer-system': 'Administer systems', 'control-browser': 'Control browser', 'send-message': 'Send messages',
|
|
9
|
-
};
|
|
10
3
|
const severityColor = {
|
|
11
|
-
critical: chalk.
|
|
12
|
-
high: chalk.hex('#
|
|
13
|
-
medium: chalk.yellow
|
|
14
|
-
low: chalk.cyan
|
|
4
|
+
critical: chalk.red.bold,
|
|
5
|
+
high: chalk.hex('#f59e0b').bold,
|
|
6
|
+
medium: chalk.yellow,
|
|
7
|
+
low: chalk.cyan,
|
|
15
8
|
info: chalk.gray,
|
|
16
9
|
};
|
|
10
|
+
const capabilityPriority = [
|
|
11
|
+
['deploy-production', 'deploy'],
|
|
12
|
+
['execute-shell', 'execute'],
|
|
13
|
+
['read-secrets', 'credentials'],
|
|
14
|
+
['administer-system', 'admin'],
|
|
15
|
+
['merge-pull-request', 'merge'],
|
|
16
|
+
['edit-code', 'edit'],
|
|
17
|
+
['write-files', 'file write'],
|
|
18
|
+
['delete-data', 'delete'],
|
|
19
|
+
['write-data', 'write'],
|
|
20
|
+
['read-files', 'file read'],
|
|
21
|
+
['manage-auth', 'identity'],
|
|
22
|
+
['control-browser', 'browser'],
|
|
23
|
+
['send-message', 'message'],
|
|
24
|
+
['network-access', 'network'],
|
|
25
|
+
['create-pull-request', 'pull requests'],
|
|
26
|
+
['execute-code', 'code'],
|
|
27
|
+
['read-data', 'read'],
|
|
28
|
+
];
|
|
17
29
|
function width() {
|
|
18
|
-
return Math.max(
|
|
30
|
+
return Math.max(36, Math.min(82, process.stdout.columns || 78));
|
|
31
|
+
}
|
|
32
|
+
function plural(value, singular, pluralForm = `${singular}s`) {
|
|
33
|
+
return value === 1 ? singular : pluralForm;
|
|
34
|
+
}
|
|
35
|
+
function wrap(text, indent = '', continuationIndent = indent) {
|
|
36
|
+
const firstWidth = Math.max(12, width() - indent.length);
|
|
37
|
+
const continuationWidth = Math.max(12, width() - continuationIndent.length);
|
|
38
|
+
const words = text.trim().split(/\s+/);
|
|
39
|
+
const lines = [];
|
|
40
|
+
let line = '';
|
|
41
|
+
let available = firstWidth;
|
|
42
|
+
for (const word of words) {
|
|
43
|
+
if (line && line.length + 1 + word.length > available) {
|
|
44
|
+
lines.push(`${lines.length === 0 ? indent : continuationIndent}${line}`);
|
|
45
|
+
line = word;
|
|
46
|
+
available = continuationWidth;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
line = line ? `${line} ${word}` : word;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (line)
|
|
53
|
+
lines.push(`${lines.length === 0 ? indent : continuationIndent}${line}`);
|
|
54
|
+
return lines;
|
|
19
55
|
}
|
|
20
|
-
function
|
|
21
|
-
return chalk.
|
|
56
|
+
function section(title) {
|
|
57
|
+
return ['', chalk.bold(title)];
|
|
22
58
|
}
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
|
|
59
|
+
function scoreLabel(score) {
|
|
60
|
+
if (score >= 80)
|
|
61
|
+
return { color: chalk.green, label: 'strong' };
|
|
62
|
+
if (score >= 55)
|
|
63
|
+
return { color: chalk.yellow, label: 'review' };
|
|
64
|
+
return { color: chalk.red, label: 'needs attention' };
|
|
26
65
|
}
|
|
27
|
-
function
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
chalk.bold(
|
|
31
|
-
];
|
|
32
|
-
if (item.serverNames.length)
|
|
33
|
-
lines.push('', ` ${chalk.gray(item.serverNames.length > 1 ? 'Servers:' : 'Server:')} ${item.serverNames.join(', ')}`);
|
|
34
|
-
if (item.toolNames.length === 1)
|
|
35
|
-
lines.push(` ${chalk.gray('Tool:')} ${item.toolNames[0]}`);
|
|
36
|
-
if (item.access.length) {
|
|
37
|
-
lines.push(` ${chalk.gray('Access:')}`);
|
|
38
|
-
for (const access of item.access)
|
|
39
|
-
lines.push(` ${chalk.hex('#a78bfa')('•')} ${access}`);
|
|
66
|
+
function postureLine(result, unavailable) {
|
|
67
|
+
const { summary } = result;
|
|
68
|
+
if (summary.tools === 0 && unavailable > 0) {
|
|
69
|
+
return `${chalk.yellow.bold('Posture unavailable')} ${chalk.gray('· tool inventories incomplete')}`;
|
|
40
70
|
}
|
|
41
|
-
|
|
42
|
-
|
|
71
|
+
const score = scoreLabel(summary.postureScore);
|
|
72
|
+
const suffix = unavailable > 0 ? 'partial coverage' : score.label;
|
|
73
|
+
return `${score.color(chalk.bold(`${summary.postureScore}/100`))} posture ${chalk.gray(`· ${suffix}`)}`;
|
|
74
|
+
}
|
|
75
|
+
function findingLines(item) {
|
|
76
|
+
const icon = item.severity === 'critical' ? '◆' : '▲';
|
|
77
|
+
const color = severityColor[item.severity];
|
|
78
|
+
const context = [item.serverNames.join(', '), item.toolNames.length === 1 ? item.toolNames[0] : undefined]
|
|
79
|
+
.filter(Boolean)
|
|
80
|
+
.join(' · ');
|
|
81
|
+
return [
|
|
82
|
+
'',
|
|
83
|
+
...wrap(`${icon} ${item.severity.toUpperCase()} ${item.title}`),
|
|
84
|
+
...(context ? wrap(context, ' ').map((line) => chalk.gray(line)) : []),
|
|
85
|
+
...wrap(item.why, ' '),
|
|
86
|
+
...wrap(`Fix: ${item.recommendation}`, ' ').map((line) => color(line)),
|
|
87
|
+
];
|
|
43
88
|
}
|
|
44
|
-
function
|
|
45
|
-
const
|
|
89
|
+
function shortCapabilities(capabilities) {
|
|
90
|
+
const set = new Set(capabilities);
|
|
91
|
+
const labels = capabilityPriority
|
|
92
|
+
.filter(([capability]) => set.has(capability))
|
|
93
|
+
.map(([, label]) => label);
|
|
94
|
+
return [...new Set(labels)].slice(0, 3).join(' · ') || 'inventory unavailable';
|
|
95
|
+
}
|
|
96
|
+
function accessLines(result) {
|
|
97
|
+
const lines = [];
|
|
46
98
|
for (const client of result.discovery.clients.filter((item) => item.detected)) {
|
|
47
|
-
|
|
48
|
-
|
|
99
|
+
lines.push('', chalk.bold(client.label));
|
|
100
|
+
const highestRisk = (serverId) => Math.max(0, ...result.tools
|
|
101
|
+
.filter((tool) => tool.serverId === serverId)
|
|
102
|
+
.map((tool) => tool.classification.riskScore));
|
|
103
|
+
const servers = result.discovery.servers
|
|
104
|
+
.filter((item) => item.client === client.id)
|
|
105
|
+
.sort((left, right) => highestRisk(right.id) - highestRisk(left.id));
|
|
106
|
+
if (servers.length === 0) {
|
|
107
|
+
lines.push(chalk.gray(' No enabled MCP servers'));
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
for (const server of servers.slice(0, 6)) {
|
|
49
111
|
const capabilities = [...new Set(result.tools
|
|
50
112
|
.filter((tool) => tool.serverId === server.id)
|
|
51
113
|
.flatMap((tool) => tool.classification.capabilities))];
|
|
52
|
-
const
|
|
53
|
-
|
|
114
|
+
const name = server.name.slice(0, 14).padEnd(14);
|
|
115
|
+
lines.push(` ${chalk.hex('#a78bfa')(name)}${shortCapabilities(capabilities)}`);
|
|
54
116
|
}
|
|
55
|
-
|
|
117
|
+
if (servers.length > 6)
|
|
118
|
+
lines.push(chalk.gray(` + ${servers.length - 6} more in the full report`));
|
|
56
119
|
}
|
|
57
|
-
return
|
|
120
|
+
return lines;
|
|
58
121
|
}
|
|
59
|
-
function
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
const color = score >= 80 ? chalk.green : score >= 55 ? chalk.yellow : chalk.red;
|
|
63
|
-
return `${color('█'.repeat(filled))}${chalk.gray('░'.repeat(slots - filled))} ${chalk.bold(String(score))}/100`;
|
|
122
|
+
function reportPath(path) {
|
|
123
|
+
const local = relative(process.cwd(), path);
|
|
124
|
+
return local && !local.startsWith('..') ? `./${local}` : path;
|
|
64
125
|
}
|
|
65
126
|
export function renderAudit(result) {
|
|
66
|
-
const summary = result
|
|
127
|
+
const { summary } = result;
|
|
128
|
+
const priority = result.findings.filter((finding) => finding.severity === 'critical' || finding.severity === 'high');
|
|
129
|
+
const otherFindings = result.findings.length - priority.length;
|
|
67
130
|
const unknown = result.tools.filter((tool) => tool.classification.source === 'unknown');
|
|
68
131
|
const failedProbes = result.probes.filter((probe) => probe.status !== 'ok');
|
|
69
132
|
const lines = [
|
|
70
133
|
'',
|
|
71
|
-
chalk.bold('
|
|
72
|
-
|
|
73
|
-
'',
|
|
74
|
-
`${chalk.green('✓')} Found ${summary.clientsDetected} agent client${summary.clientsDetected === 1 ? '' : 's'}`,
|
|
75
|
-
`${chalk.green('✓')} Found ${summary.servers} MCP server${summary.servers === 1 ? '' : 's'}`,
|
|
76
|
-
`${chalk.green('✓')} Retrieved ${summary.tools} tool definition${summary.tools === 1 ? '' : 's'}`,
|
|
77
|
-
`${chalk.green('✓')} Classified ${summary.classified} tool${summary.classified === 1 ? '' : 's'}`,
|
|
78
|
-
summary.unclassified > 0
|
|
79
|
-
? `${chalk.yellow('!')} ${summary.unclassified} tool${summary.unclassified === 1 ? '' : 's'} require review`
|
|
80
|
-
: `${chalk.green('✓')} Every retrieved tool is recognized`,
|
|
81
|
-
'',
|
|
82
|
-
divider(),
|
|
134
|
+
chalk.bold('Audit complete'),
|
|
135
|
+
postureLine(result, failedProbes.length),
|
|
83
136
|
'',
|
|
84
|
-
chalk.bold('
|
|
85
|
-
''
|
|
86
|
-
|
|
87
|
-
row('MCP servers', summary.servers),
|
|
88
|
-
row('Tools exposed', summary.tools),
|
|
89
|
-
row('Sensitive capabilities', summary.sensitiveCapabilities),
|
|
90
|
-
row('High-risk findings', summary.highRiskFindings),
|
|
91
|
-
row('Unclassified tools', summary.unclassified),
|
|
92
|
-
'',
|
|
93
|
-
`${'Security posture'.padEnd(22)}${postureBar(summary.postureScore)}`,
|
|
94
|
-
'',
|
|
95
|
-
divider(),
|
|
96
|
-
'',
|
|
97
|
-
chalk.bold('Needs attention'),
|
|
98
|
-
'',
|
|
99
|
-
result.findings.length ? result.findings.map(findingBlock).join(`\n\n${chalk.gray('·'.repeat(20))}\n\n`) : chalk.green('No correlated high-risk paths were identified.'),
|
|
100
|
-
'',
|
|
101
|
-
divider(),
|
|
102
|
-
'',
|
|
103
|
-
chalk.bold('Access overview'),
|
|
104
|
-
'',
|
|
105
|
-
accessOverview(result) || chalk.gray('No MCP access was discovered.'),
|
|
106
|
-
'',
|
|
107
|
-
divider(),
|
|
108
|
-
'',
|
|
109
|
-
chalk.bold('Classification coverage'),
|
|
110
|
-
'',
|
|
111
|
-
`${summary.classified} verified or recognized`,
|
|
112
|
-
`${String(summary.unclassified).padStart(String(summary.classified).length)} unknown`,
|
|
137
|
+
`${chalk.bold(String(summary.clientsDetected))} ${plural(summary.clientsDetected, 'client')} ${chalk.gray('·')} ${chalk.bold(String(summary.servers))} ${plural(summary.servers, 'server')} ${chalk.gray('·')} ${chalk.bold(String(summary.tools))} ${plural(summary.tools, 'tool')}`,
|
|
138
|
+
`${chalk.bold(String(summary.sensitiveCapabilities))} sensitive capabilities ${chalk.gray('·')} ${chalk.bold(String(summary.unclassified))} unclassified`,
|
|
139
|
+
...section('Priority findings'),
|
|
113
140
|
];
|
|
141
|
+
if (priority.length) {
|
|
142
|
+
for (const finding of priority.slice(0, 3))
|
|
143
|
+
lines.push(...findingLines(finding));
|
|
144
|
+
}
|
|
145
|
+
else if (failedProbes.length > 0) {
|
|
146
|
+
lines.push('', chalk.yellow('No high-risk paths found in the retrieved inventories.'), chalk.gray('Missing inventories prevent a complete assessment.'));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
lines.push('', chalk.green('✓ No critical or high-risk access paths found.'));
|
|
150
|
+
}
|
|
151
|
+
if (otherFindings > 0) {
|
|
152
|
+
lines.push('', chalk.gray(`${otherFindings} additional ${plural(otherFindings, 'finding')} included in the full report.`));
|
|
153
|
+
}
|
|
154
|
+
lines.push(...section('Access by client'), ...accessLines(result));
|
|
114
155
|
if (unknown.length) {
|
|
115
|
-
|
|
156
|
+
const visibleUnknown = unknown.slice(0, 8);
|
|
157
|
+
lines.push(...section(`Unclassified tools (${unknown.length})`), '', ...wrap(visibleUnknown.map((tool) => tool.name).join(' · '), ' '), ...(unknown.length > visibleUnknown.length
|
|
158
|
+
? [chalk.gray(` + ${unknown.length - visibleUnknown.length} more in the full report`)]
|
|
159
|
+
: []), ...wrap('Treated as potentially sensitive until reviewed.', ' ').map((line) => chalk.gray(line)));
|
|
116
160
|
}
|
|
117
161
|
if (failedProbes.length) {
|
|
118
|
-
lines.push(
|
|
162
|
+
lines.push(...section(`Tool inventories unavailable (${failedProbes.length})`));
|
|
163
|
+
for (const probe of failedProbes.slice(0, 4)) {
|
|
119
164
|
const server = result.discovery.servers.find((item) => item.id === probe.serverId);
|
|
120
|
-
|
|
121
|
-
}
|
|
165
|
+
lines.push(...wrap(`${server?.clientLabel || 'Client'} / ${server?.name || probe.serverId}: ${probe.message || probe.status}`, ' '));
|
|
166
|
+
}
|
|
167
|
+
if (failedProbes.length > 4)
|
|
168
|
+
lines.push(chalk.gray(` + ${failedProbes.length - 4} more in the full report`));
|
|
122
169
|
}
|
|
123
|
-
lines.push('',
|
|
170
|
+
lines.push(...section('Saved locally'), ...(result.reportPath ? ['', chalk.cyan(reportPath(result.reportPath))] : ['', chalk.gray('HTML report disabled for this run.')]), '', ...wrap('Scope: declared MCP tools only. No tools called, prompts analyzed, files read, or credentials inspected.').map((line) => chalk.gray(line)), ...section('Optional next step'), '', ...wrap('Add approvals and role-scoped access when you are ready:'), chalk.cyan.underline('https://slaunt.ai/setup'));
|
|
124
171
|
if (result.discovery.warnings.length) {
|
|
125
|
-
lines.push('
|
|
172
|
+
lines.push(...section('Notes'));
|
|
173
|
+
for (const warning of result.discovery.warnings.slice(0, 3))
|
|
174
|
+
lines.push(...wrap(warning, ' ').map((line) => chalk.gray(line)));
|
|
175
|
+
if (result.discovery.warnings.length > 3)
|
|
176
|
+
lines.push(chalk.gray(` + ${result.discovery.warnings.length - 3} more in the full report`));
|
|
126
177
|
}
|
|
127
178
|
return lines.join('\n');
|
|
128
179
|
}
|
|
129
180
|
export function renderHeader() {
|
|
130
|
-
return
|
|
181
|
+
return `${chalk.bold.hex('#a78bfa')('SLAUNT')} ${chalk.gray('· agent access audit')}\n${chalk.gray('Local analysis · no audit payload uploaded')}`;
|
|
131
182
|
}
|
|
132
183
|
//# sourceMappingURL=render.js.map
|
package/dist/tui/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/tui/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,gBAAgB,GAA+B;IACnD,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;IAChF,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc;IAC1F,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB;IACzG,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW;IACpG,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB;IAC1F,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe;CACjH,CAAC;AAEF,MAAM,aAAa,GAAgD;IACjE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;IAChC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI;IAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;IACzB,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;IACpB,IAAI,EAAE,KAAK,CAAC,IAAI;CACjB,CAAC;AAEF,SAAS,KAAK;IACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,OAAO,CAAC,SAAS,GAAG,GAAG;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;AACjH,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,MAAM,KAAK,GAAG;QACZ,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACvB,CAAC;IACF,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpJ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC3H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,MAAmB;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1F,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK;qBAC1C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC;qBAC7C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC1L,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACjF,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAa;QACtB,EAAE;QACF,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC;QAC/E,EAAE;QACF,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,eAAe,gBAAgB,OAAO,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QAC9G,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,OAAO,cAAc,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QAC5F,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,KAAK,mBAAmB,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QACjG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,UAAU,QAAQ,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QACjG,OAAO,CAAC,YAAY,GAAG,CAAC;YACtB,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,YAAY,QAAQ,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB;YAC5G,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC;QAC5D,EAAE;QACF,OAAO,EAAE;QACT,EAAE;QACF,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3B,EAAE;QACF,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,eAAe,CAAC;QAChD,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;QACnC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC;QACnC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,qBAAqB,CAAC;QAC5D,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QACnD,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC;QAC/C,EAAE;QACF,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACrE,EAAE;QACF,OAAO,EAAE;QACT,EAAE;QACF,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC7B,EAAE;QACF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC;QACxK,EAAE;QACF,OAAO,EAAE;QACT,EAAE;QACF,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC7B,EAAE;QACF,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC;QACrE,EAAE;QACF,OAAO,EAAE;QACT,EAAE;QACF,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACrC,EAAE;QACF,GAAG,OAAO,CAAC,UAAU,yBAAyB;QAC9C,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU;KACtF,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC,CAAC;IAC1L,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3F,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnF,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,WAAW,IAAI,QAAQ,MAAM,MAAM,EAAE,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3I,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,OAAO,EAAE,EACT,EAAE,EACF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EACzB,EAAE,EACF,uEAAuE,EACvE,kFAAkF,EAClF,uEAAuE,EACvE,EAAE,EACF,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACrD,EAAE,EACF,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,EAC1D,0EAA0E,EAC1E,yDAAyD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,EACpG,EAAE,EACF,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gCAAgC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAC1G,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,EAAE,CAAC;AAC3I,CAAC"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/tui/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slaunt",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Privacy-first MCP agent access auditor for Claude and Codex",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"check": "tsc --noEmit",
|
|
17
17
|
"test": "npm run build && vitest run",
|
|
18
18
|
"test:watch": "vitest",
|
|
19
|
-
"audit:demo": "npm run build && node dist/cli.js audit --demo
|
|
19
|
+
"audit:demo": "npm run build && node dist/cli.js audit --demo",
|
|
20
20
|
"prepublishOnly": "npm run check && npm test"
|
|
21
21
|
},
|
|
22
22
|
"engines": {
|