secureflow-cli 2.8.0 → 2.8.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/dist/exporters.js +58 -58
- package/dist/index.js +43 -43
- package/dist/lib/audio-player.js +10 -10
- package/dist/mcp/index.d.ts +1 -10
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +2 -51
- package/dist/mcp/index.js.map +1 -1
- package/dist/threat-intel.d.ts +11 -0
- package/dist/threat-intel.d.ts.map +1 -0
- package/dist/threat-intel.js +52 -0
- package/dist/threat-intel.js.map +1 -0
- package/dist/workspace.d.ts +12 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +21 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +43 -43
package/dist/exporters.js
CHANGED
|
@@ -97,67 +97,67 @@ export class HtmlExporter {
|
|
|
97
97
|
}
|
|
98
98
|
const tableRows = violations.length > 0
|
|
99
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>
|
|
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>
|
|
105
105
|
</tr>`)
|
|
106
106
|
.join("\n")
|
|
107
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>
|
|
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
161
|
`;
|
|
162
162
|
}
|
|
163
163
|
}
|
package/dist/index.js
CHANGED
|
@@ -20,50 +20,50 @@ const AI_SKIP_REASON = hostedAiScanSkipReason(process.argv);
|
|
|
20
20
|
*/
|
|
21
21
|
Object.assign(process.env, localModeEnv(process.argv, process.env));
|
|
22
22
|
function printMcpHelp() {
|
|
23
|
-
console.log(`
|
|
24
|
-
SecureFlow CLI - Threat Intelligence MCP Server
|
|
25
|
-
|
|
26
|
-
Usage:
|
|
27
|
-
secureflow mcp [options]
|
|
28
|
-
|
|
29
|
-
Description:
|
|
30
|
-
Start the SecureFlow Threat Intelligence Model Context Protocol (MCP) server over stdio.
|
|
31
|
-
Communicates using JSON-RPC protocol over standard input/output.
|
|
32
|
-
|
|
33
|
-
Options:
|
|
34
|
-
-h, --help Show this help message
|
|
23
|
+
console.log(`
|
|
24
|
+
SecureFlow CLI - Threat Intelligence MCP Server
|
|
25
|
+
|
|
26
|
+
Usage:
|
|
27
|
+
secureflow mcp [options]
|
|
28
|
+
|
|
29
|
+
Description:
|
|
30
|
+
Start the SecureFlow Threat Intelligence Model Context Protocol (MCP) server over stdio.
|
|
31
|
+
Communicates using JSON-RPC protocol over standard input/output.
|
|
32
|
+
|
|
33
|
+
Options:
|
|
34
|
+
-h, --help Show this help message
|
|
35
35
|
`);
|
|
36
36
|
}
|
|
37
37
|
function printHelp() {
|
|
38
|
-
console.log(`
|
|
39
|
-
SecureFlow CLI - Security analysis tool for staged git files
|
|
40
|
-
|
|
41
|
-
Usage:
|
|
42
|
-
secureflow [options]
|
|
43
|
-
secureflow mcp [options]
|
|
44
|
-
|
|
45
|
-
Commands:
|
|
46
|
-
mcp Start the SecureFlow Threat Intelligence Model Context Protocol (MCP) server over stdio
|
|
47
|
-
|
|
48
|
-
Options:
|
|
49
|
-
--verbose Enable verbose logging
|
|
50
|
-
--format <format> Output format: text, json, sarif, csv, html, markdown (default: text)
|
|
51
|
-
-o, --output <path> Write output to specified file path
|
|
52
|
-
--ignore-file <path> Path to custom ignore configuration file
|
|
53
|
-
--fail-on <level> Fail scan threshold (low, medium, high, critical)
|
|
54
|
-
--local Run scan locally without uploading files externally
|
|
55
|
-
--local-model <tag> Specify local AI model tag (default: llama3)
|
|
56
|
-
--dry-run Simulate scan execution without writing files
|
|
57
|
-
-v, --voice Play an audio summary debrief of scan findings upon completion
|
|
58
|
-
-h, --help Show this help message
|
|
59
|
-
|
|
60
|
-
Examples:
|
|
61
|
-
$ secureflow # Run standard security scan on staged files
|
|
62
|
-
$ secureflow -v # Run scan and play audio summary debrief
|
|
63
|
-
$ secureflow mcp # Start the Threat Intelligence MCP server over stdio
|
|
64
|
-
$ secureflow --format json -o res.json # Scan and export results to JSON file
|
|
65
|
-
$ secureflow --fail-on high # Fail commit only on high/critical findings
|
|
66
|
-
$ secureflow --local --local-model llama3 # Run completely local scan
|
|
38
|
+
console.log(`
|
|
39
|
+
SecureFlow CLI - Security analysis tool for staged git files
|
|
40
|
+
|
|
41
|
+
Usage:
|
|
42
|
+
secureflow [options]
|
|
43
|
+
secureflow mcp [options]
|
|
44
|
+
|
|
45
|
+
Commands:
|
|
46
|
+
mcp Start the SecureFlow Threat Intelligence Model Context Protocol (MCP) server over stdio
|
|
47
|
+
|
|
48
|
+
Options:
|
|
49
|
+
--verbose Enable verbose logging
|
|
50
|
+
--format <format> Output format: text, json, sarif, csv, html, markdown (default: text)
|
|
51
|
+
-o, --output <path> Write output to specified file path
|
|
52
|
+
--ignore-file <path> Path to custom ignore configuration file
|
|
53
|
+
--fail-on <level> Fail scan threshold (low, medium, high, critical)
|
|
54
|
+
--local Run scan locally without uploading files externally
|
|
55
|
+
--local-model <tag> Specify local AI model tag (default: llama3)
|
|
56
|
+
--dry-run Simulate scan execution without writing files
|
|
57
|
+
-v, --voice Play an audio summary debrief of scan findings upon completion
|
|
58
|
+
-h, --help Show this help message
|
|
59
|
+
|
|
60
|
+
Examples:
|
|
61
|
+
$ secureflow # Run standard security scan on staged files
|
|
62
|
+
$ secureflow -v # Run scan and play audio summary debrief
|
|
63
|
+
$ secureflow mcp # Start the Threat Intelligence MCP server over stdio
|
|
64
|
+
$ secureflow --format json -o res.json # Scan and export results to JSON file
|
|
65
|
+
$ secureflow --fail-on high # Fail commit only on high/critical findings
|
|
66
|
+
$ secureflow --local --local-model llama3 # Run completely local scan
|
|
67
67
|
`);
|
|
68
68
|
}
|
|
69
69
|
function parseFormatArg() {
|
|
@@ -246,7 +246,7 @@ async function main() {
|
|
|
246
246
|
const outputString = formatScanResults(filteredResults, format);
|
|
247
247
|
if (outputPath) {
|
|
248
248
|
if (DRY_RUN) {
|
|
249
|
-
console.log(`[DRY RUN] Would write to ${outputPath}:
|
|
249
|
+
console.log(`[DRY RUN] Would write to ${outputPath}:
|
|
250
250
|
${outputString}`);
|
|
251
251
|
}
|
|
252
252
|
else {
|
|
@@ -261,7 +261,7 @@ ${outputString}`);
|
|
|
261
261
|
else if (outputPath) {
|
|
262
262
|
const textOutput = formatScanResults(filteredResults, "text");
|
|
263
263
|
if (DRY_RUN) {
|
|
264
|
-
console.log(`[DRY RUN] Would write to ${outputPath}:
|
|
264
|
+
console.log(`[DRY RUN] Would write to ${outputPath}:
|
|
265
265
|
${textOutput}`);
|
|
266
266
|
}
|
|
267
267
|
else {
|
package/dist/lib/audio-player.js
CHANGED
|
@@ -28,16 +28,16 @@ export function getOsAudioCommand(filePath, platform = process.platform) {
|
|
|
28
28
|
return { command: "afplay", args: [filePath] };
|
|
29
29
|
case "win32": {
|
|
30
30
|
// PowerShell sound player: uses SoundPlayer for .wav or MediaPlayer / wmplayer fallback
|
|
31
|
-
const psScript = `
|
|
32
|
-
try {
|
|
33
|
-
Add-Type -AssemblyName presentationCore;
|
|
34
|
-
$player = New-Object System.Windows.Media.MediaPlayer;
|
|
35
|
-
$player.Open([System.Uri]'${filePath.replace(/'/g, "''")}');
|
|
36
|
-
$player.Play();
|
|
37
|
-
Start-Sleep -Seconds 1;
|
|
38
|
-
} catch {
|
|
39
|
-
[System.Media.SystemSounds]::Beep.Play();
|
|
40
|
-
}
|
|
31
|
+
const psScript = `
|
|
32
|
+
try {
|
|
33
|
+
Add-Type -AssemblyName presentationCore;
|
|
34
|
+
$player = New-Object System.Windows.Media.MediaPlayer;
|
|
35
|
+
$player.Open([System.Uri]'${filePath.replace(/'/g, "''")}');
|
|
36
|
+
$player.Play();
|
|
37
|
+
Start-Sleep -Seconds 1;
|
|
38
|
+
} catch {
|
|
39
|
+
[System.Media.SystemSounds]::Beep.Play();
|
|
40
|
+
}
|
|
41
41
|
`
|
|
42
42
|
.replace(/\s+/g, " ")
|
|
43
43
|
.trim();
|
package/dist/mcp/index.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
-
export
|
|
3
|
-
id: string;
|
|
4
|
-
category: string;
|
|
5
|
-
description: string;
|
|
6
|
-
severity: string;
|
|
7
|
-
cve?: string;
|
|
8
|
-
remediationGuidance: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const KNOWLEDGE_BASE: ThreatIntelligenceEntry[];
|
|
2
|
+
export { queryLiveThreatIntelligence } from "../threat-intel.js";
|
|
11
3
|
export interface IntentVerificationResult {
|
|
12
4
|
verified: boolean;
|
|
13
5
|
allowed: boolean;
|
|
@@ -24,6 +16,5 @@ export interface IntentVerificationResult {
|
|
|
24
16
|
*/
|
|
25
17
|
export declare function verifyDeclaredIntent(toolName: string, args: Record<string, unknown>, intentToken?: string): IntentVerificationResult;
|
|
26
18
|
export declare function createThreatIntelMcpServer(): Server;
|
|
27
|
-
export declare function queryLiveThreatIntelligence(query: string): Promise<string>;
|
|
28
19
|
export declare function startMcpServer(): Promise<void>;
|
|
29
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAqBjE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,wBAAwB,CA4D1B;AAgFD,wBAAgB,0BAA0B,IAAI,MAAM,CAoNnD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -3,45 +3,8 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
5
5
|
import { SCAN_CONTENT_SCHEMA, scanSuppliedContent } from "./scan.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
id: "CVE-2023-3409",
|
|
9
|
-
category: "SQL Injection",
|
|
10
|
-
description: "Improper neutralization of special elements used in an SQL command leads to arbitrary data exfiltration.",
|
|
11
|
-
severity: "critical",
|
|
12
|
-
cve: "CVE-2023-3409",
|
|
13
|
-
remediationGuidance: "Replace string concatenation with parameterized prepared statements or ORM abstractions with strict type casting.",
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
id: "CVE-2023-28154",
|
|
17
|
-
category: "Server-Side Request Forgery",
|
|
18
|
-
description: "SSRF vulnerability allowing attackers to make arbitrary network requests from the server to internal metadata endpoints or private subnets.",
|
|
19
|
-
severity: "high",
|
|
20
|
-
cve: "CVE-2023-28154",
|
|
21
|
-
remediationGuidance: "Enforce strict allowlists of public protocols (HTTPS only) and disallow loopback (127.0.0.1) or link-local/private IP ranges.",
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
id: "SEC-LEAK-001",
|
|
25
|
-
category: "Secret Logging",
|
|
26
|
-
description: "Sensitive secrets, tokens, or private keys exposed in runtime application logs.",
|
|
27
|
-
severity: "high",
|
|
28
|
-
remediationGuidance: "Mask or redact secret variables prior to logging, or omit credentials entirely from logging sinks.",
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
id: "CWE-79",
|
|
32
|
-
category: "Cross-Site Scripting",
|
|
33
|
-
description: "Unsanitized user-controlled input rendered directly into DOM or HTML output.",
|
|
34
|
-
severity: "high",
|
|
35
|
-
remediationGuidance: "Use context-aware HTML entity encoding or modern reactive framework templating that auto-escapes dynamic values.",
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
id: "CWE-94",
|
|
39
|
-
category: "Prompt Injection",
|
|
40
|
-
description: "Adversarial override attempting to hijack LLM system instructions or exfiltrate private intent tokens.",
|
|
41
|
-
severity: "critical",
|
|
42
|
-
remediationGuidance: "Wrap tool execution behind cryptographic intent verification (ArmorIQ) and apply fail-closed boundary enforcement.",
|
|
43
|
-
},
|
|
44
|
-
];
|
|
6
|
+
import { KNOWLEDGE_BASE } from "../threat-intel.js";
|
|
7
|
+
export { queryLiveThreatIntelligence } from "../threat-intel.js";
|
|
45
8
|
/**
|
|
46
9
|
* Creates and configures the SecureFlow Threat Intelligence MCP Server.
|
|
47
10
|
*/
|
|
@@ -364,18 +327,6 @@ export function createThreatIntelMcpServer() {
|
|
|
364
327
|
});
|
|
365
328
|
return server;
|
|
366
329
|
}
|
|
367
|
-
export async function queryLiveThreatIntelligence(query) {
|
|
368
|
-
const q = query.toLowerCase();
|
|
369
|
-
const match = KNOWLEDGE_BASE.find((item) => item.description.toLowerCase().includes(q) ||
|
|
370
|
-
item.category.toLowerCase().includes(q) ||
|
|
371
|
-
(item.cve && item.cve.toLowerCase().includes(q)));
|
|
372
|
-
if (match) {
|
|
373
|
-
return `[Threat Intelligence Advisory - ${match.id} (${match.severity.toUpperCase()})]
|
|
374
|
-
Category: ${match.category}
|
|
375
|
-
Guidance: ${match.remediationGuidance}`;
|
|
376
|
-
}
|
|
377
|
-
return "";
|
|
378
|
-
}
|
|
379
330
|
export async function startMcpServer() {
|
|
380
331
|
const server = createThreatIntelMcpServer();
|
|
381
332
|
const transport = new StdioServerTransport();
|
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function queryLiveThreatIntelligence(query: string): Promise<string>;
|
|
2
|
+
export declare const KNOWLEDGE_BASE: ThreatIntelligenceEntry[];
|
|
3
|
+
export interface ThreatIntelligenceEntry {
|
|
4
|
+
id: string;
|
|
5
|
+
category: string;
|
|
6
|
+
description: string;
|
|
7
|
+
severity: string;
|
|
8
|
+
cve?: string;
|
|
9
|
+
remediationGuidance: string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=threat-intel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threat-intel.d.ts","sourceRoot":"","sources":["../src/threat-intel.ts"],"names":[],"mappings":"AAAA,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBhF;AAED,eAAO,MAAM,cAAc,EAAE,uBAAuB,EA8CnD,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export async function queryLiveThreatIntelligence(query) {
|
|
2
|
+
const q = query.toLowerCase();
|
|
3
|
+
const match = KNOWLEDGE_BASE.find((item) => item.description.toLowerCase().includes(q) ||
|
|
4
|
+
item.category.toLowerCase().includes(q) ||
|
|
5
|
+
(item.cve && item.cve.toLowerCase().includes(q)));
|
|
6
|
+
if (match) {
|
|
7
|
+
return `[Threat Intelligence Advisory - ${match.id} (${match.severity.toUpperCase()})]
|
|
8
|
+
Category: ${match.category}
|
|
9
|
+
Guidance: ${match.remediationGuidance}`;
|
|
10
|
+
}
|
|
11
|
+
return "";
|
|
12
|
+
}
|
|
13
|
+
export const KNOWLEDGE_BASE = [
|
|
14
|
+
{
|
|
15
|
+
id: "CVE-2023-3409",
|
|
16
|
+
category: "SQL Injection",
|
|
17
|
+
description: "Improper neutralization of special elements used in an SQL command leads to arbitrary data exfiltration.",
|
|
18
|
+
severity: "critical",
|
|
19
|
+
cve: "CVE-2023-3409",
|
|
20
|
+
remediationGuidance: "Replace string concatenation with parameterized prepared statements or ORM abstractions with strict type casting.",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "CVE-2023-28154",
|
|
24
|
+
category: "Server-Side Request Forgery",
|
|
25
|
+
description: "SSRF vulnerability allowing attackers to make arbitrary network requests from the server to internal metadata endpoints or private subnets.",
|
|
26
|
+
severity: "high",
|
|
27
|
+
cve: "CVE-2023-28154",
|
|
28
|
+
remediationGuidance: "Enforce strict allowlists of public protocols (HTTPS only) and disallow loopback (127.0.0.1) or link-local/private IP ranges.",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "SEC-LEAK-001",
|
|
32
|
+
category: "Secret Logging",
|
|
33
|
+
description: "Sensitive secrets, tokens, or private keys exposed in runtime application logs.",
|
|
34
|
+
severity: "high",
|
|
35
|
+
remediationGuidance: "Mask or redact secret variables prior to logging, or omit credentials entirely from logging sinks.",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: "CWE-79",
|
|
39
|
+
category: "Cross-Site Scripting",
|
|
40
|
+
description: "Unsanitized user-controlled input rendered directly into DOM or HTML output.",
|
|
41
|
+
severity: "high",
|
|
42
|
+
remediationGuidance: "Use context-aware HTML entity encoding or modern reactive framework templating that auto-escapes dynamic values.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "CWE-94",
|
|
46
|
+
category: "Prompt Injection",
|
|
47
|
+
description: "Adversarial override attempting to hijack LLM system instructions or exfiltrate private intent tokens.",
|
|
48
|
+
severity: "critical",
|
|
49
|
+
remediationGuidance: "Wrap tool execution behind cryptographic intent verification (ArmorIQ) and apply fail-closed boundary enforcement.",
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
//# sourceMappingURL=threat-intel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threat-intel.js","sourceRoot":"","sources":["../src/threat-intel.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAAa;IAC7D,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAC/B,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,mCAAmC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC3E,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD;QACE,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,eAAe;QACzB,WAAW,EACT,0GAA0G;QAC5G,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,eAAe;QACpB,mBAAmB,EACjB,mHAAmH;KACtH;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,6BAA6B;QACvC,WAAW,EACT,6IAA6I;QAC/I,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,gBAAgB;QACrB,mBAAmB,EACjB,+HAA+H;KAClI;IACD;QACE,EAAE,EAAE,cAAc;QAClB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,iFAAiF;QAC9F,QAAQ,EAAE,MAAM;QAChB,mBAAmB,EACjB,oGAAoG;KACvG;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE,sBAAsB;QAChC,WAAW,EAAE,8EAA8E;QAC3F,QAAQ,EAAE,MAAM;QAChB,mBAAmB,EACjB,kHAAkH;KACrH;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EACT,wGAAwG;QAC1G,QAAQ,EAAE,UAAU;QACpB,mBAAmB,EACjB,oHAAoH;KACvH;CACF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface WorkspacePaths {
|
|
2
|
+
cliDir: string;
|
|
3
|
+
cliPackageJsonPath: string;
|
|
4
|
+
rootDir: string;
|
|
5
|
+
rootPackageJsonPath: string;
|
|
6
|
+
rootPackageLockPath: string;
|
|
7
|
+
nestedLockPath: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getWorkspacePaths(baseDir?: string): WorkspacePaths;
|
|
10
|
+
export declare function readJsonFile<T = unknown>(filePath: string): T;
|
|
11
|
+
export declare function fileExists(filePath: string): boolean;
|
|
12
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAkB,GAAG,cAAc,CAY7E;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAE7D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
export function getWorkspacePaths(baseDir = __dirname) {
|
|
4
|
+
const cliDir = path.resolve(baseDir, "..");
|
|
5
|
+
const rootDir = path.resolve(cliDir, "..");
|
|
6
|
+
return {
|
|
7
|
+
cliDir,
|
|
8
|
+
cliPackageJsonPath: path.join(cliDir, "package.json"),
|
|
9
|
+
rootDir,
|
|
10
|
+
rootPackageJsonPath: path.join(rootDir, "package.json"),
|
|
11
|
+
rootPackageLockPath: path.join(rootDir, "package-lock.json"),
|
|
12
|
+
nestedLockPath: path.join(cliDir, "package-lock.json"),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function readJsonFile(filePath) {
|
|
16
|
+
return JSON.parse(fs.readFileSync(filePath, "utf8"));
|
|
17
|
+
}
|
|
18
|
+
export function fileExists(filePath) {
|
|
19
|
+
return fs.existsSync(filePath);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAWxB,MAAM,UAAU,iBAAiB,CAAC,UAAkB,SAAS;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE3C,OAAO;QACL,MAAM;QACN,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;QACrD,OAAO;QACP,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;QACvD,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC;QAC5D,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAc,QAAgB;IACxD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAM,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "secureflow-cli",
|
|
3
|
-
"version": "2.8.
|
|
4
|
-
"description": "Pre-commit secret logging detector for secure development workflows",
|
|
5
|
-
"main": "./dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"secureflow": "dist/index.js"
|
|
8
|
-
},
|
|
9
|
-
"publishConfig": {
|
|
10
|
-
"access": "public"
|
|
11
|
-
},
|
|
12
|
-
"scripts": {
|
|
13
|
-
"build": "tsc",
|
|
14
|
-
"typecheck": "tsc --noEmit",
|
|
15
|
-
"prepare": "npm run build",
|
|
16
|
-
"publish": "npm publish",
|
|
17
|
-
"test": "vitest run",
|
|
18
|
-
"test:e2e": "vitest run src/e2e.test.ts",
|
|
19
|
-
"test:watch": "vitest"
|
|
20
|
-
},
|
|
21
|
-
"keywords": [
|
|
22
|
-
"security",
|
|
23
|
-
"secrets",
|
|
24
|
-
"scanner",
|
|
25
|
-
"pre-commit",
|
|
26
|
-
"husky",
|
|
27
|
-
"secureflow"
|
|
28
|
-
],
|
|
29
|
-
"author": "Gaurav Karakoti",
|
|
30
|
-
"license": "ISC",
|
|
31
|
-
"type": "module",
|
|
32
|
-
"files": [
|
|
33
|
-
"dist"
|
|
34
|
-
],
|
|
35
|
-
"dependencies": {
|
|
36
|
-
"@modelcontextprotocol/sdk": "^1.32.2"
|
|
37
|
-
},
|
|
38
|
-
"devDependencies": {
|
|
39
|
-
"@types/node": "^26.6.6",
|
|
40
|
-
"typescript": "^6",
|
|
41
|
-
"vitest": "^5.0
|
|
42
|
-
}
|
|
43
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "secureflow-cli",
|
|
3
|
+
"version": "2.8.2",
|
|
4
|
+
"description": "Pre-commit secret logging detector for secure development workflows",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"secureflow": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"typecheck": "tsc --noEmit",
|
|
15
|
+
"prepare": "npm run build",
|
|
16
|
+
"publish": "npm publish",
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:e2e": "vitest run src/e2e.test.ts",
|
|
19
|
+
"test:watch": "vitest"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [
|
|
22
|
+
"security",
|
|
23
|
+
"secrets",
|
|
24
|
+
"scanner",
|
|
25
|
+
"pre-commit",
|
|
26
|
+
"husky",
|
|
27
|
+
"secureflow"
|
|
28
|
+
],
|
|
29
|
+
"author": "Gaurav Karakoti",
|
|
30
|
+
"license": "ISC",
|
|
31
|
+
"type": "module",
|
|
32
|
+
"files": [
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@modelcontextprotocol/sdk": "^1.32.2"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/node": "^26.6.6",
|
|
40
|
+
"typescript": "^6",
|
|
41
|
+
"vitest": "^5.1.0"
|
|
42
|
+
}
|
|
43
|
+
}
|