aiptx 2.0.2__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.
Potentially problematic release.
This version of aiptx might be problematic. Click here for more details.
- aipt_v2/__init__.py +110 -0
- aipt_v2/__main__.py +24 -0
- aipt_v2/agents/AIPTxAgent/__init__.py +10 -0
- aipt_v2/agents/AIPTxAgent/aiptx_agent.py +211 -0
- aipt_v2/agents/__init__.py +24 -0
- aipt_v2/agents/base.py +520 -0
- aipt_v2/agents/ptt.py +406 -0
- aipt_v2/agents/state.py +168 -0
- aipt_v2/app.py +960 -0
- aipt_v2/browser/__init__.py +31 -0
- aipt_v2/browser/automation.py +458 -0
- aipt_v2/browser/crawler.py +453 -0
- aipt_v2/cli.py +321 -0
- aipt_v2/compliance/__init__.py +71 -0
- aipt_v2/compliance/compliance_report.py +449 -0
- aipt_v2/compliance/framework_mapper.py +424 -0
- aipt_v2/compliance/nist_mapping.py +345 -0
- aipt_v2/compliance/owasp_mapping.py +330 -0
- aipt_v2/compliance/pci_mapping.py +297 -0
- aipt_v2/config.py +288 -0
- aipt_v2/core/__init__.py +43 -0
- aipt_v2/core/agent.py +630 -0
- aipt_v2/core/llm.py +395 -0
- aipt_v2/core/memory.py +305 -0
- aipt_v2/core/ptt.py +329 -0
- aipt_v2/database/__init__.py +14 -0
- aipt_v2/database/models.py +232 -0
- aipt_v2/database/repository.py +384 -0
- aipt_v2/docker/__init__.py +23 -0
- aipt_v2/docker/builder.py +260 -0
- aipt_v2/docker/manager.py +222 -0
- aipt_v2/docker/sandbox.py +371 -0
- aipt_v2/evasion/__init__.py +58 -0
- aipt_v2/evasion/request_obfuscator.py +272 -0
- aipt_v2/evasion/tls_fingerprint.py +285 -0
- aipt_v2/evasion/ua_rotator.py +301 -0
- aipt_v2/evasion/waf_bypass.py +439 -0
- aipt_v2/execution/__init__.py +23 -0
- aipt_v2/execution/executor.py +302 -0
- aipt_v2/execution/parser.py +544 -0
- aipt_v2/execution/terminal.py +337 -0
- aipt_v2/health.py +437 -0
- aipt_v2/intelligence/__init__.py +85 -0
- aipt_v2/intelligence/auth.py +520 -0
- aipt_v2/intelligence/chaining.py +775 -0
- aipt_v2/intelligence/cve_aipt.py +334 -0
- aipt_v2/intelligence/cve_info.py +1111 -0
- aipt_v2/intelligence/rag.py +239 -0
- aipt_v2/intelligence/scope.py +442 -0
- aipt_v2/intelligence/searchers/__init__.py +5 -0
- aipt_v2/intelligence/searchers/exploitdb_searcher.py +523 -0
- aipt_v2/intelligence/searchers/github_searcher.py +467 -0
- aipt_v2/intelligence/searchers/google_searcher.py +281 -0
- aipt_v2/intelligence/tools.json +443 -0
- aipt_v2/intelligence/triage.py +670 -0
- aipt_v2/interface/__init__.py +5 -0
- aipt_v2/interface/cli.py +230 -0
- aipt_v2/interface/main.py +501 -0
- aipt_v2/interface/tui.py +1276 -0
- aipt_v2/interface/utils.py +583 -0
- aipt_v2/llm/__init__.py +39 -0
- aipt_v2/llm/config.py +26 -0
- aipt_v2/llm/llm.py +514 -0
- aipt_v2/llm/memory.py +214 -0
- aipt_v2/llm/request_queue.py +89 -0
- aipt_v2/llm/utils.py +89 -0
- aipt_v2/models/__init__.py +15 -0
- aipt_v2/models/findings.py +295 -0
- aipt_v2/models/phase_result.py +224 -0
- aipt_v2/models/scan_config.py +207 -0
- aipt_v2/monitoring/grafana/dashboards/aipt-dashboard.json +355 -0
- aipt_v2/monitoring/grafana/dashboards/default.yml +17 -0
- aipt_v2/monitoring/grafana/datasources/prometheus.yml +17 -0
- aipt_v2/monitoring/prometheus.yml +60 -0
- aipt_v2/orchestration/__init__.py +52 -0
- aipt_v2/orchestration/pipeline.py +398 -0
- aipt_v2/orchestration/progress.py +300 -0
- aipt_v2/orchestration/scheduler.py +296 -0
- aipt_v2/orchestrator.py +2284 -0
- aipt_v2/payloads/__init__.py +27 -0
- aipt_v2/payloads/cmdi.py +150 -0
- aipt_v2/payloads/sqli.py +263 -0
- aipt_v2/payloads/ssrf.py +204 -0
- aipt_v2/payloads/templates.py +222 -0
- aipt_v2/payloads/traversal.py +166 -0
- aipt_v2/payloads/xss.py +204 -0
- aipt_v2/prompts/__init__.py +60 -0
- aipt_v2/proxy/__init__.py +29 -0
- aipt_v2/proxy/history.py +352 -0
- aipt_v2/proxy/interceptor.py +452 -0
- aipt_v2/recon/__init__.py +44 -0
- aipt_v2/recon/dns.py +241 -0
- aipt_v2/recon/osint.py +367 -0
- aipt_v2/recon/subdomain.py +372 -0
- aipt_v2/recon/tech_detect.py +311 -0
- aipt_v2/reports/__init__.py +17 -0
- aipt_v2/reports/generator.py +313 -0
- aipt_v2/reports/html_report.py +378 -0
- aipt_v2/runtime/__init__.py +44 -0
- aipt_v2/runtime/base.py +30 -0
- aipt_v2/runtime/docker.py +401 -0
- aipt_v2/runtime/local.py +346 -0
- aipt_v2/runtime/tool_server.py +205 -0
- aipt_v2/scanners/__init__.py +28 -0
- aipt_v2/scanners/base.py +273 -0
- aipt_v2/scanners/nikto.py +244 -0
- aipt_v2/scanners/nmap.py +402 -0
- aipt_v2/scanners/nuclei.py +273 -0
- aipt_v2/scanners/web.py +454 -0
- aipt_v2/scripts/security_audit.py +366 -0
- aipt_v2/telemetry/__init__.py +7 -0
- aipt_v2/telemetry/tracer.py +347 -0
- aipt_v2/terminal/__init__.py +28 -0
- aipt_v2/terminal/executor.py +400 -0
- aipt_v2/terminal/sandbox.py +350 -0
- aipt_v2/tools/__init__.py +44 -0
- aipt_v2/tools/active_directory/__init__.py +78 -0
- aipt_v2/tools/active_directory/ad_config.py +238 -0
- aipt_v2/tools/active_directory/bloodhound_wrapper.py +447 -0
- aipt_v2/tools/active_directory/kerberos_attacks.py +430 -0
- aipt_v2/tools/active_directory/ldap_enum.py +533 -0
- aipt_v2/tools/active_directory/smb_attacks.py +505 -0
- aipt_v2/tools/agents_graph/__init__.py +19 -0
- aipt_v2/tools/agents_graph/agents_graph_actions.py +69 -0
- aipt_v2/tools/api_security/__init__.py +76 -0
- aipt_v2/tools/api_security/api_discovery.py +608 -0
- aipt_v2/tools/api_security/graphql_scanner.py +622 -0
- aipt_v2/tools/api_security/jwt_analyzer.py +577 -0
- aipt_v2/tools/api_security/openapi_fuzzer.py +761 -0
- aipt_v2/tools/browser/__init__.py +5 -0
- aipt_v2/tools/browser/browser_actions.py +238 -0
- aipt_v2/tools/browser/browser_instance.py +535 -0
- aipt_v2/tools/browser/tab_manager.py +344 -0
- aipt_v2/tools/cloud/__init__.py +70 -0
- aipt_v2/tools/cloud/cloud_config.py +273 -0
- aipt_v2/tools/cloud/cloud_scanner.py +639 -0
- aipt_v2/tools/cloud/prowler_tool.py +571 -0
- aipt_v2/tools/cloud/scoutsuite_tool.py +359 -0
- aipt_v2/tools/executor.py +307 -0
- aipt_v2/tools/parser.py +408 -0
- aipt_v2/tools/proxy/__init__.py +5 -0
- aipt_v2/tools/proxy/proxy_actions.py +103 -0
- aipt_v2/tools/proxy/proxy_manager.py +789 -0
- aipt_v2/tools/registry.py +196 -0
- aipt_v2/tools/scanners/__init__.py +343 -0
- aipt_v2/tools/scanners/acunetix_tool.py +712 -0
- aipt_v2/tools/scanners/burp_tool.py +631 -0
- aipt_v2/tools/scanners/config.py +156 -0
- aipt_v2/tools/scanners/nessus_tool.py +588 -0
- aipt_v2/tools/scanners/zap_tool.py +612 -0
- aipt_v2/tools/terminal/__init__.py +5 -0
- aipt_v2/tools/terminal/terminal_actions.py +37 -0
- aipt_v2/tools/terminal/terminal_manager.py +153 -0
- aipt_v2/tools/terminal/terminal_session.py +449 -0
- aipt_v2/tools/tool_processing.py +108 -0
- aipt_v2/utils/__init__.py +17 -0
- aipt_v2/utils/logging.py +201 -0
- aipt_v2/utils/model_manager.py +187 -0
- aipt_v2/utils/searchers/__init__.py +269 -0
- aiptx-2.0.2.dist-info/METADATA +324 -0
- aiptx-2.0.2.dist-info/RECORD +165 -0
- aiptx-2.0.2.dist-info/WHEEL +5 -0
- aiptx-2.0.2.dist-info/entry_points.txt +7 -0
- aiptx-2.0.2.dist-info/licenses/LICENSE +21 -0
- aiptx-2.0.2.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()
|