pentesting 0.5.5 → 0.5.7
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/{auto-update-IDSABTT4.js → auto-update-CVZG3YKL.js} +2 -2
- package/dist/{chunk-FHPP7RP2.js → chunk-CKXQT3ON.js} +1 -0
- package/dist/{chunk-ZC53SMRU.js → chunk-TK3QEEDA.js} +1 -1
- package/dist/index.js +109 -44
- package/dist/{update-OWR4FHRQ.js → update-B6HRINH6.js} +2 -2
- package/package.json +1 -1
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
readVersionCache,
|
|
9
9
|
semverTuple,
|
|
10
10
|
writeVersionCache
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-TK3QEEDA.js";
|
|
12
|
+
import "./chunk-CKXQT3ON.js";
|
|
13
13
|
import "./chunk-3RG5ZIWI.js";
|
|
14
14
|
export {
|
|
15
15
|
checkForUpdate,
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
PHASE_STATUS,
|
|
16
16
|
THOUGHT_TYPE,
|
|
17
17
|
TOOL_NAME
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-CKXQT3ON.js";
|
|
19
19
|
import {
|
|
20
20
|
__require
|
|
21
21
|
} from "./chunk-3RG5ZIWI.js";
|
|
@@ -284,16 +284,46 @@ IMPORTANT:
|
|
|
284
284
|
}
|
|
285
285
|
];
|
|
286
286
|
var NETWORK_TOOLS = [
|
|
287
|
+
{
|
|
288
|
+
name: TOOL_NAME.RUSTSCAN,
|
|
289
|
+
description: `Ultra-fast port scanner written in Rust. Use as FIRST scan for quick discovery.
|
|
290
|
+
|
|
291
|
+
Rustscan is 10x faster than nmap for port discovery. Strategy:
|
|
292
|
+
1. Run rustscan first to find open ports quickly
|
|
293
|
+
2. Then use nmap with -sV on discovered ports for service detection
|
|
294
|
+
|
|
295
|
+
BATCH SIZES:
|
|
296
|
+
- 5000: Safe for most networks
|
|
297
|
+
- 10000: Fast, may miss some ports
|
|
298
|
+
- 65535: Full scan, slower but comprehensive`,
|
|
299
|
+
input_schema: {
|
|
300
|
+
type: "object",
|
|
301
|
+
properties: {
|
|
302
|
+
target: { type: "string", description: "Target IP/hostname/CIDR" },
|
|
303
|
+
ports: { type: "string", description: 'Port range (e.g., "1-65535" or "22,80,443")' },
|
|
304
|
+
batch_size: { type: "number", description: "Batch size (default: 5000)" },
|
|
305
|
+
timeout: { type: "number", description: "Timeout in ms (default: 1500)" },
|
|
306
|
+
ulimit: { type: "number", description: "File descriptor limit (default: 5000)" },
|
|
307
|
+
greppable: { type: "boolean", description: "Output in greppable format" },
|
|
308
|
+
nmap_args: { type: "string", description: 'Additional args to pass to nmap (e.g., "-sV -sC")' }
|
|
309
|
+
},
|
|
310
|
+
required: ["target"]
|
|
311
|
+
}
|
|
312
|
+
},
|
|
287
313
|
{
|
|
288
314
|
name: TOOL_NAME.NMAP_SCAN,
|
|
289
|
-
description: `Network scanning with nmap.
|
|
315
|
+
description: `Network scanning with nmap. Use AFTER rustscan for detailed service detection.
|
|
290
316
|
|
|
317
|
+
RECOMMENDED WORKFLOW:
|
|
318
|
+
1. rustscan first \u2192 fast port discovery
|
|
319
|
+
2. nmap -sV -sC on discovered ports \u2192 service/version detection
|
|
320
|
+
|
|
291
321
|
SCAN TYPES:
|
|
292
322
|
- discovery: Host discovery only (-sn)
|
|
293
|
-
- quick: Fast port scan (-F -T4)
|
|
294
|
-
- full: All 65535 ports (-p-)
|
|
323
|
+
- quick: Fast port scan (-F -T4)
|
|
324
|
+
- full: All 65535 ports (-p-) - USE RUSTSCAN INSTEAD
|
|
295
325
|
- stealth: SYN scan with slow timing (-sS -T2)
|
|
296
|
-
- service: Version detection (-sV -sC)
|
|
326
|
+
- service: Version detection (-sV -sC) - USE ON OPEN PORTS
|
|
297
327
|
- vuln: Vulnerability scripts (--script vuln)
|
|
298
328
|
- udp: UDP scan (-sU --top-ports 100)
|
|
299
329
|
- aggressive: Full aggressive scan (-A)`,
|
|
@@ -688,6 +718,7 @@ var execAsync = promisify(exec);
|
|
|
688
718
|
var DOCKER_CONTAINER = process.env.PENTESTING_CONTAINER || "pentesting-tools";
|
|
689
719
|
var FORCE_DOCKER = process.env.PENTESTING_DOCKER === "1";
|
|
690
720
|
var DOCKER_TOOLS = [
|
|
721
|
+
"rustscan",
|
|
691
722
|
"nmap",
|
|
692
723
|
"masscan",
|
|
693
724
|
"gobuster",
|
|
@@ -788,6 +819,9 @@ async function executeToolCall(toolName, input) {
|
|
|
788
819
|
);
|
|
789
820
|
break;
|
|
790
821
|
// network scanning
|
|
822
|
+
case "rustscan":
|
|
823
|
+
result = await executeRustscan(input);
|
|
824
|
+
break;
|
|
791
825
|
case "nmap_scan":
|
|
792
826
|
result = await executeNmapScan(input);
|
|
793
827
|
break;
|
|
@@ -958,6 +992,35 @@ async function listDirectory(dirPath, recursive = false, hidden = false) {
|
|
|
958
992
|
return { success: false, output: "", error: error.message, duration: 0 };
|
|
959
993
|
}
|
|
960
994
|
}
|
|
995
|
+
async function executeRustscan(input) {
|
|
996
|
+
const { target, ports, batch_size, timeout, ulimit, greppable, nmap_args } = input;
|
|
997
|
+
let cmd = `rustscan -a ${target}`;
|
|
998
|
+
if (ports) {
|
|
999
|
+
cmd += ` -p ${ports}`;
|
|
1000
|
+
} else {
|
|
1001
|
+
cmd += ` -r 1-65535`;
|
|
1002
|
+
}
|
|
1003
|
+
if (batch_size) {
|
|
1004
|
+
cmd += ` -b ${batch_size}`;
|
|
1005
|
+
} else {
|
|
1006
|
+
cmd += ` -b 5000`;
|
|
1007
|
+
}
|
|
1008
|
+
if (timeout) {
|
|
1009
|
+
cmd += ` -t ${timeout}`;
|
|
1010
|
+
} else {
|
|
1011
|
+
cmd += ` -t 1500`;
|
|
1012
|
+
}
|
|
1013
|
+
if (ulimit) {
|
|
1014
|
+
cmd += ` -u ${ulimit}`;
|
|
1015
|
+
}
|
|
1016
|
+
if (greppable) {
|
|
1017
|
+
cmd += ` -g`;
|
|
1018
|
+
}
|
|
1019
|
+
if (nmap_args) {
|
|
1020
|
+
cmd += ` -- ${nmap_args}`;
|
|
1021
|
+
}
|
|
1022
|
+
return executeBash(cmd, { timeout: 3e5 });
|
|
1023
|
+
}
|
|
961
1024
|
async function executeNmapScan(input) {
|
|
962
1025
|
const { target, scan_type, ports, scripts, output_file } = input;
|
|
963
1026
|
const scanFlags = {
|
|
@@ -4840,31 +4903,31 @@ function hasClipboardImage() {
|
|
|
4840
4903
|
|
|
4841
4904
|
// src/config/theme.ts
|
|
4842
4905
|
var THEME = {
|
|
4843
|
-
// Primary backgrounds (dark
|
|
4906
|
+
// Primary backgrounds (dark tones with pink undertone)
|
|
4844
4907
|
bg: {
|
|
4845
|
-
primary: "#
|
|
4846
|
-
// Deep dark
|
|
4847
|
-
secondary: "#
|
|
4908
|
+
primary: "#0d0a0d",
|
|
4909
|
+
// Deep dark with pink undertone
|
|
4910
|
+
secondary: "#13101a",
|
|
4848
4911
|
// Slightly lighter
|
|
4849
|
-
tertiary: "#
|
|
4850
|
-
// Accent
|
|
4851
|
-
elevated: "#
|
|
4912
|
+
tertiary: "#1a1420",
|
|
4913
|
+
// Accent dark pink
|
|
4914
|
+
elevated: "#1f1828",
|
|
4852
4915
|
// Cards/modals
|
|
4853
|
-
input: "#
|
|
4916
|
+
input: "#0a080c"
|
|
4854
4917
|
// Input background
|
|
4855
4918
|
},
|
|
4856
|
-
// Text colors (
|
|
4919
|
+
// Text colors (pink-tinted)
|
|
4857
4920
|
text: {
|
|
4858
|
-
primary: "#
|
|
4859
|
-
// Soft
|
|
4860
|
-
secondary: "#
|
|
4861
|
-
//
|
|
4862
|
-
muted: "#
|
|
4863
|
-
// Muted
|
|
4864
|
-
accent: "#
|
|
4865
|
-
// Soft
|
|
4866
|
-
highlight: "#
|
|
4867
|
-
//
|
|
4921
|
+
primary: "#f0e8ec",
|
|
4922
|
+
// Soft pink white
|
|
4923
|
+
secondary: "#b8a8b0",
|
|
4924
|
+
// Pink-gray
|
|
4925
|
+
muted: "#7d6b75",
|
|
4926
|
+
// Muted pink-gray
|
|
4927
|
+
accent: "#f9a8d4",
|
|
4928
|
+
// Soft pink (pentesting identity) 연분홍
|
|
4929
|
+
highlight: "#fbcfe8"
|
|
4930
|
+
// Light pink highlight
|
|
4868
4931
|
},
|
|
4869
4932
|
// Status colors (cyber-security themed) - Enhanced!
|
|
4870
4933
|
status: {
|
|
@@ -4876,8 +4939,8 @@ var THEME = {
|
|
|
4876
4939
|
// Coral red (failed)
|
|
4877
4940
|
info: "#60a5fa",
|
|
4878
4941
|
// Sky blue (scanning)
|
|
4879
|
-
running: "#
|
|
4880
|
-
//
|
|
4942
|
+
running: "#f472b6",
|
|
4943
|
+
// Pink (active operations)
|
|
4881
4944
|
pending: "#facc15"
|
|
4882
4945
|
// Yellow (waiting)
|
|
4883
4946
|
},
|
|
@@ -4891,15 +4954,15 @@ var THEME = {
|
|
|
4891
4954
|
// Vivid yellow
|
|
4892
4955
|
low: "#22c55e",
|
|
4893
4956
|
// Bright green
|
|
4894
|
-
info: "#
|
|
4895
|
-
//
|
|
4957
|
+
info: "#f472b6"
|
|
4958
|
+
// Pink
|
|
4896
4959
|
},
|
|
4897
|
-
// Border colors (
|
|
4960
|
+
// Border colors (pink-tinted)
|
|
4898
4961
|
border: {
|
|
4899
|
-
default: "#
|
|
4900
|
-
// Subtle
|
|
4901
|
-
focus: "#
|
|
4902
|
-
//
|
|
4962
|
+
default: "#3d2e38",
|
|
4963
|
+
// Subtle pink-gray
|
|
4964
|
+
focus: "#f472b6",
|
|
4965
|
+
// Pink focus
|
|
4903
4966
|
error: "#f87171",
|
|
4904
4967
|
// Red error
|
|
4905
4968
|
success: "#4ade80"
|
|
@@ -4907,8 +4970,8 @@ var THEME = {
|
|
|
4907
4970
|
},
|
|
4908
4971
|
// Phase colors (attack lifecycle) - Vibrant gradient-inspired
|
|
4909
4972
|
phase: {
|
|
4910
|
-
recon: "#
|
|
4911
|
-
//
|
|
4973
|
+
recon: "#f9a8d4",
|
|
4974
|
+
// Soft pink (reconnaissance)
|
|
4912
4975
|
enum: "#34d399",
|
|
4913
4976
|
// Emerald (enumeration)
|
|
4914
4977
|
vuln: "#fbbf24",
|
|
@@ -4917,13 +4980,17 @@ var THEME = {
|
|
|
4917
4980
|
// Orange (exploitation)
|
|
4918
4981
|
privesc: "#f87171",
|
|
4919
4982
|
// Red (privilege escalation)
|
|
4920
|
-
persist: "#
|
|
4921
|
-
//
|
|
4983
|
+
persist: "#f472b6",
|
|
4984
|
+
// Pink (persistence)
|
|
4922
4985
|
report: "#22d3ee"
|
|
4923
4986
|
// Cyan (reporting)
|
|
4924
4987
|
},
|
|
4925
4988
|
// Rich accent colors for UI elements
|
|
4926
4989
|
accent: {
|
|
4990
|
+
pink: "#f472b6",
|
|
4991
|
+
// Primary identity
|
|
4992
|
+
rose: "#fb7185",
|
|
4993
|
+
fuchsia: "#e879f9",
|
|
4927
4994
|
purple: "#a855f7",
|
|
4928
4995
|
violet: "#8b5cf6",
|
|
4929
4996
|
indigo: "#6366f1",
|
|
@@ -4936,14 +5003,12 @@ var THEME = {
|
|
|
4936
5003
|
yellow: "#eab308",
|
|
4937
5004
|
amber: "#f59e0b",
|
|
4938
5005
|
orange: "#f97316",
|
|
4939
|
-
red: "#ef4444"
|
|
4940
|
-
pink: "#ec4899",
|
|
4941
|
-
rose: "#f43f5e"
|
|
5006
|
+
red: "#ef4444"
|
|
4942
5007
|
},
|
|
4943
5008
|
// Gradients (for special UI elements)
|
|
4944
5009
|
gradient: {
|
|
4945
|
-
|
|
4946
|
-
cyber: ["#06b6d4", "#
|
|
5010
|
+
pink: ["#ec4899", "#f9a8d4"],
|
|
5011
|
+
cyber: ["#06b6d4", "#f472b6"],
|
|
4947
5012
|
danger: ["#ef4444", "#f97316"],
|
|
4948
5013
|
success: ["#10b981", "#22c55e"],
|
|
4949
5014
|
gold: ["#f59e0b", "#fbbf24"]
|
|
@@ -5284,7 +5349,7 @@ var App = ({ autoApprove = false, target }) => {
|
|
|
5284
5349
|
setCheckpointCount(contextManagerRef.current?.getCheckpoints().length || 0);
|
|
5285
5350
|
}
|
|
5286
5351
|
});
|
|
5287
|
-
import("./auto-update-
|
|
5352
|
+
import("./auto-update-CVZG3YKL.js").then(({ checkForUpdateAsync, formatUpdateNotification }) => {
|
|
5288
5353
|
checkForUpdateAsync().then((result) => {
|
|
5289
5354
|
if (result.hasUpdate) {
|
|
5290
5355
|
const notification = formatUpdateNotification(result);
|
|
@@ -5878,7 +5943,7 @@ ${list}`);
|
|
|
5878
5943
|
return;
|
|
5879
5944
|
case "update":
|
|
5880
5945
|
try {
|
|
5881
|
-
const { checkForUpdate, formatUpdateNotification, doUpdate } = await import("./update-
|
|
5946
|
+
const { checkForUpdate, formatUpdateNotification, doUpdate } = await import("./update-B6HRINH6.js");
|
|
5882
5947
|
const result = checkForUpdate(true);
|
|
5883
5948
|
if (result.hasUpdate) {
|
|
5884
5949
|
const notification = formatUpdateNotification(result);
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
readVersionCache,
|
|
9
9
|
semverTuple,
|
|
10
10
|
writeVersionCache
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-TK3QEEDA.js";
|
|
12
|
+
import "./chunk-CKXQT3ON.js";
|
|
13
13
|
import "./chunk-3RG5ZIWI.js";
|
|
14
14
|
export {
|
|
15
15
|
checkForUpdate,
|