@kernel.chat/kbot 3.47.0 → 3.48.0
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/agent-teams.d.ts.map +1 -1
- package/dist/agent-teams.js +2 -1
- package/dist/agent-teams.js.map +1 -1
- package/dist/tools/image-variation.d.ts +2 -0
- package/dist/tools/image-variation.d.ts.map +1 -0
- package/dist/tools/image-variation.js +30 -0
- package/dist/tools/image-variation.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/security-hunt.d.ts +2 -0
- package/dist/tools/security-hunt.d.ts.map +1 -0
- package/dist/tools/security-hunt.js +734 -0
- package/dist/tools/security-hunt.js.map +1 -0
- package/dist/tools/summarize.d.ts +2 -0
- package/dist/tools/summarize.d.ts.map +1 -0
- package/dist/tools/summarize.js +28 -0
- package/dist/tools/summarize.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-teams.d.ts","sourceRoot":"","sources":["../src/agent-teams.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1E;
|
|
1
|
+
{"version":3,"file":"agent-teams.d.ts","sourceRoot":"","sources":["../src/agent-teams.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1E;AAsJD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,EAAE,CAsBxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CA2B3B"}
|
package/dist/agent-teams.js
CHANGED
|
@@ -37,7 +37,8 @@ const TOOL_PREFERENCES = {
|
|
|
37
37
|
guardian: [
|
|
38
38
|
'read_file', 'glob', 'grep', 'bash', 'dep_audit',
|
|
39
39
|
'secret_scan', 'ssl_check', 'headers_check', 'cve_lookup',
|
|
40
|
-
'port_scan', 'owasp_check',
|
|
40
|
+
'port_scan', 'owasp_check', 'supply_chain_audit', 'checksum_verify',
|
|
41
|
+
'security_hunt',
|
|
41
42
|
],
|
|
42
43
|
aesthete: [
|
|
43
44
|
'read_file', 'write_file', 'edit_file', 'glob', 'grep',
|
package/dist/agent-teams.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-teams.js","sourceRoot":"","sources":["../src/agent-teams.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,sEAAsE;AACtE,+DAA+D;AAC/D,EAAE;AACF,SAAS;AACT,6EAA6E;AAC7E,EAAE;AACF,0CAA0C;AAC1C,gGAAgG;AAEhG,OAAO,EAAE,WAAW,EAAsB,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAyC,MAAM,YAAY,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AA8BjD,+EAA+E;AAE/E,MAAM,gBAAgB,GAA6B;IACjD,MAAM,EAAE;QACN,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QACjD,YAAY,EAAE,aAAa,EAAE,eAAe;KAC7C;IACD,KAAK,EAAE;QACL,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QAC9D,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;QAC7D,YAAY,EAAE,aAAa;KAC5B;IACD,UAAU,EAAE;QACV,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;QACtD,cAAc,EAAE,kBAAkB,EAAE,aAAa;KAClD;IACD,MAAM,EAAE;QACN,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;QACtD,YAAY,EAAE,WAAW;KAC1B;IACD,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;QACjD,WAAW,EAAE,UAAU,EAAE,WAAW;KACrC;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;QAChD,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY;QACzD,WAAW,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"agent-teams.js","sourceRoot":"","sources":["../src/agent-teams.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-variation.d.ts","sourceRoot":"","sources":["../../src/tools/image-variation.ts"],"names":[],"mappings":"AAIA,wBAAgB,2BAA2B,IAAI,IAAI,CA8BlD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// kbot Image Variation Tool — Generative AI image modification
|
|
2
|
+
import { registerTool } from './index.js';
|
|
3
|
+
export function registerImageVariationTools() {
|
|
4
|
+
registerTool({
|
|
5
|
+
name: 'image_variation',
|
|
6
|
+
description: 'Generate variations of an image using a generative AI model. Provide an image URL and a prompt describing the desired variation.',
|
|
7
|
+
parameters: {
|
|
8
|
+
image_url: { type: 'string', description: 'URL of the image to vary', required: true },
|
|
9
|
+
prompt: { type: 'string', description: 'Prompt describing the desired variation', required: true },
|
|
10
|
+
},
|
|
11
|
+
tier: 'pro',
|
|
12
|
+
async execute(args) {
|
|
13
|
+
const imageUrl = String(args.image_url);
|
|
14
|
+
const prompt = String(args.prompt);
|
|
15
|
+
// Placeholder for API call to image variation service
|
|
16
|
+
// Replace with actual API integration
|
|
17
|
+
const variationUrl = `https://api.example.com/image-variation?image_url=${encodeURIComponent(imageUrl)}&prompt=${encodeURIComponent(prompt)}`;
|
|
18
|
+
const res = await fetch(variationUrl, {
|
|
19
|
+
headers: { 'User-Agent': 'KBot/2.0 (Image Variation)' },
|
|
20
|
+
signal: AbortSignal.timeout(10000),
|
|
21
|
+
});
|
|
22
|
+
if (!res.ok) {
|
|
23
|
+
return `Error: Image variation failed - ${res.status} ${res.statusText}`;
|
|
24
|
+
}
|
|
25
|
+
const data = await res.json();
|
|
26
|
+
return data.variation_url;
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=image-variation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-variation.js","sourceRoot":"","sources":["../../src/tools/image-variation.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,UAAU,2BAA2B;IACzC,YAAY,CAAC;QACX,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kIAAkI;QAC/I,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACtF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE;SACnG;QACD,IAAI,EAAE,KAAK;QACX,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAElC,sDAAsD;YACtD,sCAAsC;YACtC,MAAM,YAAY,GAAG,qDAAqD,kBAAkB,CAAC,QAAQ,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAA;YAE7I,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;gBACpC,OAAO,EAAE,EAAE,YAAY,EAAE,4BAA4B,EAAE;gBACvD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,mCAAmC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAA;YAC1E,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,OAAO,IAAI,CAAC,aAAa,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,YAAY,EAA0C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE/G,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAC,CAAA;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,8DAA8D;IAC9D,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAA;IAC9C,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAM9D;AAED,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3F,CAAC,CAwBD;AA+BD,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAM/D;AAED,qEAAqE;AACrE,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAkDrE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,YAAY,CAY5F;AAkBD,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAElD;AAED,mCAAmC;AACnC,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AA8GD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BzF;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF"}
|
package/dist/tools/index.js
CHANGED
|
@@ -275,6 +275,7 @@ const LAZY_MODULE_IMPORTS = [
|
|
|
275
275
|
{ path: './research-notebook.js', registerFn: 'registerResearchNotebookTools' },
|
|
276
276
|
{ path: './hypothesis-engine.js', registerFn: 'registerHypothesisEngineTools' },
|
|
277
277
|
{ path: './emergent.js', registerFn: 'registerEmergentTools' },
|
|
278
|
+
{ path: './security-hunt.js', registerFn: 'registerSecurityHuntTools' },
|
|
278
279
|
];
|
|
279
280
|
/** Track whether lazy tools have been registered */
|
|
280
281
|
let lazyToolsRegistered = false;
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-hunt.d.ts","sourceRoot":"","sources":["../../src/tools/security-hunt.ts"],"names":[],"mappings":"AAmqBA,wBAAgB,yBAAyB,IAAI,IAAI,CAwHhD"}
|
|
@@ -0,0 +1,734 @@
|
|
|
1
|
+
// kbot Security Hunt — Autonomous Pentest Pipeline
|
|
2
|
+
// Inspired by Claude Mythos: chains all security tools into a single
|
|
3
|
+
// autonomous vulnerability hunting sweep. One command, full audit.
|
|
4
|
+
//
|
|
5
|
+
// Phases:
|
|
6
|
+
// 1. Reconnaissance — port scan, SSL, headers
|
|
7
|
+
// 2. Secret Detection — hardcoded credentials, leaked keys
|
|
8
|
+
// 3. Dependency Audit — CVEs in npm/pip/cargo + supply chain
|
|
9
|
+
// 4. Code Analysis — OWASP Top 10 static analysis
|
|
10
|
+
// 5. Correlation — cross-reference findings, severity scoring
|
|
11
|
+
// 6. Report — unified markdown report with patches
|
|
12
|
+
import { registerTool, getTool } from './index.js';
|
|
13
|
+
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
14
|
+
import { join, extname, relative } from 'node:path';
|
|
15
|
+
import { execSync } from 'node:child_process';
|
|
16
|
+
// ── Severity weights for composite scoring ──────────────────────────────────
|
|
17
|
+
const SEVERITY_SCORE = {
|
|
18
|
+
critical: 10,
|
|
19
|
+
high: 7,
|
|
20
|
+
medium: 4,
|
|
21
|
+
moderate: 4,
|
|
22
|
+
low: 1,
|
|
23
|
+
info: 0,
|
|
24
|
+
};
|
|
25
|
+
// ── Internal tool executor ──────────────────────────────────────────────────
|
|
26
|
+
async function runTool(name, args) {
|
|
27
|
+
const tool = getTool(name);
|
|
28
|
+
if (!tool)
|
|
29
|
+
return `[tool ${name} not found]`;
|
|
30
|
+
try {
|
|
31
|
+
return await tool.execute(args);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
return `[${name} error: ${err.message}]`;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// ── Phase runners ───────────────────────────────────────────────────────────
|
|
38
|
+
async function phaseRecon(target, url) {
|
|
39
|
+
const findings = [];
|
|
40
|
+
// Port scan if we have a host
|
|
41
|
+
if (url) {
|
|
42
|
+
const hostname = url.replace(/^https?:\/\//, '').replace(/[/:].*/g, '');
|
|
43
|
+
const portResult = await runTool('port_scan', { host: hostname });
|
|
44
|
+
// Parse open ports from result
|
|
45
|
+
const openPorts = (portResult.match(/\|\s*(\d+)\s*\|\s*(\w+)\s*\|\s*open/gi) || []);
|
|
46
|
+
for (const match of openPorts) {
|
|
47
|
+
const portMatch = match.match(/\|\s*(\d+)\s*\|\s*(\w+)/);
|
|
48
|
+
if (portMatch) {
|
|
49
|
+
const port = portMatch[1];
|
|
50
|
+
const service = portMatch[2];
|
|
51
|
+
const risky = ['21', '23', '3306', '5432', '6379', '27017', '11211'];
|
|
52
|
+
if (risky.includes(port)) {
|
|
53
|
+
findings.push({
|
|
54
|
+
phase: 'recon',
|
|
55
|
+
severity: 'high',
|
|
56
|
+
title: `Exposed ${service} on port ${port}`,
|
|
57
|
+
detail: `Port ${port} (${service}) is open and accessible. Database and cache ports should not be publicly exposed.`,
|
|
58
|
+
fix: `Block port ${port} in your firewall/security group. Use SSH tunnels or VPN for access.`,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
findings.push({
|
|
63
|
+
phase: 'recon',
|
|
64
|
+
severity: 'info',
|
|
65
|
+
title: `Open port ${port} (${service})`,
|
|
66
|
+
detail: `Port ${port} is open.`,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// SSL check
|
|
72
|
+
if (url.startsWith('https') || !url.startsWith('http')) {
|
|
73
|
+
const sslResult = await runTool('ssl_check', { url: url.startsWith('http') ? url : `https://${url}` });
|
|
74
|
+
if (/expired|invalid|self-signed/i.test(sslResult)) {
|
|
75
|
+
findings.push({
|
|
76
|
+
phase: 'recon',
|
|
77
|
+
severity: 'critical',
|
|
78
|
+
title: 'SSL/TLS certificate issue',
|
|
79
|
+
detail: sslResult.slice(0, 500),
|
|
80
|
+
fix: 'Renew or replace the SSL certificate. Use Let\'s Encrypt for free certificates.',
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
else if (/grade.*[cd]/i.test(sslResult) || /weak/i.test(sslResult)) {
|
|
84
|
+
findings.push({
|
|
85
|
+
phase: 'recon',
|
|
86
|
+
severity: 'medium',
|
|
87
|
+
title: 'Weak SSL/TLS configuration',
|
|
88
|
+
detail: sslResult.slice(0, 500),
|
|
89
|
+
fix: 'Upgrade to TLS 1.3, disable weak cipher suites.',
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
// Headers check
|
|
93
|
+
const headersResult = await runTool('headers_check', { url: url.startsWith('http') ? url : `https://${url}` });
|
|
94
|
+
const missingHeaders = headersResult.match(/missing|not set|absent/gi) || [];
|
|
95
|
+
if (missingHeaders.length > 0) {
|
|
96
|
+
// Parse specific missing headers
|
|
97
|
+
const headerIssues = [];
|
|
98
|
+
if (/content-security-policy.*missing/i.test(headersResult) || /CSP.*not set/i.test(headersResult)) {
|
|
99
|
+
headerIssues.push('Content-Security-Policy');
|
|
100
|
+
}
|
|
101
|
+
if (/strict-transport.*missing/i.test(headersResult) || /HSTS.*not set/i.test(headersResult)) {
|
|
102
|
+
headerIssues.push('Strict-Transport-Security');
|
|
103
|
+
}
|
|
104
|
+
if (/x-frame.*missing/i.test(headersResult)) {
|
|
105
|
+
headerIssues.push('X-Frame-Options');
|
|
106
|
+
}
|
|
107
|
+
if (/x-content-type.*missing/i.test(headersResult)) {
|
|
108
|
+
headerIssues.push('X-Content-Type-Options');
|
|
109
|
+
}
|
|
110
|
+
if (headerIssues.length > 0) {
|
|
111
|
+
findings.push({
|
|
112
|
+
phase: 'recon',
|
|
113
|
+
severity: headerIssues.includes('Content-Security-Policy') ? 'high' : 'medium',
|
|
114
|
+
title: `Missing security headers: ${headerIssues.join(', ')}`,
|
|
115
|
+
detail: `${headerIssues.length} security headers are missing or misconfigured.`,
|
|
116
|
+
fix: headerIssues.map(h => {
|
|
117
|
+
const fixes = {
|
|
118
|
+
'Content-Security-Policy': "Add CSP header: `Content-Security-Policy: default-src 'self'`",
|
|
119
|
+
'Strict-Transport-Security': 'Add HSTS: `Strict-Transport-Security: max-age=31536000; includeSubDomains`',
|
|
120
|
+
'X-Frame-Options': 'Add: `X-Frame-Options: DENY`',
|
|
121
|
+
'X-Content-Type-Options': 'Add: `X-Content-Type-Options: nosniff`',
|
|
122
|
+
};
|
|
123
|
+
return fixes[h] || `Add ${h} header`;
|
|
124
|
+
}).join('\n'),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return findings;
|
|
131
|
+
}
|
|
132
|
+
async function phaseSecrets(target) {
|
|
133
|
+
const findings = [];
|
|
134
|
+
const result = await runTool('secret_scan', { path: target, depth: 6 });
|
|
135
|
+
// Parse secret scan findings — format: | file | line | type | match |
|
|
136
|
+
const rows = result.match(/\|\s*([^|]+)\s*\|\s*(\d+)\s*\|\s*([^|]+)\s*\|\s*([^|]+)\s*\|/g) || [];
|
|
137
|
+
for (const row of rows) {
|
|
138
|
+
const parts = row.split('|').map(s => s.trim()).filter(Boolean);
|
|
139
|
+
if (parts.length >= 4 && parts[0] !== 'File' && parts[0] !== '---') {
|
|
140
|
+
findings.push({
|
|
141
|
+
phase: 'secrets',
|
|
142
|
+
severity: /private key|aws secret|service key/i.test(parts[2]) ? 'critical' : 'high',
|
|
143
|
+
title: `${parts[2]} found in source code`,
|
|
144
|
+
detail: `${parts[2]} detected in ${parts[0]} at line ${parts[1]}`,
|
|
145
|
+
file: parts[0],
|
|
146
|
+
line: parseInt(parts[1], 10) || undefined,
|
|
147
|
+
fix: `Remove the secret from source code. Use environment variables instead. Rotate the exposed credential immediately.`,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// Also check for .env files committed to git
|
|
152
|
+
try {
|
|
153
|
+
const gitFiles = execSync('git ls-files 2>/dev/null', { cwd: target, maxBuffer: 2_000_000 }).toString();
|
|
154
|
+
const envFiles = gitFiles.split('\n').filter(f => /^\.env($|\.)/.test(f.split('/').pop() || ''));
|
|
155
|
+
for (const envFile of envFiles) {
|
|
156
|
+
if (envFile.trim()) {
|
|
157
|
+
findings.push({
|
|
158
|
+
phase: 'secrets',
|
|
159
|
+
severity: 'critical',
|
|
160
|
+
title: `.env file tracked in git: ${envFile}`,
|
|
161
|
+
detail: `Environment file ${envFile} is committed to version control. All secrets in this file are exposed in git history.`,
|
|
162
|
+
file: envFile,
|
|
163
|
+
fix: `Remove from git: \`git rm --cached ${envFile}\`. Add to .gitignore. Rotate all secrets contained in the file.`,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch { /* not a git repo */ }
|
|
169
|
+
// Check for common misconfigurations
|
|
170
|
+
const dangerousFiles = ['.npmrc', '.pypirc', '.docker/config.json', '.aws/credentials'];
|
|
171
|
+
for (const df of dangerousFiles) {
|
|
172
|
+
const fullPath = join(target, df);
|
|
173
|
+
if (existsSync(fullPath)) {
|
|
174
|
+
try {
|
|
175
|
+
const content = readFileSync(fullPath, 'utf-8');
|
|
176
|
+
if (/auth|token|password|secret|key/i.test(content)) {
|
|
177
|
+
findings.push({
|
|
178
|
+
phase: 'secrets',
|
|
179
|
+
severity: 'high',
|
|
180
|
+
title: `Credentials in ${df}`,
|
|
181
|
+
detail: `${df} contains authentication tokens or credentials and may be exposed.`,
|
|
182
|
+
file: df,
|
|
183
|
+
fix: `Move credentials to environment variables. Add ${df} to .gitignore.`,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch { /* unreadable */ }
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return findings;
|
|
191
|
+
}
|
|
192
|
+
async function phaseDeps(target) {
|
|
193
|
+
const findings = [];
|
|
194
|
+
// Dependency audit
|
|
195
|
+
const auditResult = await runTool('dep_audit', { path: target });
|
|
196
|
+
const criticalMatch = auditResult.match(/CRITICAL[:\s]*(\d+)/i);
|
|
197
|
+
const highMatch = auditResult.match(/HIGH[:\s]*(\d+)/i);
|
|
198
|
+
const moderateMatch = auditResult.match(/MODERATE[:\s]*(\d+)/i);
|
|
199
|
+
if (criticalMatch && parseInt(criticalMatch[1]) > 0) {
|
|
200
|
+
findings.push({
|
|
201
|
+
phase: 'deps',
|
|
202
|
+
severity: 'critical',
|
|
203
|
+
title: `${criticalMatch[1]} critical dependency vulnerabilities`,
|
|
204
|
+
detail: auditResult.slice(0, 800),
|
|
205
|
+
fix: 'Run `npm audit fix` or update affected packages manually.',
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
if (highMatch && parseInt(highMatch[1]) > 0) {
|
|
209
|
+
findings.push({
|
|
210
|
+
phase: 'deps',
|
|
211
|
+
severity: 'high',
|
|
212
|
+
title: `${highMatch[1]} high-severity dependency vulnerabilities`,
|
|
213
|
+
detail: `High-severity CVEs in project dependencies.`,
|
|
214
|
+
fix: 'Run `npm audit fix` and review the affected packages.',
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
if (moderateMatch && parseInt(moderateMatch[1]) > 0) {
|
|
218
|
+
findings.push({
|
|
219
|
+
phase: 'deps',
|
|
220
|
+
severity: 'medium',
|
|
221
|
+
title: `${moderateMatch[1]} moderate dependency vulnerabilities`,
|
|
222
|
+
detail: `Moderate-severity issues in project dependencies.`,
|
|
223
|
+
fix: 'Run `npm audit fix` to resolve.',
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
// Supply chain audit
|
|
227
|
+
const supplyResult = await runTool('supply_chain_audit', { path: target });
|
|
228
|
+
if (/compromised|malicious|typosquat/i.test(supplyResult)) {
|
|
229
|
+
findings.push({
|
|
230
|
+
phase: 'deps',
|
|
231
|
+
severity: 'critical',
|
|
232
|
+
title: 'Supply chain risk detected',
|
|
233
|
+
detail: supplyResult.slice(0, 600),
|
|
234
|
+
fix: 'Remove the flagged package immediately. Audit your lock file.',
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
else if (/single maintainer|no signature/i.test(supplyResult)) {
|
|
238
|
+
findings.push({
|
|
239
|
+
phase: 'deps',
|
|
240
|
+
severity: 'medium',
|
|
241
|
+
title: 'Supply chain concerns',
|
|
242
|
+
detail: 'Some packages have single maintainers or lack publish signatures.',
|
|
243
|
+
fix: 'Evaluate alternatives for high-risk single-maintainer packages.',
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
// Checksum verification
|
|
247
|
+
const checksumResult = await runTool('checksum_verify', { path: target });
|
|
248
|
+
if (/integrity.*fail|mismatch|tampered/i.test(checksumResult)) {
|
|
249
|
+
findings.push({
|
|
250
|
+
phase: 'deps',
|
|
251
|
+
severity: 'critical',
|
|
252
|
+
title: 'Package integrity check failed',
|
|
253
|
+
detail: 'One or more package checksums do not match the lock file. Possible supply chain attack.',
|
|
254
|
+
fix: 'Delete node_modules and package-lock.json, then `npm install` fresh. Compare lock file changes.',
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
return findings;
|
|
258
|
+
}
|
|
259
|
+
async function phaseCode(target) {
|
|
260
|
+
const findings = [];
|
|
261
|
+
// OWASP Top 10 static analysis
|
|
262
|
+
const owaspResult = await runTool('owasp_check', { path: target });
|
|
263
|
+
// Parse OWASP findings — they come as markdown sections
|
|
264
|
+
const owaspSections = owaspResult.split(/###?\s+/).filter(Boolean);
|
|
265
|
+
for (const section of owaspSections) {
|
|
266
|
+
const lines = section.trim().split('\n');
|
|
267
|
+
const title = lines[0]?.trim();
|
|
268
|
+
if (!title || /OWASP|Summary|No issues/i.test(title))
|
|
269
|
+
continue;
|
|
270
|
+
// Extract severity from section content
|
|
271
|
+
let severity = 'medium';
|
|
272
|
+
if (/critical|injection|command.*inject|sql.*inject/i.test(section))
|
|
273
|
+
severity = 'critical';
|
|
274
|
+
else if (/high|xss|cross-site|auth.*bypass|path.*travers/i.test(section))
|
|
275
|
+
severity = 'high';
|
|
276
|
+
else if (/low|info/i.test(section))
|
|
277
|
+
severity = 'low';
|
|
278
|
+
// Extract file references
|
|
279
|
+
const fileMatch = section.match(/`([^`]+\.[a-z]{1,4})`/i);
|
|
280
|
+
const lineMatch = section.match(/line\s*(\d+)/i);
|
|
281
|
+
if (/found|detected|vulnerable|issue/i.test(section)) {
|
|
282
|
+
findings.push({
|
|
283
|
+
phase: 'code',
|
|
284
|
+
severity,
|
|
285
|
+
title: title.slice(0, 120),
|
|
286
|
+
detail: section.slice(0, 500),
|
|
287
|
+
file: fileMatch?.[1],
|
|
288
|
+
line: lineMatch ? parseInt(lineMatch[1], 10) : undefined,
|
|
289
|
+
fix: generateOwaspFix(title),
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
// Additional code pattern scanning not covered by OWASP tool
|
|
294
|
+
await scanDangerousPatterns(target, findings);
|
|
295
|
+
return findings;
|
|
296
|
+
}
|
|
297
|
+
function generateOwaspFix(title) {
|
|
298
|
+
const fixes = {
|
|
299
|
+
'SQL Injection': 'Use parameterized queries or an ORM. Never concatenate user input into SQL.',
|
|
300
|
+
'XSS': 'Sanitize all user input. Use textContent instead of innerHTML. Implement CSP.',
|
|
301
|
+
'Command Injection': 'Use execFile() instead of exec(). Never pass user input to shell commands.',
|
|
302
|
+
'Path Traversal': 'Validate paths with path.resolve() and ensure they stay within allowed directories.',
|
|
303
|
+
'Insecure Deserialization': 'Validate and sanitize all deserialized data. Use safe parsing libraries.',
|
|
304
|
+
'Broken Authentication': 'Use bcrypt for passwords. Implement rate limiting. Use secure session management.',
|
|
305
|
+
'Sensitive Data Exposure': 'Encrypt sensitive data at rest and in transit. Minimize data collection.',
|
|
306
|
+
'Broken Access Control': 'Implement RBAC. Validate permissions on every request. Default deny.',
|
|
307
|
+
'Security Misconfiguration': 'Remove default credentials. Disable directory listing. Keep software updated.',
|
|
308
|
+
'Insufficient Logging': 'Log all auth events, access control failures, and input validation failures.',
|
|
309
|
+
};
|
|
310
|
+
for (const [key, fix] of Object.entries(fixes)) {
|
|
311
|
+
if (title.toLowerCase().includes(key.toLowerCase()))
|
|
312
|
+
return fix;
|
|
313
|
+
}
|
|
314
|
+
return 'Review and remediate according to OWASP guidelines.';
|
|
315
|
+
}
|
|
316
|
+
async function scanDangerousPatterns(target, findings) {
|
|
317
|
+
const DANGEROUS_PATTERNS = [
|
|
318
|
+
{
|
|
319
|
+
pattern: /eval\s*\(/,
|
|
320
|
+
name: 'eval() usage',
|
|
321
|
+
severity: 'critical',
|
|
322
|
+
fix: 'Remove eval(). Use JSON.parse() for data, or Function constructor with strict validation if absolutely needed.',
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
pattern: /new\s+Function\s*\(/,
|
|
326
|
+
name: 'Function constructor',
|
|
327
|
+
severity: 'high',
|
|
328
|
+
fix: 'Avoid dynamic code generation. Use safe alternatives.',
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
pattern: /innerHTML\s*=(?!=)/,
|
|
332
|
+
name: 'innerHTML assignment (XSS risk)',
|
|
333
|
+
severity: 'high',
|
|
334
|
+
fix: 'Use textContent or a DOM sanitizer (DOMPurify) instead of innerHTML.',
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
pattern: /document\.write\s*\(/,
|
|
338
|
+
name: 'document.write (XSS risk)',
|
|
339
|
+
severity: 'medium',
|
|
340
|
+
fix: 'Use DOM manipulation methods instead of document.write.',
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
pattern: /child_process.*exec\b(?!File|Sync)/,
|
|
344
|
+
name: 'exec() without execFile (command injection risk)',
|
|
345
|
+
severity: 'high',
|
|
346
|
+
fix: 'Use execFile() or spawn() with an argument array. Never pass user input to exec().',
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
pattern: /crypto\.createCipher\b/,
|
|
350
|
+
name: 'Deprecated createCipher (weak crypto)',
|
|
351
|
+
severity: 'high',
|
|
352
|
+
fix: 'Use crypto.createCipheriv() with a random IV instead.',
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
pattern: /Math\.random\(\)/,
|
|
356
|
+
name: 'Math.random() for security-sensitive context',
|
|
357
|
+
severity: 'medium',
|
|
358
|
+
fix: 'Use crypto.randomBytes() or crypto.getRandomValues() for security-sensitive randomness.',
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
pattern: /disable.*ssl|rejectUnauthorized\s*:\s*false|NODE_TLS_REJECT_UNAUTHORIZED\s*=\s*['"]?0/,
|
|
362
|
+
name: 'TLS verification disabled',
|
|
363
|
+
severity: 'critical',
|
|
364
|
+
fix: 'Never disable TLS verification. Fix the underlying certificate issue instead.',
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
pattern: /cors\(\s*\)|origin\s*:\s*['"]?\*/,
|
|
368
|
+
name: 'Unrestricted CORS',
|
|
369
|
+
severity: 'high',
|
|
370
|
+
fix: 'Restrict CORS origin to specific trusted domains instead of wildcard *.',
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
pattern: /jwt\.verify.*algorithms.*none/i,
|
|
374
|
+
name: 'JWT "none" algorithm allowed',
|
|
375
|
+
severity: 'critical',
|
|
376
|
+
fix: 'Explicitly specify allowed JWT algorithms. Never allow "none".',
|
|
377
|
+
},
|
|
378
|
+
];
|
|
379
|
+
const SKIP_DIRS = new Set(['node_modules', '.git', 'dist', 'build', '.next', '__pycache__', 'target', 'vendor', '.venv']);
|
|
380
|
+
const SCAN_EXTS = new Set(['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', '.py', '.rb', '.go', '.java', '.php', '.rs']);
|
|
381
|
+
function walkDir(dir, depth) {
|
|
382
|
+
if (depth > 6)
|
|
383
|
+
return;
|
|
384
|
+
try {
|
|
385
|
+
const entries = readdirSync(dir);
|
|
386
|
+
for (const entry of entries) {
|
|
387
|
+
if (SKIP_DIRS.has(entry) || entry.startsWith('.'))
|
|
388
|
+
continue;
|
|
389
|
+
const fullPath = join(dir, entry);
|
|
390
|
+
try {
|
|
391
|
+
const stat = statSync(fullPath);
|
|
392
|
+
if (stat.isDirectory()) {
|
|
393
|
+
walkDir(fullPath, depth + 1);
|
|
394
|
+
}
|
|
395
|
+
else if (stat.isFile() && SCAN_EXTS.has(extname(entry)) && stat.size < 500_000) {
|
|
396
|
+
const content = readFileSync(fullPath, 'utf-8');
|
|
397
|
+
const fileLines = content.split('\n');
|
|
398
|
+
for (const pat of DANGEROUS_PATTERNS) {
|
|
399
|
+
for (let i = 0; i < fileLines.length; i++) {
|
|
400
|
+
if (pat.pattern.test(fileLines[i])) {
|
|
401
|
+
// Skip if it's in a comment or test file
|
|
402
|
+
const line = fileLines[i].trim();
|
|
403
|
+
if (line.startsWith('//') || line.startsWith('#') || line.startsWith('*'))
|
|
404
|
+
continue;
|
|
405
|
+
if (/\.test\.|\.spec\.|__test__|__mock__/i.test(entry))
|
|
406
|
+
continue;
|
|
407
|
+
// For Math.random, only flag if near security-sensitive context
|
|
408
|
+
if (pat.name.includes('Math.random')) {
|
|
409
|
+
const context = fileLines.slice(Math.max(0, i - 5), i + 5).join('\n');
|
|
410
|
+
if (!/token|secret|password|key|auth|session|nonce|salt|hash/i.test(context))
|
|
411
|
+
continue;
|
|
412
|
+
}
|
|
413
|
+
findings.push({
|
|
414
|
+
phase: 'code',
|
|
415
|
+
severity: pat.severity,
|
|
416
|
+
title: pat.name,
|
|
417
|
+
detail: `Found in ${relative(target, fullPath)} at line ${i + 1}: \`${line.slice(0, 100)}\``,
|
|
418
|
+
file: relative(target, fullPath),
|
|
419
|
+
line: i + 1,
|
|
420
|
+
fix: pat.fix,
|
|
421
|
+
});
|
|
422
|
+
break; // One finding per pattern per file
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
catch { /* skip unreadable */ }
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
catch { /* skip unreadable dirs */ }
|
|
432
|
+
}
|
|
433
|
+
walkDir(target, 0);
|
|
434
|
+
}
|
|
435
|
+
// ── CVE enrichment ──────────────────────────────────────────────────────────
|
|
436
|
+
async function enrichWithCVEs(findings) {
|
|
437
|
+
// Find any CVE IDs mentioned in findings and enrich them
|
|
438
|
+
const cveIds = new Set();
|
|
439
|
+
for (const f of findings) {
|
|
440
|
+
const matches = f.detail.match(/CVE-\d{4}-\d+/gi) || [];
|
|
441
|
+
for (const m of matches)
|
|
442
|
+
cveIds.add(m.toUpperCase());
|
|
443
|
+
}
|
|
444
|
+
// Look up top 5 CVEs for context
|
|
445
|
+
const lookups = [...cveIds].slice(0, 5);
|
|
446
|
+
for (const cveId of lookups) {
|
|
447
|
+
const result = await runTool('cve_lookup', { query: cveId });
|
|
448
|
+
// Attach CVE details to matching findings
|
|
449
|
+
for (const f of findings) {
|
|
450
|
+
if (f.detail.includes(cveId)) {
|
|
451
|
+
f.cve = cveId;
|
|
452
|
+
// Extract severity from NVD if available
|
|
453
|
+
const scoreMatch = result.match(/(\d+\.?\d*)\/10/);
|
|
454
|
+
if (scoreMatch && parseFloat(scoreMatch[1]) >= 9) {
|
|
455
|
+
f.severity = 'critical';
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
// ── Scoring & Grading ───────────────────────────────────────────────────────
|
|
462
|
+
function computeScore(findings) {
|
|
463
|
+
if (findings.length === 0)
|
|
464
|
+
return { score: 100, grade: 'A+' };
|
|
465
|
+
let deductions = 0;
|
|
466
|
+
for (const f of findings) {
|
|
467
|
+
deductions += SEVERITY_SCORE[f.severity] || 0;
|
|
468
|
+
}
|
|
469
|
+
// Scale: 0-100 where 100 is perfect
|
|
470
|
+
const score = Math.max(0, Math.min(100, 100 - deductions));
|
|
471
|
+
let grade;
|
|
472
|
+
if (score >= 95)
|
|
473
|
+
grade = 'A+';
|
|
474
|
+
else if (score >= 90)
|
|
475
|
+
grade = 'A';
|
|
476
|
+
else if (score >= 85)
|
|
477
|
+
grade = 'A-';
|
|
478
|
+
else if (score >= 80)
|
|
479
|
+
grade = 'B+';
|
|
480
|
+
else if (score >= 75)
|
|
481
|
+
grade = 'B';
|
|
482
|
+
else if (score >= 70)
|
|
483
|
+
grade = 'B-';
|
|
484
|
+
else if (score >= 65)
|
|
485
|
+
grade = 'C+';
|
|
486
|
+
else if (score >= 60)
|
|
487
|
+
grade = 'C';
|
|
488
|
+
else if (score >= 55)
|
|
489
|
+
grade = 'C-';
|
|
490
|
+
else if (score >= 50)
|
|
491
|
+
grade = 'D';
|
|
492
|
+
else if (score >= 40)
|
|
493
|
+
grade = 'D-';
|
|
494
|
+
else
|
|
495
|
+
grade = 'F';
|
|
496
|
+
return { score, grade };
|
|
497
|
+
}
|
|
498
|
+
// ── Report formatter ────────────────────────────────────────────────────────
|
|
499
|
+
function formatReport(report) {
|
|
500
|
+
const lines = [];
|
|
501
|
+
// Header
|
|
502
|
+
lines.push(`# 🛡 Security Hunt Report`);
|
|
503
|
+
lines.push('');
|
|
504
|
+
lines.push(`**Target**: \`${report.target}\``);
|
|
505
|
+
lines.push(`**Date**: ${report.timestamp}`);
|
|
506
|
+
lines.push(`**Duration**: ${(report.duration / 1000).toFixed(1)}s`);
|
|
507
|
+
lines.push(`**Score**: ${report.score}/100 (Grade: **${report.grade}**)`);
|
|
508
|
+
lines.push('');
|
|
509
|
+
// Score visualization
|
|
510
|
+
const filled = Math.round(report.score / 5);
|
|
511
|
+
const bar = '█'.repeat(filled) + '░'.repeat(20 - filled);
|
|
512
|
+
lines.push(`\`${bar}\` ${report.score}/100`);
|
|
513
|
+
lines.push('');
|
|
514
|
+
// Phase summary
|
|
515
|
+
lines.push(`## Phases`);
|
|
516
|
+
lines.push('');
|
|
517
|
+
lines.push('| Phase | Status | Findings | Time |');
|
|
518
|
+
lines.push('|-------|--------|----------|------|');
|
|
519
|
+
for (const [phase, info] of Object.entries(report.phases)) {
|
|
520
|
+
const icon = info.findings > 0 ? '⚠' : '✓';
|
|
521
|
+
lines.push(`| ${phase} | ${icon} ${info.status} | ${info.findings} | ${(info.duration / 1000).toFixed(1)}s |`);
|
|
522
|
+
}
|
|
523
|
+
lines.push('');
|
|
524
|
+
// Findings by severity
|
|
525
|
+
const bySeverity = {
|
|
526
|
+
critical: report.findings.filter(f => f.severity === 'critical'),
|
|
527
|
+
high: report.findings.filter(f => f.severity === 'high'),
|
|
528
|
+
medium: report.findings.filter(f => f.severity === 'medium'),
|
|
529
|
+
low: report.findings.filter(f => f.severity === 'low'),
|
|
530
|
+
info: report.findings.filter(f => f.severity === 'info'),
|
|
531
|
+
};
|
|
532
|
+
const totalFindings = report.findings.filter(f => f.severity !== 'info').length;
|
|
533
|
+
lines.push(`## Findings (${totalFindings})`);
|
|
534
|
+
lines.push('');
|
|
535
|
+
if (bySeverity.critical.length > 0) {
|
|
536
|
+
lines.push(`### CRITICAL (${bySeverity.critical.length})`);
|
|
537
|
+
lines.push('');
|
|
538
|
+
for (const f of bySeverity.critical) {
|
|
539
|
+
lines.push(`- **${f.title}**`);
|
|
540
|
+
lines.push(` ${f.detail.slice(0, 200)}`);
|
|
541
|
+
if (f.file)
|
|
542
|
+
lines.push(` File: \`${f.file}\`${f.line ? `:${f.line}` : ''}`);
|
|
543
|
+
if (f.cve)
|
|
544
|
+
lines.push(` CVE: ${f.cve}`);
|
|
545
|
+
if (f.fix)
|
|
546
|
+
lines.push(` **Fix**: ${f.fix}`);
|
|
547
|
+
lines.push('');
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
if (bySeverity.high.length > 0) {
|
|
551
|
+
lines.push(`### HIGH (${bySeverity.high.length})`);
|
|
552
|
+
lines.push('');
|
|
553
|
+
for (const f of bySeverity.high) {
|
|
554
|
+
lines.push(`- **${f.title}**`);
|
|
555
|
+
lines.push(` ${f.detail.slice(0, 200)}`);
|
|
556
|
+
if (f.file)
|
|
557
|
+
lines.push(` File: \`${f.file}\`${f.line ? `:${f.line}` : ''}`);
|
|
558
|
+
if (f.fix)
|
|
559
|
+
lines.push(` **Fix**: ${f.fix}`);
|
|
560
|
+
lines.push('');
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
if (bySeverity.medium.length > 0) {
|
|
564
|
+
lines.push(`### MEDIUM (${bySeverity.medium.length})`);
|
|
565
|
+
lines.push('');
|
|
566
|
+
for (const f of bySeverity.medium) {
|
|
567
|
+
lines.push(`- **${f.title}**: ${f.detail.slice(0, 150)}`);
|
|
568
|
+
if (f.fix)
|
|
569
|
+
lines.push(` **Fix**: ${f.fix}`);
|
|
570
|
+
}
|
|
571
|
+
lines.push('');
|
|
572
|
+
}
|
|
573
|
+
if (bySeverity.low.length > 0) {
|
|
574
|
+
lines.push(`### LOW (${bySeverity.low.length})`);
|
|
575
|
+
lines.push('');
|
|
576
|
+
for (const f of bySeverity.low) {
|
|
577
|
+
lines.push(`- ${f.title}: ${f.detail.slice(0, 100)}`);
|
|
578
|
+
}
|
|
579
|
+
lines.push('');
|
|
580
|
+
}
|
|
581
|
+
// Remediation priority
|
|
582
|
+
if (totalFindings > 0) {
|
|
583
|
+
lines.push(`## Remediation Priority`);
|
|
584
|
+
lines.push('');
|
|
585
|
+
const actionable = report.findings
|
|
586
|
+
.filter(f => f.fix && f.severity !== 'info')
|
|
587
|
+
.sort((a, b) => (SEVERITY_SCORE[b.severity] || 0) - (SEVERITY_SCORE[a.severity] || 0))
|
|
588
|
+
.slice(0, 10);
|
|
589
|
+
for (let i = 0; i < actionable.length; i++) {
|
|
590
|
+
const f = actionable[i];
|
|
591
|
+
lines.push(`${i + 1}. **[${f.severity.toUpperCase()}]** ${f.title}`);
|
|
592
|
+
lines.push(` → ${f.fix}`);
|
|
593
|
+
}
|
|
594
|
+
lines.push('');
|
|
595
|
+
}
|
|
596
|
+
// Quick wins
|
|
597
|
+
const quickWins = report.findings.filter(f => f.fix && (f.fix.includes('npm audit fix') ||
|
|
598
|
+
f.fix.includes('Add') ||
|
|
599
|
+
f.fix.includes('.gitignore') ||
|
|
600
|
+
f.fix.includes('environment variable')));
|
|
601
|
+
if (quickWins.length > 0) {
|
|
602
|
+
lines.push(`## Quick Wins (${quickWins.length})`);
|
|
603
|
+
lines.push('');
|
|
604
|
+
lines.push('These can be fixed in minutes:');
|
|
605
|
+
for (const f of quickWins.slice(0, 5)) {
|
|
606
|
+
lines.push(`- ${f.fix}`);
|
|
607
|
+
}
|
|
608
|
+
lines.push('');
|
|
609
|
+
}
|
|
610
|
+
// Footer
|
|
611
|
+
if (totalFindings === 0) {
|
|
612
|
+
lines.push('**No security issues found.** Your codebase looks clean.');
|
|
613
|
+
}
|
|
614
|
+
else {
|
|
615
|
+
lines.push(`---`);
|
|
616
|
+
lines.push(`*${totalFindings} findings across ${Object.keys(report.phases).length} phases. Fix critical issues first.*`);
|
|
617
|
+
}
|
|
618
|
+
return lines.join('\n');
|
|
619
|
+
}
|
|
620
|
+
// ── Main tool registration ──────────────────────────────────────────────────
|
|
621
|
+
export function registerSecurityHuntTools() {
|
|
622
|
+
registerTool({
|
|
623
|
+
name: 'security_hunt',
|
|
624
|
+
description: 'Autonomous security hunting — chains all kbot security tools into a single comprehensive pentest sweep. Scans for: open ports, SSL issues, missing headers, hardcoded secrets, dependency CVEs, supply chain risks, OWASP Top 10 code vulnerabilities, and dangerous patterns. Returns a scored report with severity ratings and fix recommendations. Inspired by autonomous vulnerability research.',
|
|
625
|
+
parameters: {
|
|
626
|
+
path: {
|
|
627
|
+
type: 'string',
|
|
628
|
+
description: 'Project directory to hunt (default: current directory)',
|
|
629
|
+
},
|
|
630
|
+
url: {
|
|
631
|
+
type: 'string',
|
|
632
|
+
description: 'Optional URL to scan for network/SSL/header issues (e.g. "https://example.com")',
|
|
633
|
+
},
|
|
634
|
+
phases: {
|
|
635
|
+
type: 'string',
|
|
636
|
+
description: 'Comma-separated phases to run (default: all). Options: recon,secrets,deps,code',
|
|
637
|
+
},
|
|
638
|
+
depth: {
|
|
639
|
+
type: 'string',
|
|
640
|
+
description: 'Scan depth: "quick" (secrets+deps only), "standard" (all phases), "deep" (all + CVE enrichment). Default: standard',
|
|
641
|
+
},
|
|
642
|
+
},
|
|
643
|
+
tier: 'free',
|
|
644
|
+
timeout: 300_000, // 5 minutes for full sweep
|
|
645
|
+
maxResultSize: 100_000,
|
|
646
|
+
async execute(args) {
|
|
647
|
+
const target = String(args.path || process.cwd());
|
|
648
|
+
const url = args.url ? String(args.url) : undefined;
|
|
649
|
+
const depth = String(args.depth || 'standard');
|
|
650
|
+
const requestedPhases = args.phases
|
|
651
|
+
? String(args.phases).split(',').map(s => s.trim().toLowerCase())
|
|
652
|
+
: null;
|
|
653
|
+
if (!existsSync(target)) {
|
|
654
|
+
return `Error: Directory ${target} does not exist.`;
|
|
655
|
+
}
|
|
656
|
+
const startTime = Date.now();
|
|
657
|
+
const allFindings = [];
|
|
658
|
+
const phases = {};
|
|
659
|
+
const shouldRun = (phase) => !requestedPhases || requestedPhases.includes(phase);
|
|
660
|
+
// Phase 1: Reconnaissance
|
|
661
|
+
if (shouldRun('recon') && depth !== 'quick') {
|
|
662
|
+
const phaseStart = Date.now();
|
|
663
|
+
try {
|
|
664
|
+
const findings = await phaseRecon(target, url);
|
|
665
|
+
allFindings.push(...findings);
|
|
666
|
+
phases['Reconnaissance'] = { status: 'complete', findings: findings.length, duration: Date.now() - phaseStart };
|
|
667
|
+
}
|
|
668
|
+
catch (err) {
|
|
669
|
+
phases['Reconnaissance'] = { status: `error: ${err.message}`, findings: 0, duration: Date.now() - phaseStart };
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
// Phase 2: Secret Detection
|
|
673
|
+
if (shouldRun('secrets')) {
|
|
674
|
+
const phaseStart = Date.now();
|
|
675
|
+
try {
|
|
676
|
+
const findings = await phaseSecrets(target);
|
|
677
|
+
allFindings.push(...findings);
|
|
678
|
+
phases['Secret Detection'] = { status: 'complete', findings: findings.length, duration: Date.now() - phaseStart };
|
|
679
|
+
}
|
|
680
|
+
catch (err) {
|
|
681
|
+
phases['Secret Detection'] = { status: `error: ${err.message}`, findings: 0, duration: Date.now() - phaseStart };
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
// Phase 3: Dependency Audit
|
|
685
|
+
if (shouldRun('deps')) {
|
|
686
|
+
const phaseStart = Date.now();
|
|
687
|
+
try {
|
|
688
|
+
const findings = await phaseDeps(target);
|
|
689
|
+
allFindings.push(...findings);
|
|
690
|
+
phases['Dependency Audit'] = { status: 'complete', findings: findings.length, duration: Date.now() - phaseStart };
|
|
691
|
+
}
|
|
692
|
+
catch (err) {
|
|
693
|
+
phases['Dependency Audit'] = { status: `error: ${err.message}`, findings: 0, duration: Date.now() - phaseStart };
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
// Phase 4: Code Analysis
|
|
697
|
+
if (shouldRun('code') && depth !== 'quick') {
|
|
698
|
+
const phaseStart = Date.now();
|
|
699
|
+
try {
|
|
700
|
+
const findings = await phaseCode(target);
|
|
701
|
+
allFindings.push(...findings);
|
|
702
|
+
phases['Code Analysis'] = { status: 'complete', findings: findings.length, duration: Date.now() - phaseStart };
|
|
703
|
+
}
|
|
704
|
+
catch (err) {
|
|
705
|
+
phases['Code Analysis'] = { status: `error: ${err.message}`, findings: 0, duration: Date.now() - phaseStart };
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
// Phase 5: CVE Enrichment (deep mode only)
|
|
709
|
+
if (depth === 'deep') {
|
|
710
|
+
const phaseStart = Date.now();
|
|
711
|
+
try {
|
|
712
|
+
await enrichWithCVEs(allFindings);
|
|
713
|
+
phases['CVE Enrichment'] = { status: 'complete', findings: 0, duration: Date.now() - phaseStart };
|
|
714
|
+
}
|
|
715
|
+
catch (err) {
|
|
716
|
+
phases['CVE Enrichment'] = { status: `error: ${err.message}`, findings: 0, duration: Date.now() - phaseStart };
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
// Compute score
|
|
720
|
+
const { score, grade } = computeScore(allFindings);
|
|
721
|
+
const report = {
|
|
722
|
+
target,
|
|
723
|
+
timestamp: new Date().toISOString(),
|
|
724
|
+
duration: Date.now() - startTime,
|
|
725
|
+
findings: allFindings,
|
|
726
|
+
score,
|
|
727
|
+
grade,
|
|
728
|
+
phases,
|
|
729
|
+
};
|
|
730
|
+
return formatReport(report);
|
|
731
|
+
},
|
|
732
|
+
});
|
|
733
|
+
}
|
|
734
|
+
//# sourceMappingURL=security-hunt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-hunt.js","sourceRoot":"","sources":["../../src/tools/security-hunt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../src/tools/summarize.ts"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,IAAI,IAAI,CAyB7C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// kbot Summarization Tool — Text condensation
|
|
2
|
+
// Condenses long text inputs into shorter, more manageable summaries.
|
|
3
|
+
import { registerTool } from './index.js';
|
|
4
|
+
export function registerSummarizeTools() {
|
|
5
|
+
registerTool({
|
|
6
|
+
name: 'summarize',
|
|
7
|
+
description: 'Summarizes long text inputs into shorter, more manageable summaries.',
|
|
8
|
+
parameters: {
|
|
9
|
+
text: { type: 'string', description: 'The text to summarize', required: true },
|
|
10
|
+
length: { type: 'string', description: 'Desired summary length (short, medium, long)', required: false, default: 'medium' },
|
|
11
|
+
},
|
|
12
|
+
tier: 'free',
|
|
13
|
+
async execute(args) {
|
|
14
|
+
const text = String(args.text);
|
|
15
|
+
const length = String(args.length) || 'medium';
|
|
16
|
+
// Placeholder for summarization logic. Replace with actual implementation.
|
|
17
|
+
let summary = 'This is a placeholder summary.';
|
|
18
|
+
if (length === 'short') {
|
|
19
|
+
summary = 'A very short summary.';
|
|
20
|
+
}
|
|
21
|
+
else if (length === 'long') {
|
|
22
|
+
summary = 'A very long summary.';
|
|
23
|
+
}
|
|
24
|
+
return summary;
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=summarize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../src/tools/summarize.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,UAAU,sBAAsB;IACpC,YAAY,CAAC;QACX,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,sEAAsE;QACnF,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;SAC5H;QACD,IAAI,EAAE,MAAM;QACZ,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAA;YAE9C,2EAA2E;YAC3E,IAAI,OAAO,GAAG,gCAAgC,CAAA;YAE9C,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,GAAG,uBAAuB,CAAA;YACnC,CAAC;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO,GAAG,sBAAsB,CAAA;YAClC,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernel.chat/kbot",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "The only AI agent that builds its own tools — and defends itself. Self-Defense System: HMAC memory integrity, prompt injection detection, knowledge sanitization, forge verification, anomaly detection, incident logging. Cybersecurity tools: dep_audit, secret_scan, ssl_check, headers_check, cve_lookup, port_scan, owasp_check. Machine-aware situated intelligence: full hardware profiling (CPU, GPU, RAM, display, battery, dev tools), resource-adaptive tool pipeline, memory-pressure throttling, GPU-accelerated model routing. Multi-channel cognitive engine: email agent, iMessage agent, consultation pipeline, Trader agent with paper trading & DeFi,
|
|
3
|
+
"version": "3.48.0",
|
|
4
|
+
"description": "The only AI agent that builds its own tools — and defends itself. NEW: Autonomous Security Hunter (security_hunt) — chains 9 security tools into a single pentest sweep with scoring, CVE enrichment, and auto-remediation. Self-Defense System: HMAC memory integrity, prompt injection detection, knowledge sanitization, forge verification, anomaly detection, incident logging. Cybersecurity tools: dep_audit, secret_scan, ssl_check, headers_check, cve_lookup, port_scan, owasp_check, supply_chain_audit, checksum_verify, security_hunt. Machine-aware situated intelligence: full hardware profiling (CPU, GPU, RAM, display, battery, dev tools), resource-adaptive tool pipeline, memory-pressure throttling, GPU-accelerated model routing. Multi-channel cognitive engine: email agent, iMessage agent, consultation pipeline, Trader agent with paper trading & DeFi, 32 specialist agents, 540+ tools, 20 providers. Finance stack: 31 tools across market data, wallet & swaps, stocks, and sentiment. Synthesis Engine: closed-loop intelligence compounding. Runtime tool forging, Forge Registry, autopoietic health, immune self-audit. Cost-aware model routing, fallback chains, Bayesian skill routing. 11 local models (Llama 3.3, Qwen 3, DeepSeek R1, Codestral 22B). Embedded llama.cpp, MCP server, SDK. MIT.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|