supasec 1.0.2 ā 1.0.4
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 +1 -1
- package/dist/commands/scan.d.ts +1 -0
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +186 -15
- package/dist/commands/scan.js.map +1 -1
- package/dist/models/scan-result.d.ts +8 -0
- package/dist/models/scan-result.d.ts.map +1 -1
- package/dist/models/scan-result.js.map +1 -1
- package/dist/reporters/html.d.ts +18 -0
- package/dist/reporters/html.d.ts.map +1 -0
- package/dist/reporters/html.js +946 -0
- package/dist/reporters/html.js.map +1 -0
- package/dist/reporters/index.d.ts +2 -0
- package/dist/reporters/index.d.ts.map +1 -1
- package/dist/reporters/index.js +2 -0
- package/dist/reporters/index.js.map +1 -1
- package/dist/reporters/terminal.d.ts.map +1 -1
- package/dist/reporters/terminal.js +9 -0
- package/dist/reporters/terminal.js.map +1 -1
- package/dist/scanners/secrets/detector.d.ts.map +1 -1
- package/dist/scanners/secrets/detector.js +6 -2
- package/dist/scanners/secrets/detector.js.map +1 -1
- package/package.json +1 -1
- package/PUBLISHING.md +0 -51
package/README.md
CHANGED
|
@@ -126,7 +126,7 @@ SupaSec performs comprehensive security checks across multiple categories:
|
|
|
126
126
|
## š Example Output
|
|
127
127
|
|
|
128
128
|
```
|
|
129
|
-
š SupaSec - Supabase Security Audit v1.0.
|
|
129
|
+
š SupaSec - Supabase Security Audit v1.0.4
|
|
130
130
|
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
131
131
|
|
|
132
132
|
šÆ Target: https://myapp.com
|
package/dist/commands/scan.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyB1D"}
|
package/dist/commands/scan.js
CHANGED
|
@@ -42,10 +42,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
exports.registerScanCommand = registerScanCommand;
|
|
44
44
|
const ora_1 = __importDefault(require("ora"));
|
|
45
|
+
const path_1 = __importDefault(require("path"));
|
|
45
46
|
const detector_js_1 = require("../scanners/secrets/detector.js");
|
|
46
47
|
const analyzer_js_1 = require("../scanners/rls/analyzer.js");
|
|
47
48
|
const index_js_1 = require("../models/index.js");
|
|
48
49
|
const terminal_js_1 = require("../reporters/terminal.js");
|
|
50
|
+
const html_js_1 = require("../reporters/html.js");
|
|
49
51
|
const fs = __importStar(require("fs/promises"));
|
|
50
52
|
/**
|
|
51
53
|
* Register the scan command
|
|
@@ -66,6 +68,7 @@ function registerScanCommand(program) {
|
|
|
66
68
|
.option('-d, --deep', 'Perform deep scan (slower, more thorough)')
|
|
67
69
|
.option('-q, --quiet', 'Suppress non-error output')
|
|
68
70
|
.option('--no-color', 'Disable colored output')
|
|
71
|
+
.option('--mask', 'Mask the target URL in reports (for sharing screenshots)')
|
|
69
72
|
.action(async (target, options) => {
|
|
70
73
|
try {
|
|
71
74
|
await executeScan(target, options);
|
|
@@ -81,7 +84,7 @@ function registerScanCommand(program) {
|
|
|
81
84
|
*/
|
|
82
85
|
async function executeScan(target, options) {
|
|
83
86
|
const startTime = Date.now();
|
|
84
|
-
// Create initial result
|
|
87
|
+
// Create initial result (use original target for scanning, mask later for display)
|
|
85
88
|
const result = (0, index_js_1.createEmptyScanResult)(target, options.local ? 'local' : options.projectUrl ? 'project' : 'url');
|
|
86
89
|
const spinner = options.quiet ? null : (0, ora_1.default)('Initializing scan...').start();
|
|
87
90
|
try {
|
|
@@ -90,10 +93,10 @@ async function executeScan(target, options) {
|
|
|
90
93
|
if (spinner)
|
|
91
94
|
spinner.text = 'Scanning for exposed secrets...';
|
|
92
95
|
// Simulate scanning JavaScript content (in real implementation, this would fetch from URL)
|
|
93
|
-
const mockJsContent = `
|
|
94
|
-
const supabaseUrl = 'https://example.supabase.co';
|
|
95
|
-
const supabaseKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiJ9...';
|
|
96
|
-
// TODO: Remove before production - sk_live_1234567890abcdef
|
|
96
|
+
const mockJsContent = `
|
|
97
|
+
const supabaseUrl = 'https://example.supabase.co';
|
|
98
|
+
const supabaseKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiJ9...';
|
|
99
|
+
// TODO: Remove before production - sk_live_1234567890abcdef
|
|
97
100
|
`;
|
|
98
101
|
const secretsResult = await (0, detector_js_1.scanForSecrets)({
|
|
99
102
|
content: mockJsContent,
|
|
@@ -152,6 +155,11 @@ async function executeScan(target, options) {
|
|
|
152
155
|
}
|
|
153
156
|
// Add findings to result
|
|
154
157
|
result.findings = allFindings;
|
|
158
|
+
// Apply mask to findings and target URL if mask option is enabled
|
|
159
|
+
if (options.mask) {
|
|
160
|
+
result.findings = applyMaskToFindings(result.findings, true);
|
|
161
|
+
result.scan_metadata.target_url = maskUrl(target);
|
|
162
|
+
}
|
|
155
163
|
// Add some passed checks for demonstration
|
|
156
164
|
result.passed_checks = [
|
|
157
165
|
{
|
|
@@ -200,22 +208,182 @@ async function executeScan(target, options) {
|
|
|
200
208
|
throw error;
|
|
201
209
|
}
|
|
202
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Mask URL for privacy (e.g., for sharing screenshots)
|
|
213
|
+
* Format: aud****.app (show first 3 chars, mask middle, show TLD)
|
|
214
|
+
*/
|
|
215
|
+
function maskUrl(url) {
|
|
216
|
+
try {
|
|
217
|
+
const urlObj = new URL(url);
|
|
218
|
+
const hostname = urlObj.hostname;
|
|
219
|
+
return maskDomain(hostname) + urlObj.pathname;
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
// If not a full URL, treat as domain
|
|
223
|
+
return maskDomain(url);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Mask a domain name: aud****.app (first 3 chars + masked middle + TLD)
|
|
228
|
+
*/
|
|
229
|
+
function maskDomain(domain) {
|
|
230
|
+
const parts = domain.split('.');
|
|
231
|
+
if (parts.length < 2) {
|
|
232
|
+
// Single part domain, just mask it
|
|
233
|
+
if (domain.length <= 3)
|
|
234
|
+
return '*'.repeat(domain.length);
|
|
235
|
+
return domain.slice(0, 3) + '*'.repeat(Math.max(1, domain.length - 3));
|
|
236
|
+
}
|
|
237
|
+
// Multi-part domain: mask the main part, keep TLD
|
|
238
|
+
const mainPart = parts[0];
|
|
239
|
+
const tld = parts[parts.length - 1];
|
|
240
|
+
if (mainPart.length <= 3) {
|
|
241
|
+
// If main part is 3 chars or less, mask it completely
|
|
242
|
+
return '*'.repeat(mainPart.length) + '.' + tld;
|
|
243
|
+
}
|
|
244
|
+
// Show first 3 chars, mask the rest
|
|
245
|
+
const masked = mainPart.slice(0, 3) + '*'.repeat(mainPart.length - 3);
|
|
246
|
+
return masked + '.' + tld;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Mask URLs in a string (for findings and descriptions)
|
|
250
|
+
* Also masks simple domain names like "audityour.app"
|
|
251
|
+
*/
|
|
252
|
+
function maskUrlsInText(text) {
|
|
253
|
+
if (!text)
|
|
254
|
+
return text;
|
|
255
|
+
// First, match full URLs like https://example.com, http://test.org, etc.
|
|
256
|
+
const fullUrlPattern = /https?:\/\/[^\s\)\"\'\>\<]+/gi;
|
|
257
|
+
let masked = text.replace(fullUrlPattern, (match) => {
|
|
258
|
+
try {
|
|
259
|
+
const url = new URL(match);
|
|
260
|
+
return `${url.protocol}//${maskDomain(url.hostname)}${url.pathname}`;
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
// If URL parsing fails, just mask it
|
|
264
|
+
return 'ht******.***';
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
// Then, mask simple domain names that look like "domain.tld" (e.g., audityour.app)
|
|
268
|
+
// This pattern matches domain-like strings but avoids matching file paths or code
|
|
269
|
+
const domainPattern = /\b([a-z0-9-]+)\.(com|org|net|io|co|app|dev|ai|tech|info|biz|us|uk|eu|app)\b/gi;
|
|
270
|
+
masked = masked.replace(domainPattern, (match) => maskDomain(match));
|
|
271
|
+
return masked;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Apply mask to findings if mask option is enabled
|
|
275
|
+
*/
|
|
276
|
+
function applyMaskToFindings(findings, shouldMask) {
|
|
277
|
+
if (!shouldMask) {
|
|
278
|
+
return findings;
|
|
279
|
+
}
|
|
280
|
+
return findings.map(finding => {
|
|
281
|
+
const maskedFinding = { ...finding };
|
|
282
|
+
// Mask URL in description
|
|
283
|
+
if (maskedFinding.description) {
|
|
284
|
+
maskedFinding.description = maskUrlsInText(maskedFinding.description);
|
|
285
|
+
}
|
|
286
|
+
// Mask URL in location.file
|
|
287
|
+
if (maskedFinding.location?.file) {
|
|
288
|
+
maskedFinding.location = {
|
|
289
|
+
...maskedFinding.location,
|
|
290
|
+
file: maskUrlsInText(maskedFinding.location.file)
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
// Mask URL in location.url
|
|
294
|
+
if (maskedFinding.location?.url) {
|
|
295
|
+
maskedFinding.location = {
|
|
296
|
+
...maskedFinding.location,
|
|
297
|
+
url: maskUrlsInText(maskedFinding.location.url)
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
// Mask URL in evidence.code_snippet
|
|
301
|
+
if (maskedFinding.evidence?.code_snippet) {
|
|
302
|
+
maskedFinding.evidence = {
|
|
303
|
+
...maskedFinding.evidence,
|
|
304
|
+
code_snippet: maskUrlsInText(maskedFinding.evidence.code_snippet)
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
// Mask URL in impact description
|
|
308
|
+
if (maskedFinding.impact?.description) {
|
|
309
|
+
maskedFinding.impact = {
|
|
310
|
+
...maskedFinding.impact,
|
|
311
|
+
description: maskUrlsInText(maskedFinding.impact.description)
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
// Mask URL in remediation steps
|
|
315
|
+
if (maskedFinding.remediation?.steps) {
|
|
316
|
+
maskedFinding.remediation = {
|
|
317
|
+
...maskedFinding.remediation,
|
|
318
|
+
steps: maskedFinding.remediation.steps.map(step => ({
|
|
319
|
+
...step,
|
|
320
|
+
action: maskUrlsInText(step.action),
|
|
321
|
+
code: step.code ? maskUrlsInText(step.code) : step.code,
|
|
322
|
+
command: step.command ? maskUrlsInText(step.command) : step.command
|
|
323
|
+
}))
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
return maskedFinding;
|
|
327
|
+
});
|
|
328
|
+
}
|
|
203
329
|
/**
|
|
204
330
|
* Output scan results based on format
|
|
205
331
|
*/
|
|
332
|
+
/**
|
|
333
|
+
* Generate report filename with domain and timestamp
|
|
334
|
+
*/
|
|
335
|
+
function generateReportFilename(targetUrl, scanId) {
|
|
336
|
+
try {
|
|
337
|
+
// Extract domain from URL - handle URLs without protocol
|
|
338
|
+
let urlString = targetUrl;
|
|
339
|
+
if (!urlString.startsWith('http://') && !urlString.startsWith('https://')) {
|
|
340
|
+
urlString = 'https://' + urlString;
|
|
341
|
+
}
|
|
342
|
+
const url = new URL(urlString);
|
|
343
|
+
const domain = url.hostname.replace(/[^a-zA-Z0-9]/g, '-');
|
|
344
|
+
// Extract date from scanId (scan_2026-01-28T16-28-04 -> 2026-01-28)
|
|
345
|
+
const dateMatch = scanId.match(/(\d{4}-\d{2}-\d{2})/);
|
|
346
|
+
const date = dateMatch ? dateMatch[1] : new Date().toISOString().split('T')[0];
|
|
347
|
+
// Extract time from scanId
|
|
348
|
+
const timeMatch = scanId.match(/T(\d{2}-\d{2}-\d{2})/);
|
|
349
|
+
const time = timeMatch ? timeMatch[1] : new Date().toTimeString().split(' ')[0].replace(/:/g, '-');
|
|
350
|
+
return `supasec-${domain}-${date}-${time}`;
|
|
351
|
+
}
|
|
352
|
+
catch {
|
|
353
|
+
// Fallback if URL parsing fails - use the raw target
|
|
354
|
+
const cleanTarget = targetUrl.replace(/[^a-zA-Z0-9]/g, '-').substring(0, 50);
|
|
355
|
+
const date = new Date().toISOString().split('T')[0];
|
|
356
|
+
const time = new Date().toTimeString().split(' ')[0].replace(/:/g, '-');
|
|
357
|
+
return `supasec-${cleanTarget}-${date}-${time}`;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
206
360
|
async function outputResults(result, options) {
|
|
207
361
|
const format = options.format || 'terminal';
|
|
362
|
+
// Ensure reports folder exists
|
|
363
|
+
const reportsDir = './reports';
|
|
364
|
+
try {
|
|
365
|
+
await fs.mkdir(reportsDir, { recursive: true });
|
|
366
|
+
}
|
|
367
|
+
catch (error) {
|
|
368
|
+
// Ignore if already exists
|
|
369
|
+
}
|
|
370
|
+
// Generate filename with domain
|
|
371
|
+
const baseFilename = generateReportFilename(result.scan_metadata.target_url, result.scan_metadata.scan_id);
|
|
208
372
|
switch (format) {
|
|
209
373
|
case 'json':
|
|
210
374
|
const jsonOutput = JSON.stringify(result, null, 2);
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}
|
|
375
|
+
const jsonFile = options.output || path_1.default.join(reportsDir, `${baseFilename}.json`);
|
|
376
|
+
await fs.writeFile(jsonFile, jsonOutput, 'utf-8');
|
|
377
|
+
if (!options.quiet) {
|
|
378
|
+
console.log(`\nā
JSON report saved to ${jsonFile}`);
|
|
216
379
|
}
|
|
217
|
-
|
|
218
|
-
|
|
380
|
+
break;
|
|
381
|
+
case 'html':
|
|
382
|
+
const htmlReport = (0, html_js_1.generateHTMLReport)(result);
|
|
383
|
+
const htmlFile = options.output || path_1.default.join(reportsDir, `${baseFilename}.html`);
|
|
384
|
+
await fs.writeFile(htmlFile, htmlReport, 'utf-8');
|
|
385
|
+
if (!options.quiet) {
|
|
386
|
+
console.log(`\nā
HTML report saved to ${htmlFile}`);
|
|
219
387
|
}
|
|
220
388
|
break;
|
|
221
389
|
case 'terminal':
|
|
@@ -226,9 +394,12 @@ async function outputResults(result, options) {
|
|
|
226
394
|
compact: false,
|
|
227
395
|
noColor: options.noColor
|
|
228
396
|
});
|
|
229
|
-
//
|
|
230
|
-
const
|
|
231
|
-
await fs.writeFile(
|
|
397
|
+
// Default: only save HTML report
|
|
398
|
+
const defaultHtmlFile = path_1.default.join(reportsDir, `${baseFilename}.html`);
|
|
399
|
+
await fs.writeFile(defaultHtmlFile, (0, html_js_1.generateHTMLReport)(result), 'utf-8');
|
|
400
|
+
if (!options.quiet) {
|
|
401
|
+
console.log(`\nā
HTML report saved to ${defaultHtmlFile}`);
|
|
402
|
+
}
|
|
232
403
|
break;
|
|
233
404
|
}
|
|
234
405
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,13 @@ export interface Recommendations {
|
|
|
67
67
|
security_best_practices: string[];
|
|
68
68
|
next_steps: string[];
|
|
69
69
|
}
|
|
70
|
+
export interface EndpointInfo {
|
|
71
|
+
path: string;
|
|
72
|
+
status: 'At Risk' | 'Review' | 'Secure';
|
|
73
|
+
readable: 'warning' | 'ok';
|
|
74
|
+
writable: 'warning' | 'ok';
|
|
75
|
+
sensitive: string;
|
|
76
|
+
}
|
|
70
77
|
export interface ScanResult {
|
|
71
78
|
scan_metadata: ScanMetadata;
|
|
72
79
|
project_info: ProjectInfo;
|
|
@@ -75,6 +82,7 @@ export interface ScanResult {
|
|
|
75
82
|
passed_checks: PassedCheck[];
|
|
76
83
|
grading: GradingConfig;
|
|
77
84
|
recommendations: Recommendations;
|
|
85
|
+
endpoints?: EndpointInfo[];
|
|
78
86
|
}
|
|
79
87
|
/**
|
|
80
88
|
* Calculate overall security grade based on score
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-result.d.ts","sourceRoot":"","sources":["../../src/models/scan-result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACjD,mBAAmB,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,gBAAgB,EAAE;QAChB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,YAAY,CAAC;IAC5B,YAAY,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"scan-result.d.ts","sourceRoot":"","sources":["../../src/models/scan-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-result.js","sourceRoot":"","sources":["../../src/models/scan-result.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"scan-result.js","sourceRoot":"","sources":["../../src/models/scan-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML Reporter
|
|
3
|
+
* Generates detailed HTML reports matching the Supascan.io style
|
|
4
|
+
*/
|
|
5
|
+
import { ScanResult } from '../models/scan-result.js';
|
|
6
|
+
export interface HTMLReportOptions {
|
|
7
|
+
title?: string;
|
|
8
|
+
includeDetails?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Generate HTML report from scan result
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateHTMLReport(result: ScanResult, options?: HTMLReportOptions): string;
|
|
14
|
+
/**
|
|
15
|
+
* Save HTML report to file
|
|
16
|
+
*/
|
|
17
|
+
export declare function saveHTMLReport(result: ScanResult, filePath: string, options?: HTMLReportOptions): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=html.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/reporters/html.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAinBR;AA+TD;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIf"}
|