aiptx 2.0.7__py3-none-any.whl

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 (187) hide show
  1. aipt_v2/__init__.py +110 -0
  2. aipt_v2/__main__.py +24 -0
  3. aipt_v2/agents/AIPTxAgent/__init__.py +10 -0
  4. aipt_v2/agents/AIPTxAgent/aiptx_agent.py +211 -0
  5. aipt_v2/agents/__init__.py +46 -0
  6. aipt_v2/agents/base.py +520 -0
  7. aipt_v2/agents/exploit_agent.py +688 -0
  8. aipt_v2/agents/ptt.py +406 -0
  9. aipt_v2/agents/state.py +168 -0
  10. aipt_v2/app.py +957 -0
  11. aipt_v2/browser/__init__.py +31 -0
  12. aipt_v2/browser/automation.py +458 -0
  13. aipt_v2/browser/crawler.py +453 -0
  14. aipt_v2/cli.py +2933 -0
  15. aipt_v2/compliance/__init__.py +71 -0
  16. aipt_v2/compliance/compliance_report.py +449 -0
  17. aipt_v2/compliance/framework_mapper.py +424 -0
  18. aipt_v2/compliance/nist_mapping.py +345 -0
  19. aipt_v2/compliance/owasp_mapping.py +330 -0
  20. aipt_v2/compliance/pci_mapping.py +297 -0
  21. aipt_v2/config.py +341 -0
  22. aipt_v2/core/__init__.py +43 -0
  23. aipt_v2/core/agent.py +630 -0
  24. aipt_v2/core/llm.py +395 -0
  25. aipt_v2/core/memory.py +305 -0
  26. aipt_v2/core/ptt.py +329 -0
  27. aipt_v2/database/__init__.py +14 -0
  28. aipt_v2/database/models.py +232 -0
  29. aipt_v2/database/repository.py +384 -0
  30. aipt_v2/docker/__init__.py +23 -0
  31. aipt_v2/docker/builder.py +260 -0
  32. aipt_v2/docker/manager.py +222 -0
  33. aipt_v2/docker/sandbox.py +371 -0
  34. aipt_v2/evasion/__init__.py +58 -0
  35. aipt_v2/evasion/request_obfuscator.py +272 -0
  36. aipt_v2/evasion/tls_fingerprint.py +285 -0
  37. aipt_v2/evasion/ua_rotator.py +301 -0
  38. aipt_v2/evasion/waf_bypass.py +439 -0
  39. aipt_v2/execution/__init__.py +23 -0
  40. aipt_v2/execution/executor.py +302 -0
  41. aipt_v2/execution/parser.py +544 -0
  42. aipt_v2/execution/terminal.py +337 -0
  43. aipt_v2/health.py +437 -0
  44. aipt_v2/intelligence/__init__.py +194 -0
  45. aipt_v2/intelligence/adaptation.py +474 -0
  46. aipt_v2/intelligence/auth.py +520 -0
  47. aipt_v2/intelligence/chaining.py +775 -0
  48. aipt_v2/intelligence/correlation.py +536 -0
  49. aipt_v2/intelligence/cve_aipt.py +334 -0
  50. aipt_v2/intelligence/cve_info.py +1111 -0
  51. aipt_v2/intelligence/knowledge_graph.py +590 -0
  52. aipt_v2/intelligence/learning.py +626 -0
  53. aipt_v2/intelligence/llm_analyzer.py +502 -0
  54. aipt_v2/intelligence/llm_tool_selector.py +518 -0
  55. aipt_v2/intelligence/payload_generator.py +562 -0
  56. aipt_v2/intelligence/rag.py +239 -0
  57. aipt_v2/intelligence/scope.py +442 -0
  58. aipt_v2/intelligence/searchers/__init__.py +5 -0
  59. aipt_v2/intelligence/searchers/exploitdb_searcher.py +523 -0
  60. aipt_v2/intelligence/searchers/github_searcher.py +467 -0
  61. aipt_v2/intelligence/searchers/google_searcher.py +281 -0
  62. aipt_v2/intelligence/tools.json +443 -0
  63. aipt_v2/intelligence/triage.py +670 -0
  64. aipt_v2/interactive_shell.py +559 -0
  65. aipt_v2/interface/__init__.py +5 -0
  66. aipt_v2/interface/cli.py +230 -0
  67. aipt_v2/interface/main.py +501 -0
  68. aipt_v2/interface/tui.py +1276 -0
  69. aipt_v2/interface/utils.py +583 -0
  70. aipt_v2/llm/__init__.py +39 -0
  71. aipt_v2/llm/config.py +26 -0
  72. aipt_v2/llm/llm.py +514 -0
  73. aipt_v2/llm/memory.py +214 -0
  74. aipt_v2/llm/request_queue.py +89 -0
  75. aipt_v2/llm/utils.py +89 -0
  76. aipt_v2/local_tool_installer.py +1467 -0
  77. aipt_v2/models/__init__.py +15 -0
  78. aipt_v2/models/findings.py +295 -0
  79. aipt_v2/models/phase_result.py +224 -0
  80. aipt_v2/models/scan_config.py +207 -0
  81. aipt_v2/monitoring/grafana/dashboards/aipt-dashboard.json +355 -0
  82. aipt_v2/monitoring/grafana/dashboards/default.yml +17 -0
  83. aipt_v2/monitoring/grafana/datasources/prometheus.yml +17 -0
  84. aipt_v2/monitoring/prometheus.yml +60 -0
  85. aipt_v2/orchestration/__init__.py +52 -0
  86. aipt_v2/orchestration/pipeline.py +398 -0
  87. aipt_v2/orchestration/progress.py +300 -0
  88. aipt_v2/orchestration/scheduler.py +296 -0
  89. aipt_v2/orchestrator.py +2427 -0
  90. aipt_v2/payloads/__init__.py +27 -0
  91. aipt_v2/payloads/cmdi.py +150 -0
  92. aipt_v2/payloads/sqli.py +263 -0
  93. aipt_v2/payloads/ssrf.py +204 -0
  94. aipt_v2/payloads/templates.py +222 -0
  95. aipt_v2/payloads/traversal.py +166 -0
  96. aipt_v2/payloads/xss.py +204 -0
  97. aipt_v2/prompts/__init__.py +60 -0
  98. aipt_v2/proxy/__init__.py +29 -0
  99. aipt_v2/proxy/history.py +352 -0
  100. aipt_v2/proxy/interceptor.py +452 -0
  101. aipt_v2/recon/__init__.py +44 -0
  102. aipt_v2/recon/dns.py +241 -0
  103. aipt_v2/recon/osint.py +367 -0
  104. aipt_v2/recon/subdomain.py +372 -0
  105. aipt_v2/recon/tech_detect.py +311 -0
  106. aipt_v2/reports/__init__.py +17 -0
  107. aipt_v2/reports/generator.py +313 -0
  108. aipt_v2/reports/html_report.py +378 -0
  109. aipt_v2/runtime/__init__.py +53 -0
  110. aipt_v2/runtime/base.py +30 -0
  111. aipt_v2/runtime/docker.py +401 -0
  112. aipt_v2/runtime/local.py +346 -0
  113. aipt_v2/runtime/tool_server.py +205 -0
  114. aipt_v2/runtime/vps.py +830 -0
  115. aipt_v2/scanners/__init__.py +28 -0
  116. aipt_v2/scanners/base.py +273 -0
  117. aipt_v2/scanners/nikto.py +244 -0
  118. aipt_v2/scanners/nmap.py +402 -0
  119. aipt_v2/scanners/nuclei.py +273 -0
  120. aipt_v2/scanners/web.py +454 -0
  121. aipt_v2/scripts/security_audit.py +366 -0
  122. aipt_v2/setup_wizard.py +941 -0
  123. aipt_v2/skills/__init__.py +80 -0
  124. aipt_v2/skills/agents/__init__.py +14 -0
  125. aipt_v2/skills/agents/api_tester.py +706 -0
  126. aipt_v2/skills/agents/base.py +477 -0
  127. aipt_v2/skills/agents/code_review.py +459 -0
  128. aipt_v2/skills/agents/security_agent.py +336 -0
  129. aipt_v2/skills/agents/web_pentest.py +818 -0
  130. aipt_v2/skills/prompts/__init__.py +647 -0
  131. aipt_v2/system_detector.py +539 -0
  132. aipt_v2/telemetry/__init__.py +7 -0
  133. aipt_v2/telemetry/tracer.py +347 -0
  134. aipt_v2/terminal/__init__.py +28 -0
  135. aipt_v2/terminal/executor.py +400 -0
  136. aipt_v2/terminal/sandbox.py +350 -0
  137. aipt_v2/tools/__init__.py +44 -0
  138. aipt_v2/tools/active_directory/__init__.py +78 -0
  139. aipt_v2/tools/active_directory/ad_config.py +238 -0
  140. aipt_v2/tools/active_directory/bloodhound_wrapper.py +447 -0
  141. aipt_v2/tools/active_directory/kerberos_attacks.py +430 -0
  142. aipt_v2/tools/active_directory/ldap_enum.py +533 -0
  143. aipt_v2/tools/active_directory/smb_attacks.py +505 -0
  144. aipt_v2/tools/agents_graph/__init__.py +19 -0
  145. aipt_v2/tools/agents_graph/agents_graph_actions.py +69 -0
  146. aipt_v2/tools/api_security/__init__.py +76 -0
  147. aipt_v2/tools/api_security/api_discovery.py +608 -0
  148. aipt_v2/tools/api_security/graphql_scanner.py +622 -0
  149. aipt_v2/tools/api_security/jwt_analyzer.py +577 -0
  150. aipt_v2/tools/api_security/openapi_fuzzer.py +761 -0
  151. aipt_v2/tools/browser/__init__.py +5 -0
  152. aipt_v2/tools/browser/browser_actions.py +238 -0
  153. aipt_v2/tools/browser/browser_instance.py +535 -0
  154. aipt_v2/tools/browser/tab_manager.py +344 -0
  155. aipt_v2/tools/cloud/__init__.py +70 -0
  156. aipt_v2/tools/cloud/cloud_config.py +273 -0
  157. aipt_v2/tools/cloud/cloud_scanner.py +639 -0
  158. aipt_v2/tools/cloud/prowler_tool.py +571 -0
  159. aipt_v2/tools/cloud/scoutsuite_tool.py +359 -0
  160. aipt_v2/tools/executor.py +307 -0
  161. aipt_v2/tools/parser.py +408 -0
  162. aipt_v2/tools/proxy/__init__.py +5 -0
  163. aipt_v2/tools/proxy/proxy_actions.py +103 -0
  164. aipt_v2/tools/proxy/proxy_manager.py +789 -0
  165. aipt_v2/tools/registry.py +196 -0
  166. aipt_v2/tools/scanners/__init__.py +343 -0
  167. aipt_v2/tools/scanners/acunetix_tool.py +712 -0
  168. aipt_v2/tools/scanners/burp_tool.py +631 -0
  169. aipt_v2/tools/scanners/config.py +156 -0
  170. aipt_v2/tools/scanners/nessus_tool.py +588 -0
  171. aipt_v2/tools/scanners/zap_tool.py +612 -0
  172. aipt_v2/tools/terminal/__init__.py +5 -0
  173. aipt_v2/tools/terminal/terminal_actions.py +37 -0
  174. aipt_v2/tools/terminal/terminal_manager.py +153 -0
  175. aipt_v2/tools/terminal/terminal_session.py +449 -0
  176. aipt_v2/tools/tool_processing.py +108 -0
  177. aipt_v2/utils/__init__.py +17 -0
  178. aipt_v2/utils/logging.py +202 -0
  179. aipt_v2/utils/model_manager.py +187 -0
  180. aipt_v2/utils/searchers/__init__.py +269 -0
  181. aipt_v2/verify_install.py +793 -0
  182. aiptx-2.0.7.dist-info/METADATA +345 -0
  183. aiptx-2.0.7.dist-info/RECORD +187 -0
  184. aiptx-2.0.7.dist-info/WHEEL +5 -0
  185. aiptx-2.0.7.dist-info/entry_points.txt +7 -0
  186. aiptx-2.0.7.dist-info/licenses/LICENSE +21 -0
  187. aiptx-2.0.7.dist-info/top_level.txt +1 -0
@@ -0,0 +1,156 @@
1
+ """
2
+ AIPT Scanner Configuration - Centralized Scanner Settings
3
+
4
+ This file contains all configuration for external security scanners.
5
+ Modify these settings to connect to different scanner instances.
6
+ """
7
+
8
+ import os
9
+ from dataclasses import dataclass
10
+ from typing import Optional
11
+
12
+
13
+ # ==================== Server Configuration ====================
14
+
15
+ # Remote Scanner Server
16
+ SCANNER_SERVER_IP = os.getenv("AIPT_SCANNER_IP", "13.127.28.41")
17
+
18
+ # Port Configuration
19
+ ACUNETIX_PORT = int(os.getenv("AIPT_ACUNETIX_PORT", "3443"))
20
+ BURP_PORT = int(os.getenv("AIPT_BURP_PORT", "1337"))
21
+
22
+ # Full URLs
23
+ ACUNETIX_URL = os.getenv("AIPT_ACUNETIX_URL", f"https://{SCANNER_SERVER_IP}:{ACUNETIX_PORT}")
24
+ BURP_URL = os.getenv("AIPT_BURP_URL", f"http://{SCANNER_SERVER_IP}:{BURP_PORT}/v0.1")
25
+
26
+
27
+ # ==================== Acunetix Configuration ====================
28
+
29
+ @dataclass
30
+ class AcunetixSettings:
31
+ """Acunetix scanner settings."""
32
+ base_url: str = ACUNETIX_URL
33
+ api_key: str = os.getenv(
34
+ "AIPT_ACUNETIX_API_KEY",
35
+ "1986ad8c0a5b3df4d7028d5f3c06e936c83ef0a486ef74537812989cff1a41a7c"
36
+ )
37
+ verify_ssl: bool = False
38
+ timeout: int = 30
39
+
40
+ # Default scan settings
41
+ default_profile: str = "full" # full, high_risk, xss, sqli, crawl, malware
42
+ default_criticality: int = 10 # 0-30 (10=normal, 30=critical)
43
+
44
+ # Rate limiting
45
+ max_concurrent_scans: int = 5
46
+ poll_interval: int = 30 # seconds
47
+
48
+
49
+ # ==================== Burp Suite Configuration ====================
50
+
51
+ @dataclass
52
+ class BurpSettings:
53
+ """Burp Suite scanner settings."""
54
+ base_url: str = BURP_URL
55
+ api_key: str = os.getenv("AIPT_BURP_API_KEY", "t7thBWbImyiP8SA9hojkiFhq9QbHqlcm")
56
+ verify_ssl: bool = False
57
+ timeout: int = 30
58
+
59
+ # Default scan settings
60
+ default_config: Optional[str] = None # Scan configuration ID
61
+
62
+ # Rate limiting
63
+ max_concurrent_scans: int = 3
64
+ poll_interval: int = 30 # seconds
65
+
66
+
67
+ # ==================== Global Settings ====================
68
+
69
+ @dataclass
70
+ class ScannerSettings:
71
+ """Global scanner settings."""
72
+ # Timeouts
73
+ scan_timeout: int = 3600 # 1 hour max per scan
74
+ connection_timeout: int = 30
75
+
76
+ # Output
77
+ save_reports: bool = True
78
+ report_dir: str = "reports/scanners"
79
+ report_format: str = "html" # html, pdf, xml
80
+
81
+ # Finding thresholds
82
+ min_severity: str = "info" # info, low, medium, high, critical
83
+ deduplicate_findings: bool = True
84
+
85
+ # Retry settings
86
+ max_retries: int = 3
87
+ retry_delay: int = 5 # seconds
88
+
89
+
90
+ # ==================== Default Instances ====================
91
+
92
+ ACUNETIX = AcunetixSettings()
93
+ BURP = BurpSettings()
94
+ SCANNER = ScannerSettings()
95
+
96
+
97
+ # ==================== Configuration Helpers ====================
98
+
99
+ def get_acunetix_config() -> dict:
100
+ """Get Acunetix configuration as dict for tool initialization."""
101
+ return {
102
+ "base_url": ACUNETIX.base_url,
103
+ "api_key": ACUNETIX.api_key,
104
+ "verify_ssl": ACUNETIX.verify_ssl,
105
+ "timeout": ACUNETIX.timeout
106
+ }
107
+
108
+
109
+ def get_burp_config() -> dict:
110
+ """Get Burp Suite configuration as dict for tool initialization."""
111
+ return {
112
+ "base_url": BURP.base_url,
113
+ "api_key": BURP.api_key,
114
+ "verify_ssl": BURP.verify_ssl,
115
+ "timeout": BURP.timeout
116
+ }
117
+
118
+
119
+ def print_config():
120
+ """Print current scanner configuration."""
121
+ print("=" * 60)
122
+ print("AIPT Scanner Configuration")
123
+ print("=" * 60)
124
+ print(f"\nServer IP: {SCANNER_SERVER_IP}")
125
+ print(f"\nAcunetix:")
126
+ print(f" URL: {ACUNETIX.base_url}")
127
+ print(f" API Key: {ACUNETIX.api_key[:20]}..." if ACUNETIX.api_key else " API Key: Not set")
128
+ print(f" SSL: {ACUNETIX.verify_ssl}")
129
+ print(f"\nBurp Suite:")
130
+ print(f" URL: {BURP.base_url}")
131
+ print(f" API Key: {BURP.api_key[:20]}..." if BURP.api_key else " API Key: Not set")
132
+ print(f" SSL: {BURP.verify_ssl}")
133
+ print("=" * 60)
134
+
135
+
136
+ # ==================== Environment Variable Reference ====================
137
+ """
138
+ Environment variables for configuration override:
139
+
140
+ AIPT_SCANNER_IP - Scanner server IP (default: 13.127.28.41)
141
+ AIPT_ACUNETIX_PORT - Acunetix port (default: 3443)
142
+ AIPT_BURP_PORT - Burp port (default: 1337)
143
+ AIPT_ACUNETIX_URL - Full Acunetix URL (overrides IP+port)
144
+ AIPT_BURP_URL - Full Burp URL (overrides IP+port)
145
+ AIPT_ACUNETIX_API_KEY - Acunetix API key
146
+ AIPT_BURP_API_KEY - Burp Suite API key
147
+
148
+ Example:
149
+ export AIPT_SCANNER_IP="192.168.1.100"
150
+ export AIPT_ACUNETIX_API_KEY="your-api-key-here"
151
+ export AIPT_BURP_API_KEY="your-burp-api-key"
152
+ """
153
+
154
+
155
+ if __name__ == "__main__":
156
+ print_config()