@integsec/agentic-pentest-proxy 0.2.5 → 0.2.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.
Files changed (160) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +85 -717
  3. package/dist/bin/integsec-agentic-pentest-manifest.d.ts +3 -0
  4. package/dist/bin/integsec-agentic-pentest-manifest.d.ts.map +1 -0
  5. package/dist/bin/integsec-agentic-pentest-manifest.js +180 -0
  6. package/dist/bin/integsec-agentic-pentest-manifest.js.map +1 -0
  7. package/dist/bin/integsec-agentic-pentest-proxy.d.ts +1 -1
  8. package/dist/bin/integsec-agentic-pentest-proxy.d.ts.map +1 -1
  9. package/dist/bin/integsec-agentic-pentest-proxy.js +32 -4
  10. package/dist/bin/integsec-agentic-pentest-proxy.js.map +1 -1
  11. package/dist/bin/integsec-agentic-pentest-setup.d.ts +3 -0
  12. package/dist/bin/integsec-agentic-pentest-setup.d.ts.map +1 -0
  13. package/dist/bin/integsec-agentic-pentest-setup.js +92 -0
  14. package/dist/bin/integsec-agentic-pentest-setup.js.map +1 -0
  15. package/dist/src/audit/azure-monitor.d.ts +2 -2
  16. package/dist/src/audit/azure-monitor.d.ts.map +1 -1
  17. package/dist/src/audit/azure-monitor.js +8 -5
  18. package/dist/src/audit/azure-monitor.js.map +1 -1
  19. package/dist/src/audit/cloudwatch.d.ts.map +1 -1
  20. package/dist/src/audit/cloudwatch.js.map +1 -1
  21. package/dist/src/audit/gcp-logging.d.ts.map +1 -1
  22. package/dist/src/audit/gcp-logging.js +6 -7
  23. package/dist/src/audit/gcp-logging.js.map +1 -1
  24. package/dist/src/audit/index.d.ts +7 -0
  25. package/dist/src/audit/index.d.ts.map +1 -1
  26. package/dist/src/audit/index.js +11 -1
  27. package/dist/src/audit/index.js.map +1 -1
  28. package/dist/src/audit/local.d.ts.map +1 -1
  29. package/dist/src/audit/local.js +2 -1
  30. package/dist/src/audit/local.js.map +1 -1
  31. package/dist/src/builder/dry-run.d.ts +12 -0
  32. package/dist/src/builder/dry-run.d.ts.map +1 -0
  33. package/dist/src/builder/dry-run.js +103 -0
  34. package/dist/src/builder/dry-run.js.map +1 -0
  35. package/dist/src/builder/manifest-writer.d.ts +7 -0
  36. package/dist/src/builder/manifest-writer.d.ts.map +1 -0
  37. package/dist/src/builder/manifest-writer.js +17 -0
  38. package/dist/src/builder/manifest-writer.js.map +1 -0
  39. package/dist/src/builder/review-display.d.ts +10 -0
  40. package/dist/src/builder/review-display.d.ts.map +1 -0
  41. package/dist/src/builder/review-display.js +55 -0
  42. package/dist/src/builder/review-display.js.map +1 -0
  43. package/dist/src/builder/smart-validator.d.ts +39 -0
  44. package/dist/src/builder/smart-validator.d.ts.map +1 -0
  45. package/dist/src/builder/smart-validator.js +157 -0
  46. package/dist/src/builder/smart-validator.js.map +1 -0
  47. package/dist/src/builder/steps/domains.d.ts +10 -0
  48. package/dist/src/builder/steps/domains.d.ts.map +1 -0
  49. package/dist/src/builder/steps/domains.js +71 -0
  50. package/dist/src/builder/steps/domains.js.map +1 -0
  51. package/dist/src/builder/steps/engagement-info.d.ts +17 -0
  52. package/dist/src/builder/steps/engagement-info.d.ts.map +1 -0
  53. package/dist/src/builder/steps/engagement-info.js +49 -0
  54. package/dist/src/builder/steps/engagement-info.js.map +1 -0
  55. package/dist/src/builder/steps/engagement-window.d.ts +15 -0
  56. package/dist/src/builder/steps/engagement-window.d.ts.map +1 -0
  57. package/dist/src/builder/steps/engagement-window.js +57 -0
  58. package/dist/src/builder/steps/engagement-window.js.map +1 -0
  59. package/dist/src/builder/steps/exclusions.d.ts +13 -0
  60. package/dist/src/builder/steps/exclusions.d.ts.map +1 -0
  61. package/dist/src/builder/steps/exclusions.js +57 -0
  62. package/dist/src/builder/steps/exclusions.js.map +1 -0
  63. package/dist/src/builder/steps/ip-ranges.d.ts +10 -0
  64. package/dist/src/builder/steps/ip-ranges.d.ts.map +1 -0
  65. package/dist/src/builder/steps/ip-ranges.js +64 -0
  66. package/dist/src/builder/steps/ip-ranges.js.map +1 -0
  67. package/dist/src/builder/steps/review.d.ts +10 -0
  68. package/dist/src/builder/steps/review.d.ts.map +1 -0
  69. package/dist/src/builder/steps/review.js +29 -0
  70. package/dist/src/builder/steps/review.js.map +1 -0
  71. package/dist/src/builder/steps/techniques.d.ts +13 -0
  72. package/dist/src/builder/steps/techniques.d.ts.map +1 -0
  73. package/dist/src/builder/steps/techniques.js +68 -0
  74. package/dist/src/builder/steps/techniques.js.map +1 -0
  75. package/dist/src/builder/steps/urls-and-cloud.d.ts +15 -0
  76. package/dist/src/builder/steps/urls-and-cloud.d.ts.map +1 -0
  77. package/dist/src/builder/steps/urls-and-cloud.js +53 -0
  78. package/dist/src/builder/steps/urls-and-cloud.js.map +1 -0
  79. package/dist/src/builder/web/api.d.ts +9 -0
  80. package/dist/src/builder/web/api.d.ts.map +1 -0
  81. package/dist/src/builder/web/api.js +40 -0
  82. package/dist/src/builder/web/api.js.map +1 -0
  83. package/dist/src/builder/web/client-form.html +222 -0
  84. package/dist/src/builder/web/server.d.ts +14 -0
  85. package/dist/src/builder/web/server.d.ts.map +1 -0
  86. package/dist/src/builder/web/server.js +85 -0
  87. package/dist/src/builder/web/server.js.map +1 -0
  88. package/dist/src/builder/wizard.d.ts +9 -0
  89. package/dist/src/builder/wizard.d.ts.map +1 -0
  90. package/dist/src/builder/wizard.js +49 -0
  91. package/dist/src/builder/wizard.js.map +1 -0
  92. package/dist/src/config.d.ts +11 -1
  93. package/dist/src/config.d.ts.map +1 -1
  94. package/dist/src/config.js +33 -3
  95. package/dist/src/config.js.map +1 -1
  96. package/dist/src/dns-resolver.d.ts +10 -1
  97. package/dist/src/dns-resolver.d.ts.map +1 -1
  98. package/dist/src/dns-resolver.js +41 -3
  99. package/dist/src/dns-resolver.js.map +1 -1
  100. package/dist/src/extractor.d.ts +12 -0
  101. package/dist/src/extractor.d.ts.map +1 -1
  102. package/dist/src/extractor.js +386 -0
  103. package/dist/src/extractor.js.map +1 -1
  104. package/dist/src/index.d.ts +1 -1
  105. package/dist/src/index.js +1 -1
  106. package/dist/src/ip-matcher.d.ts +23 -0
  107. package/dist/src/ip-matcher.d.ts.map +1 -1
  108. package/dist/src/ip-matcher.js +96 -23
  109. package/dist/src/ip-matcher.js.map +1 -1
  110. package/dist/src/manifest-schema.d.ts +12 -62
  111. package/dist/src/manifest-schema.d.ts.map +1 -1
  112. package/dist/src/manifest.d.ts +6 -0
  113. package/dist/src/manifest.d.ts.map +1 -1
  114. package/dist/src/manifest.js +21 -6
  115. package/dist/src/manifest.js.map +1 -1
  116. package/dist/src/proxy.d.ts +19 -4
  117. package/dist/src/proxy.d.ts.map +1 -1
  118. package/dist/src/proxy.js +111 -33
  119. package/dist/src/proxy.js.map +1 -1
  120. package/dist/src/safe-filename.d.ts +3 -0
  121. package/dist/src/safe-filename.d.ts.map +1 -0
  122. package/dist/src/safe-filename.js +8 -0
  123. package/dist/src/safe-filename.js.map +1 -0
  124. package/dist/src/sanitizer.d.ts.map +1 -1
  125. package/dist/src/sanitizer.js +36 -10
  126. package/dist/src/sanitizer.js.map +1 -1
  127. package/dist/src/technique-checker.d.ts +14 -0
  128. package/dist/src/technique-checker.d.ts.map +1 -1
  129. package/dist/src/technique-checker.js +123 -2
  130. package/dist/src/technique-checker.js.map +1 -1
  131. package/dist/src/transports/http.d.ts +6 -2
  132. package/dist/src/transports/http.d.ts.map +1 -1
  133. package/dist/src/transports/http.js +101 -13
  134. package/dist/src/transports/http.js.map +1 -1
  135. package/dist/src/transports/sse.d.ts +1 -1
  136. package/dist/src/transports/sse.d.ts.map +1 -1
  137. package/dist/src/transports/sse.js +28 -18
  138. package/dist/src/transports/sse.js.map +1 -1
  139. package/dist/src/transports/stdio.d.ts +2 -2
  140. package/dist/src/transports/stdio.d.ts.map +1 -1
  141. package/dist/src/transports/stdio.js +77 -48
  142. package/dist/src/transports/stdio.js.map +1 -1
  143. package/dist/src/tui/audit-tailer.d.ts.map +1 -1
  144. package/dist/src/tui/audit-tailer.js +2 -1
  145. package/dist/src/tui/audit-tailer.js.map +1 -1
  146. package/dist/src/tui/useAuditWatcher.d.ts.map +1 -1
  147. package/dist/src/tui/useAuditWatcher.js +2 -1
  148. package/dist/src/tui/useAuditWatcher.js.map +1 -1
  149. package/dist/src/types.d.ts +1 -1
  150. package/dist/src/types.d.ts.map +1 -1
  151. package/dist/src/validator.d.ts +19 -28
  152. package/dist/src/validator.d.ts.map +1 -1
  153. package/dist/src/validator.js +315 -113
  154. package/dist/src/validator.js.map +1 -1
  155. package/examples/claude-desktop-burp-config.json +5 -7
  156. package/examples/claude-desktop-config.json +3 -4
  157. package/examples/scope-manifest.json +11 -11
  158. package/package.json +33 -13
  159. package/scripts/postinstall.cjs +14 -0
  160. package/examples/scope-test-integsec.json +0 -32
package/package.json CHANGED
@@ -1,26 +1,37 @@
1
1
  {
2
2
  "name": "@integsec/agentic-pentest-proxy",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "IntegSec Agentic Pentest MCP Proxy — enforce penetration testing engagement scope for AI agents",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/IntegSec/agentic-pentest-proxy.git"
8
+ },
5
9
  "type": "module",
6
10
  "bin": {
11
+ "agentic-pentest-proxy": "dist/bin/integsec-agentic-pentest-proxy.js",
7
12
  "integsec-agentic-pentest-proxy": "dist/bin/integsec-agentic-pentest-proxy.js",
8
- "integsec-agentic-pentest-tui": "dist/bin/integsec-agentic-pentest-tui.js"
13
+ "integsec-agentic-pentest-setup": "dist/bin/integsec-agentic-pentest-setup.js",
14
+ "integsec-agentic-pentest-tui": "dist/bin/integsec-agentic-pentest-tui.js",
15
+ "integsec-agentic-pentest-manifest": "dist/bin/integsec-agentic-pentest-manifest.js"
9
16
  },
10
17
  "files": [
11
18
  "dist/",
12
19
  "examples/",
13
- "README.md"
20
+ "scripts/postinstall.cjs",
21
+ "README.md",
22
+ "LICENSE"
14
23
  ],
15
24
  "main": "./dist/src/index.js",
16
25
  "types": "./dist/src/index.d.ts",
17
26
  "scripts": {
18
- "build": "tsc",
27
+ "build": "tsc && node -e \"const fs=require('fs'),path=require('path');const src='src/builder/web/client-form.html',dst='dist/src/builder/web/client-form.html';fs.mkdirSync(path.dirname(dst),{recursive:true});fs.copyFileSync(src,dst);console.log('Copied',src,'->',dst);\"",
19
28
  "dev": "tsc --watch",
20
29
  "test": "vitest run",
21
30
  "test:watch": "vitest",
31
+ "driver": "vitest run --config vitest.driver.config.ts",
22
32
  "lint": "tsc --noEmit",
23
- "start": "node dist/bin/integsec-agentic-pentest-proxy.js"
33
+ "start": "node dist/bin/integsec-agentic-pentest-proxy.js",
34
+ "postinstall": "node scripts/postinstall.cjs"
24
35
  },
25
36
  "keywords": [
26
37
  "mcp",
@@ -35,29 +46,38 @@
35
46
  "offensive-security"
36
47
  ],
37
48
  "author": "IntegSec",
38
- "license": "MIT",
49
+ "license": "Apache-2.0",
39
50
  "dependencies": {
40
51
  "@modelcontextprotocol/sdk": "^1.12.0",
41
52
  "dotenv": "^16.4.0",
42
53
  "ink": "^5.2.1",
43
54
  "ink-spinner": "^5.0.0",
44
- "ip-cidr": "^4.0.1",
55
+ "ipaddr.js": "^2.5.0",
45
56
  "react": "^18.3.1",
46
- "zod": "^3.24.0"
57
+ "zod": "^4.6.7"
47
58
  },
48
59
  "devDependencies": {
49
- "@types/node": "^20.0.0",
60
+ "@types/node": "^22.20.5",
50
61
  "@types/react": "^18.3.28",
51
62
  "typescript": "^5.7.0",
52
- "vitest": "^3.0.0"
63
+ "vitest": "^5.1.0"
53
64
  },
54
65
  "optionalDependencies": {
55
66
  "@aws-sdk/client-cloudwatch-logs": "^3.700.0",
67
+ "@aws-sdk/client-secrets-manager": "^3.1164.0",
56
68
  "@azure/identity": "^4.5.0",
57
- "@azure/monitor-ingestion": "^1.1.0",
58
- "@google-cloud/logging": "^11.0.0"
69
+ "@azure/keyvault-secrets": "^4.12.0",
70
+ "@azure/monitor-ingestion": "^1.1.0"
71
+ },
72
+ "peerDependencies": {
73
+ "@google-cloud/logging": "^12.3.0",
74
+ "@google-cloud/secret-manager": "^7.2.0"
75
+ },
76
+ "peerDependenciesMeta": {
77
+ "@google-cloud/logging": { "optional": true },
78
+ "@google-cloud/secret-manager": { "optional": true }
59
79
  },
60
80
  "engines": {
61
- "node": ">=20.0.0"
81
+ "node": ">=22.0.0"
62
82
  }
63
83
  }
@@ -0,0 +1,14 @@
1
+ // This optional welcome note performs no network requests or file writes.
2
+ if (!process.env.CI && process.env.INTEGSEC_NO_INSTALL_MESSAGE !== "1") {
3
+ const version = require("../package.json").version;
4
+ console.log(`
5
+ ┌─────────────────────────────────────────────────────┐
6
+ │ IntegSec Agentic Pentest Proxy v${version.padEnd(19)}│
7
+ │ Scope first. Tools second. Audit every decision. │
8
+ └─────────────────────────────────────────────────────┘
9
+
10
+ Next: integsec-agentic-pentest-manifest new
11
+ Add an MCP tool: integsec-agentic-pentest-setup --help
12
+ Watch decisions: integsec-agentic-pentest-tui
13
+ `);
14
+ }
@@ -1,32 +0,0 @@
1
- {
2
- "engagement_id": "ENG-2026-TEST-001",
3
- "client": "IntegSec Internal",
4
- "operator": "security@integsec.com",
5
- "authorized_targets": {
6
- "ip_ranges": [],
7
- "domains": [
8
- "turbopentest.com",
9
- "*.turbopentest.com",
10
- "integsec.com",
11
- "*.integsec.com",
12
- "lfo.pw",
13
- "*.lfo.pw",
14
- "pentestprepper.com",
15
- "*.pentestprepper.com"
16
- ],
17
- "urls": [
18
- "https://turbopentest.com",
19
- "https://integsec.com",
20
- "https://lfo.pw",
21
- "https://pentestprepper.com"
22
- ],
23
- "cloud_accounts": []
24
- },
25
- "excluded_targets": [],
26
- "authorized_techniques": ["recon", "web_app", "api_testing", "ssl_tls"],
27
- "excluded_techniques": ["dos", "destructive", "social_engineering"],
28
- "engagement_window": {
29
- "start": "2026-03-27T00:00:00Z",
30
- "end": "2026-04-27T23:59:59Z"
31
- }
32
- }