secureflow-cli 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,76 +1,43 @@
1
1
  /**
2
- * Alternative Export Formatters for SecureFlow CLI (#811)
2
+ * Unified Exporters for SecureFlow CLI (#1095)
3
3
  *
4
- * Provides CSV and HTML report generation for stakeholders who do not use
5
- * SARIF viewers. Both formatters are zero-dependency, using pure string
6
- * templates to keep the CLI lightweight.
7
- *
8
- * PDF generation was intentionally not added because it would introduce a
9
- * heavyweight PDF-generation dependency (e.g. pdfkit, puppeteer). HTML
10
- * provides a portable report that users can directly print/save as PDF
11
- * from any browser.
4
+ * Provides a common Exporter interface and formatters for CSV, Markdown,
5
+ * HTML, and SARIF formats with robust security escaping and formula injection prevention.
12
6
  */
13
7
  import type { FileScanResult } from "./scanner.js";
14
8
  /**
15
- * Escapes a value for safe embedding in a CSV cell per RFC 4180.
16
- *
17
- * - A value starting with a formula trigger is prefixed with `'`, so Excel, LibreOffice and
18
- * Google Sheets show it as text instead of running it (CWE-1236). The cells hold file paths
19
- * and source lines from the scanned commit, which anyone who can open a PR controls.
20
- * - If the value contains a comma, double-quote, or newline, the entire value
21
- * is wrapped in double-quotes.
22
- * - Any internal double-quotes are doubled (`"` → `""`).
9
+ * Escapes a value for safe embedding in a CSV cell per RFC 4180 and CWE-1236.
23
10
  */
24
11
  export declare function escapeCsv(value: string): string;
25
12
  /**
26
- * Escapes special HTML characters to prevent XSS when embedding untrusted
27
- * content (e.g. source code snippets) in generated HTML reports.
13
+ * Escapes special HTML characters to prevent XSS.
28
14
  */
29
15
  export declare function escapeHtml(value: string): string;
30
16
  /**
31
- * Escapes characters that break Markdown table syntax (pipes, backslashes, and line breaks).
17
+ * Escapes characters that break Markdown table syntax.
32
18
  */
33
19
  export declare function escapeMarkdownTable(value: string): string;
34
20
  /**
35
- * Wraps a value in a Markdown code span that survives the content it holds.
36
- *
37
- * Two things went wrong with a fixed pair of backticks around scanned source:
38
- *
39
- * - A backtick in the value closes the span early. Template literals are the
40
- * common case, and a line that logs an interpolated token is exactly what
41
- * this scanner flags, so the tail of the line rendered as prose.
42
- * - Backslashes must not be doubled. A code span's contents are literal, so
43
- * the escaping used for plain cells shows up on the page: a Windows path
44
- * came out with two backslashes where the source had one.
45
- *
46
- * The fence is therefore one backtick longer than the longest run inside the
47
- * value (CommonMark 6.1), the value is padded when it would otherwise start or
48
- * end with a backtick, and only the pipe is escaped: GFM resolves it while
49
- * splitting cells, before code spans are parsed, so it is the one escape that
50
- * still works in here.
21
+ * Wraps a value in a Markdown code span.
51
22
  */
52
23
  export declare function toMarkdownCodeSpan(value: string): string;
53
- /**
54
- * Formats scan results as a CSV string.
55
- *
56
- * Columns: `File`, `Line`, `Violation`, `Reason`
57
- *
58
- * All cell values are escaped per RFC 4180 so embedded commas, quotes, and
59
- * newlines do not corrupt the output.
60
- */
61
- export declare function formatCsv(results: FileScanResult[]): string;
62
- /**
63
- * Generates a self-contained, styled HTML report of scan results.
64
- *
65
- * The document includes inline CSS so it can be opened directly in a browser
66
- * or printed / saved as PDF without any external assets.
67
- *
68
- * All untrusted content (file paths, source snippets, reasons) is
69
- * HTML-escaped to prevent XSS.
70
- */
71
- export declare function formatHtml(results: FileScanResult[]): string;
72
- /**
73
- * Formats scan results as a GitHub-flavored Markdown report.
74
- */
75
- export declare function formatMarkdown(results: FileScanResult[]): string;
24
+ export interface Exporter {
25
+ export(results: FileScanResult[]): string;
26
+ }
27
+ export declare class CsvExporter implements Exporter {
28
+ export(results: FileScanResult[]): string;
29
+ }
30
+ export declare class MarkdownExporter implements Exporter {
31
+ export(results: FileScanResult[]): string;
32
+ }
33
+ export declare class HtmlExporter implements Exporter {
34
+ export(results: FileScanResult[]): string;
35
+ }
36
+ export declare class SarifExporter implements Exporter {
37
+ export(results: FileScanResult[]): string;
38
+ }
39
+ /**
40
+ * Factory function to get the appropriate exporter instance (#1095).
41
+ */
42
+ export declare function getExporter(format: string): Exporter;
76
43
  //# sourceMappingURL=exporters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAcnD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWxD;AAQD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAY3D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CA4G5D;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAgChE"}
1
+ {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AASnD;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxD;AAMD,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;CAC3C;AAED,qBAAa,WAAY,YAAW,QAAQ;IAC1C,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM;CAa1C;AAED,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM;CAiC1C;AAED,qBAAa,YAAa,YAAW,QAAQ;IAC3C,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM;CA+E1C;AAED,qBAAa,aAAc,YAAW,QAAQ;IAC5C,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM;CAG1C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAcpD"}
package/dist/exporters.js CHANGED
@@ -1,34 +1,16 @@
1
1
  /**
2
- * Alternative Export Formatters for SecureFlow CLI (#811)
2
+ * Unified Exporters for SecureFlow CLI (#1095)
3
3
  *
4
- * Provides CSV and HTML report generation for stakeholders who do not use
5
- * SARIF viewers. Both formatters are zero-dependency, using pure string
6
- * templates to keep the CLI lightweight.
7
- *
8
- * PDF generation was intentionally not added because it would introduce a
9
- * heavyweight PDF-generation dependency (e.g. pdfkit, puppeteer). HTML
10
- * provides a portable report that users can directly print/save as PDF
11
- * from any browser.
4
+ * Provides a common Exporter interface and formatters for CSV, Markdown,
5
+ * HTML, and SARIF formats with robust security escaping and formula injection prevention.
12
6
  */
7
+ import { formatSarifJson } from "./sarif.js";
13
8
  // ---------------------------------------------------------------------------
14
- // Escape helpers
9
+ // Escape helpers (from main branch)
15
10
  // ---------------------------------------------------------------------------
16
- /**
17
- * Leading characters that make a spreadsheet evaluate a cell as a formula.
18
- *
19
- * Same set as the server-side exporter (`src/lib/utils/csv.ts`). A leading TAB or CR is
20
- * stripped by some importers, exposing the character after it.
21
- */
22
11
  const FORMULA_TRIGGERS = ["=", "+", "-", "@", "\t", "\r"];
23
12
  /**
24
- * Escapes a value for safe embedding in a CSV cell per RFC 4180.
25
- *
26
- * - A value starting with a formula trigger is prefixed with `'`, so Excel, LibreOffice and
27
- * Google Sheets show it as text instead of running it (CWE-1236). The cells hold file paths
28
- * and source lines from the scanned commit, which anyone who can open a PR controls.
29
- * - If the value contains a comma, double-quote, or newline, the entire value
30
- * is wrapped in double-quotes.
31
- * - Any internal double-quotes are doubled (`"` → `""`).
13
+ * Escapes a value for safe embedding in a CSV cell per RFC 4180 and CWE-1236.
32
14
  */
33
15
  export function escapeCsv(value) {
34
16
  const text = FORMULA_TRIGGERS.some((trigger) => value.startsWith(trigger)) ? `'${value}` : value;
@@ -38,8 +20,7 @@ export function escapeCsv(value) {
38
20
  return text;
39
21
  }
40
22
  /**
41
- * Escapes special HTML characters to prevent XSS when embedding untrusted
42
- * content (e.g. source code snippets) in generated HTML reports.
23
+ * Escapes special HTML characters to prevent XSS.
43
24
  */
44
25
  export function escapeHtml(value) {
45
26
  return value
@@ -50,205 +31,157 @@ export function escapeHtml(value) {
50
31
  .replace(/'/g, "'");
51
32
  }
52
33
  /**
53
- * Escapes characters that break Markdown table syntax (pipes, backslashes, and line breaks).
34
+ * Escapes characters that break Markdown table syntax.
54
35
  */
55
36
  export function escapeMarkdownTable(value) {
56
37
  return value.replace(/\\/g, "\\\\").replace(/\|/g, "\\|").replace(/\r?\n/g, "<br>");
57
38
  }
58
39
  /**
59
- * Wraps a value in a Markdown code span that survives the content it holds.
60
- *
61
- * Two things went wrong with a fixed pair of backticks around scanned source:
62
- *
63
- * - A backtick in the value closes the span early. Template literals are the
64
- * common case, and a line that logs an interpolated token is exactly what
65
- * this scanner flags, so the tail of the line rendered as prose.
66
- * - Backslashes must not be doubled. A code span's contents are literal, so
67
- * the escaping used for plain cells shows up on the page: a Windows path
68
- * came out with two backslashes where the source had one.
69
- *
70
- * The fence is therefore one backtick longer than the longest run inside the
71
- * value (CommonMark 6.1), the value is padded when it would otherwise start or
72
- * end with a backtick, and only the pipe is escaped: GFM resolves it while
73
- * splitting cells, before code spans are parsed, so it is the one escape that
74
- * still works in here.
40
+ * Wraps a value in a Markdown code span.
75
41
  */
76
42
  export function toMarkdownCodeSpan(value) {
77
- // A newline cannot appear in a table cell, and a code span renders one as a
78
- // space in any case, so collapse it rather than emitting a <br> that would
79
- // show up literally.
80
43
  const text = value.replace(/\r?\n/g, " ").replace(/\|/g, "\\|");
81
44
  const runs = [...text.matchAll(/`+/g)].map((m) => m[0].length);
82
45
  const fence = "`".repeat(Math.max(0, ...runs) + 1);
83
46
  const padding = text.startsWith("`") || text.endsWith("`") ? " " : "";
84
47
  return `${fence}${padding}${text}${padding}${fence}`;
85
48
  }
86
- // ---------------------------------------------------------------------------
87
- // CSV formatter
88
- // ---------------------------------------------------------------------------
89
- const CSV_HEADERS = "File,Line,Violation,Reason";
90
- /**
91
- * Formats scan results as a CSV string.
92
- *
93
- * Columns: `File`, `Line`, `Violation`, `Reason`
94
- *
95
- * All cell values are escaped per RFC 4180 so embedded commas, quotes, and
96
- * newlines do not corrupt the output.
97
- */
98
- export function formatCsv(results) {
99
- const rows = [CSV_HEADERS];
100
- for (const file of results) {
101
- for (const v of file.violations) {
102
- rows.push([escapeCsv(file.path), String(v.line), escapeCsv(v.text), escapeCsv(v.reason)].join(","));
49
+ export class CsvExporter {
50
+ export(results) {
51
+ const CSV_HEADERS = "File,Line,Violation,Reason";
52
+ const rows = [CSV_HEADERS];
53
+ for (const file of results) {
54
+ for (const v of file.violations) {
55
+ rows.push([escapeCsv(file.path), String(v.line), escapeCsv(v.text), escapeCsv(v.reason)].join(","));
56
+ }
103
57
  }
58
+ return rows.join("\n") + "\n";
104
59
  }
105
- return rows.join("\n") + "\n";
106
60
  }
107
- // ---------------------------------------------------------------------------
108
- // HTML formatter
109
- // ---------------------------------------------------------------------------
110
- /**
111
- * Generates a self-contained, styled HTML report of scan results.
112
- *
113
- * The document includes inline CSS so it can be opened directly in a browser
114
- * or printed / saved as PDF without any external assets.
115
- *
116
- * All untrusted content (file paths, source snippets, reasons) is
117
- * HTML-escaped to prevent XSS.
118
- */
119
- export function formatHtml(results) {
120
- const violations = [];
121
- for (const file of results) {
122
- for (const v of file.violations) {
123
- violations.push({ path: file.path, line: v.line, text: v.text, reason: v.reason });
61
+ export class MarkdownExporter {
62
+ export(results) {
63
+ const violations = [];
64
+ for (const file of results) {
65
+ for (const v of file.violations) {
66
+ violations.push({ path: file.path, line: v.line, text: v.text, reason: v.reason });
67
+ }
68
+ }
69
+ const lines = ["# 🛡️ SecureFlow Scan Report", ""];
70
+ if (violations.length === 0) {
71
+ lines.push("✅ **No violations detected.**");
72
+ lines.push("");
73
+ return lines.join("\n");
74
+ }
75
+ lines.push(`Found **${violations.length}** violation${violations.length === 1 ? "" : "s"}.`);
76
+ lines.push("");
77
+ lines.push("| File | Line | Violation | Reason |");
78
+ lines.push("| --- | --- | --- | --- |");
79
+ for (const v of violations) {
80
+ const file = escapeMarkdownTable(v.path);
81
+ const line = v.line;
82
+ const text = toMarkdownCodeSpan(v.text);
83
+ const reason = escapeMarkdownTable(v.reason);
84
+ lines.push(`| ${file} | ${line} | ${text} | ${reason} |`);
124
85
  }
86
+ lines.push("");
87
+ return lines.join("\n");
125
88
  }
126
- const tableRows = violations.length > 0
127
- ? violations
128
- .map((v) => ` <tr>
129
- <td>${escapeHtml(v.path)}</td>
130
- <td>${v.line}</td>
131
- <td><code>${escapeHtml(v.text)}</code></td>
132
- <td>${escapeHtml(v.reason)}</td>
89
+ }
90
+ export class HtmlExporter {
91
+ export(results) {
92
+ const violations = [];
93
+ for (const file of results) {
94
+ for (const v of file.violations) {
95
+ violations.push({ path: file.path, line: v.line, text: v.text, reason: v.reason });
96
+ }
97
+ }
98
+ const tableRows = violations.length > 0
99
+ ? violations
100
+ .map((v) => ` <tr>
101
+ <td>${escapeHtml(v.path)}</td>
102
+ <td>${v.line}</td>
103
+ <td><code>${escapeHtml(v.text)}</code></td>
104
+ <td>${escapeHtml(v.reason)}</td>
133
105
  </tr>`)
134
- .join("\n")
135
- : ` <tr><td colspan="4" class="empty">No violations detected.</td></tr>`;
136
- return `<!DOCTYPE html>
137
- <html lang="en">
138
- <head>
139
- <meta charset="UTF-8">
140
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
141
- <title>SecureFlow Scan Report</title>
142
- <style>
143
- *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
144
- body {
145
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
146
- background: #f6f8fa;
147
- color: #24292f;
148
- padding: 2rem;
149
- line-height: 1.5;
150
- }
151
- h1 {
152
- font-size: 1.5rem;
153
- margin-bottom: 0.25rem;
154
- }
155
- .meta {
156
- color: #57606a;
157
- font-size: 0.875rem;
158
- margin-bottom: 1.5rem;
159
- }
160
- table {
161
- width: 100%;
162
- border-collapse: collapse;
163
- background: #ffffff;
164
- border: 1px solid #d0d7de;
165
- border-radius: 6px;
166
- overflow: hidden;
167
- }
168
- th, td {
169
- text-align: left;
170
- padding: 0.5rem 0.75rem;
171
- border-bottom: 1px solid #d0d7de;
172
- }
173
- th {
174
- background: #f6f8fa;
175
- font-weight: 600;
176
- font-size: 0.875rem;
177
- }
178
- td code {
179
- background: #f0f3f6;
180
- padding: 0.125rem 0.375rem;
181
- border-radius: 3px;
182
- font-size: 0.8125rem;
183
- }
184
- tr:last-child td { border-bottom: none; }
185
- .empty {
186
- text-align: center;
187
- color: #57606a;
188
- padding: 1.5rem;
189
- }
190
- .summary {
191
- margin-top: 1rem;
192
- font-size: 0.875rem;
193
- color: #57606a;
106
+ .join("\n")
107
+ : ` <tr><td colspan="4" class="empty">No violations detected.</td></tr>`;
108
+ return `<!DOCTYPE html>
109
+ <html lang="en">
110
+ <head>
111
+ <meta charset="UTF-8">
112
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
113
+ <title>SecureFlow Scan Report</title>
114
+ <style>
115
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
116
+ body {
117
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
118
+ background: #f6f8fa;
119
+ color: #24292f;
120
+ padding: 2rem;
121
+ line-height: 1.5;
122
+ }
123
+ h1 { font-size: 1.5rem; margin-bottom: 0.25rem; }
124
+ .meta { color: #57606a; font-size: 0.875rem; margin-bottom: 1.5rem; }
125
+ table {
126
+ width: 100%;
127
+ border-collapse: collapse;
128
+ background: #ffffff;
129
+ border: 1px solid #d0d7de;
130
+ border-radius: 6px;
131
+ overflow: hidden;
132
+ }
133
+ th, td { text-align: left; padding: 0.5rem 0.75rem; border-bottom: 1px solid #d0d7de; }
134
+ th { background: #f6f8fa; font-weight: 600; font-size: 0.875rem; }
135
+ td code { background: #f0f3f6; padding: 0.125rem 0.375rem; border-radius: 3px; font-size: 0.8125rem; }
136
+ tr:last-child td { border-bottom: none; }
137
+ .empty { text-align: center; color: #57606a; padding: 1.5rem; }
138
+ .summary { margin-top: 1rem; font-size: 0.875rem; color: #57606a; }
139
+ @media print { body { background: #fff; padding: 0; } }
140
+ </style>
141
+ </head>
142
+ <body>
143
+ <h1>SecureFlow Scan Report</h1>
144
+ <p class="meta">Generated by SecureFlow CLI</p>
145
+ <table>
146
+ <thead>
147
+ <tr>
148
+ <th>File</th>
149
+ <th>Line</th>
150
+ <th>Violation</th>
151
+ <th>Reason</th>
152
+ </tr>
153
+ </thead>
154
+ <tbody>
155
+ ${tableRows}
156
+ </tbody>
157
+ </table>
158
+ <p class="summary">${violations.length} violation${violations.length === 1 ? "" : "s"} found.</p>
159
+ </body>
160
+ </html>
161
+ `;
194
162
  }
195
- @media print {
196
- body { background: #fff; padding: 0; }
163
+ }
164
+ export class SarifExporter {
165
+ export(results) {
166
+ return formatSarifJson(results);
197
167
  }
198
- </style>
199
- </head>
200
- <body>
201
- <h1>SecureFlow Scan Report</h1>
202
- <p class="meta">Generated by SecureFlow CLI</p>
203
- <table>
204
- <thead>
205
- <tr>
206
- <th>File</th>
207
- <th>Line</th>
208
- <th>Violation</th>
209
- <th>Reason</th>
210
- </tr>
211
- </thead>
212
- <tbody>
213
- ${tableRows}
214
- </tbody>
215
- </table>
216
- <p class="summary">${violations.length} violation${violations.length === 1 ? "" : "s"} found.</p>
217
- </body>
218
- </html>
219
- `;
220
168
  }
221
- // ---------------------------------------------------------------------------
222
- // Markdown formatter
223
- // ---------------------------------------------------------------------------
224
169
  /**
225
- * Formats scan results as a GitHub-flavored Markdown report.
170
+ * Factory function to get the appropriate exporter instance (#1095).
226
171
  */
227
- export function formatMarkdown(results) {
228
- const violations = [];
229
- for (const file of results) {
230
- for (const v of file.violations) {
231
- violations.push({ path: file.path, line: v.line, text: v.text, reason: v.reason });
232
- }
233
- }
234
- const lines = ["# 🛡️ SecureFlow Scan Report", ""];
235
- if (violations.length === 0) {
236
- lines.push("✅ **No violations detected.**");
237
- lines.push("");
238
- return lines.join("\n");
239
- }
240
- lines.push(`Found **${violations.length}** violation${violations.length === 1 ? "" : "s"}.`);
241
- lines.push("");
242
- lines.push("| File | Line | Violation | Reason |");
243
- lines.push("| --- | --- | --- | --- |");
244
- for (const v of violations) {
245
- const file = escapeMarkdownTable(v.path);
246
- const line = v.line;
247
- const text = toMarkdownCodeSpan(v.text);
248
- const reason = escapeMarkdownTable(v.reason);
249
- lines.push(`| ${file} | ${line} | ${text} | ${reason} |`);
172
+ export function getExporter(format) {
173
+ switch (format.toLowerCase()) {
174
+ case "csv":
175
+ return new CsvExporter();
176
+ case "markdown":
177
+ case "md":
178
+ return new MarkdownExporter();
179
+ case "html":
180
+ return new HtmlExporter();
181
+ case "sarif":
182
+ return new SarifExporter();
183
+ default:
184
+ throw new Error(`Unsupported export format: ${format}`);
250
185
  }
251
- lines.push("");
252
- return lines.join("\n");
253
186
  }
254
187
  //# sourceMappingURL=exporters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.js","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3F,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,4EAA4E;IAC5E,2EAA2E;IAC3E,qBAAqB;IACrB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,WAAW,GAAG,4BAA4B,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB;IACjD,MAAM,IAAI,GAAa,CAAC,WAAW,CAAC,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CACP,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,OAAyB;IAClD,MAAM,UAAU,GAAmE,EAAE,CAAC;IAEtF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,UAAU;aACP,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ;gBACE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClB,CAAC,CAAC,IAAI;sBACA,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;cACtB,CACH;aACA,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,6EAA6E,CAAC;IAEpF,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EP,SAAS;;;uBAGY,UAAU,CAAC,MAAM,aAAa,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;;;CAGtF,CAAC;AACF,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAyB;IACtD,MAAM,UAAU,GAAmE,EAAE,CAAC;IAEtF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAE7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,MAAM,eAAe,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAExC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"exporters.js","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"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"}
package/dist/scanner.d.ts CHANGED
@@ -92,10 +92,7 @@ export interface FileScanResult {
92
92
  }
93
93
  /** Scan one staged blob. */
94
94
  export declare function scanFile(path: string, content: string, customIgnores?: RegExp[]): FileScanResult;
95
- export type OutputFormat = "text" | "json" | "sarif" | "csv" | "html" | "markdown";
96
- /**
97
- * Format scan results based on the chosen output format ('text' | 'json' | 'sarif' | 'csv' | 'html' | 'markdown').
98
- */
95
+ export type OutputFormat = "text" | "json" | "sarif" | "csv" | "html" | "markdown" | "md";
99
96
  export declare function formatScanResults(results: FileScanResult[], format?: OutputFormat): string;
100
97
  export type FailOnSeverity = "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "NONE";
101
98
  export declare function isValidFailOnSeverity(val: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
package/dist/scanner.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * (#593).
8
8
  */
9
9
  import { formatSarifJson } from "./sarif.js";
10
- import { formatCsv, formatHtml, formatMarkdown } from "./exporters.js";
10
+ import { getExporter } from "./exporters.js";
11
11
  import { shouldIgnorePath, parseSecureFlowIgnore, compileIgnorePatterns, loadSecureFlowIgnore, normalizeScanPath, } from "./ignore.js";
12
12
  export { shouldIgnorePath, parseSecureFlowIgnore, compileIgnorePatterns, loadSecureFlowIgnore, normalizeScanPath, };
13
13
  export const VALID_SEVERITIES = new Set([
@@ -324,35 +324,30 @@ export function scanFile(path, content, customIgnores) {
324
324
  }
325
325
  return { path, violations: findSecretLogging(content) };
326
326
  }
327
- /**
328
- * Format scan results based on the chosen output format ('text' | 'json' | 'sarif' | 'csv' | 'html' | 'markdown').
329
- */
330
327
  export function formatScanResults(results, format = "text") {
331
328
  if (format === "json") {
332
329
  return JSON.stringify(results, null, 2);
333
330
  }
334
- if (format === "sarif") {
335
- return formatSarifJson(results);
336
- }
337
- if (format === "csv") {
338
- return formatCsv(results);
339
- }
340
- if (format === "html") {
341
- return formatHtml(results);
331
+ if (format === "text") {
332
+ // Default text summary
333
+ let text = "";
334
+ for (const r of results) {
335
+ for (const v of r.violations) {
336
+ text += `🚨 [SecureFlow] Secret logging detected in ${r.path}:${v.line}\n`;
337
+ text += ` -> ${v.text}\n`;
338
+ text += ` why: ${v.reason} passed to a console call\n`;
339
+ }
340
+ }
341
+ return text;
342
342
  }
343
- if (format === "markdown") {
344
- return formatMarkdown(results);
343
+ // Unified Exporters for SARIF, CSV, Markdown, and HTML (#1095)
344
+ try {
345
+ const exporter = getExporter(format);
346
+ return exporter.export(results);
345
347
  }
346
- // Default text summary
347
- let text = "";
348
- for (const r of results) {
349
- for (const v of r.violations) {
350
- text += `🚨 [SecureFlow] Secret logging detected in ${r.path}:${v.line}\n`;
351
- text += ` -> ${v.text}\n`;
352
- text += ` why: ${v.reason} passed to a console call\n`;
353
- }
348
+ catch (err) {
349
+ throw new Error(`Unsupported output format: ${format}`);
354
350
  }
355
- return text;
356
351
  }
357
352
  const SEVERITY_RANK = {
358
353
  CRITICAL: 4,
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GAElB,CAAC;AAIF,MAAM,CAAC,MAAM,gBAAgB,GAA0B,IAAI,GAAG,CAAC;IAC7D,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;CACN,CAAC,CAAC;AAaH,kEAAkE;AAClE,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3F;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,wBAAwB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAElG;;;;;;;GAOG;AACH,MAAM,YAAY,GAChB,+FAA+F,CAAC;AAElG;;;;;;;GAOG;AACH,MAAM,iBAAiB,GACrB,2MAA2M,CAAC;AAE9M,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAOD,MAAM,iBAAiB,GAAqB;IAC1C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;CACjF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,GAAuD;IACrE;QACE,sBAAsB;QACtB,4FAA4F;KAC7F;IACD,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;IAC9C,mEAAmE;IACnE,4EAA4E;IAC5E,6CAA6C;IAC7C;QACE,yBAAyB;QACzB,iFAAiF;KAClF;CACF,CAAC;AAEF,sDAAsD;AACtD,MAAM,iBAAiB,GAAG;IACxB,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;CACN,CAAC;AAEF,yEAAyE;AACzE,MAAM,eAAe,GAAG;IACtB,mBAAmB;IACnB,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,eAAe;IACf,YAAY;IACZ,cAAc;IACd,aAAa;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE5C,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,UAAmB,EACnB,aAAwB;IAExB,IAAI,aAAa,IAAI,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;IAEjD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAClF,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAEnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,0DAA0D;AAC1D,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAExB,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjD,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;gBACvB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC7E,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI;oBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;gBAChD,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;QAEX,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAE3B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,wEAAwE;gBACxE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI;oBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;gBAChD,IAAI,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;oBAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBAClF,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,CAAC;gBACX,MAAM;YACR,CAAC;YAED,sEAAsE;YACtE,wCAAwC;YACxC,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG;gBAAE,MAAM;YAE7C,yEAAyE;YACzE,gEAAgE;YAChE,IAAI,KAAK,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACvC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG;wBAAE,KAAK,IAAI,CAAC,CAAC;yBAC9B,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG;wBAAE,KAAK,IAAI,CAAC,CAAC;oBACxC,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,OAAO,KAAK,IAAI;gBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;YAC7C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,SAAiB;IAChE,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;aAC7B,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,MAAM,CAAC,MAAc,EAAE,MAAc;IACnD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,IAAI,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;IAC3B,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAE5B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAUD,4BAA4B;AAC5B,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAe,EAAE,aAAwB;IAC9E,IAAI,aAAa,IAAI,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;AAC1D,CAAC;AAID;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAyB,EACzB,SAAuB,MAAM;IAE7B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,IAAI,8CAA8C,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;YAC3E,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;YAC5B,IAAI,IAAI,WAAW,CAAC,CAAC,MAAM,6BAA6B,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,MAAM,aAAa,GAAmC;IACpD,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAiB,OAAO,CAAC,IAAI;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACpC,IAAI,GAAG,IAAI,qBAAqB,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAqB,CAAC;QACtE,CAAC;QACD,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC;YACnC,IAAI,GAAG,IAAI,qBAAqB,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAqB,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAe,EACf,kBAAyC,IAAI;IAE7C,IAAI,eAAe,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAE1C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAqB,IAAI,KAAK,CAAC;QAC1E,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,aAAa,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,eAAsC;IAC1E,OAAO,eAAe,KAAK,IAAI;QAC7B,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,iBAAiB,eAAe,YAAY,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,mBAA2B,EAC3B,UAAkC,EAClC,kBAAyC,IAAI;IAE7C,IAAI,eAAe,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAE7C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAC1D,CAAC,MAAM,CAAC;QACT,OAAO,mBAAmB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IAErD,wEAAwE;IACxE,IAAI,mBAAmB,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,UAAU,GAAI,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAqB,IAAI,KAAK,CAAC;QAChF,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAa,CAAC,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,8BAA8B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAC9F,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,MAAoB,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAyB,EACzB,UAAiC;IAEjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACrF,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "secureflow-cli",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Pre-commit secret logging detector for secure development workflows",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
7
- "secureflow": "./dist/index.js"
7
+ "secureflow": "dist/index.js"
8
8
  },
9
9
  "publishConfig": {
10
10
  "access": "public"