From a3ec1a255659cc483d2eeca7efa8d1b89f7f1fb7 Mon Sep 17 00:00:00 2001 From: DigiJ Date: Mon, 2 Mar 2026 21:08:11 -0800 Subject: [PATCH] Add Threat Monitor with drill-down popups, Hal agent mode, Windows defense, LLM trainer - Threat Monitor: 7-tab monitoring page (live, connections, network intel, threats, packet capture, DDoS mitigation, counter-attack) with real-time SSE streaming and optimized data collection (heartbeat, cached subprocess calls, bulk process name cache) - Drill-down popups: Every live monitor stat is clickable, opening a popup with detailed data (connections list with per-connection detail view, GeoIP lookup, process kill, bandwidth, ARP spoof, port scan, DDoS status) - Hal agent mode: Chat routes rewritten to use Agent system with create_module tool, SSE streaming of thought/action/result steps - Windows defense module with full security audit - LLM trainer module and routes - Defense landing page with platform-specific sub-pages - Clean up stale files (get-pip.py, download.png, custom_adultsites.json) Co-Authored-By: Claude Opus 4.6 --- autarch_public.spec | 15 +- autarch_settings.conf | 2 +- concept.md | 142 + core/tools.py | 67 + custom_adultsites.json | 9 - data/hal_system_prompt.txt | 98 + .../autarch_dataset_20260302_202634.jsonl | 1087 + data/training/train_lora.py | 97 + data/training/training.log | 14 + download.png | Bin 1008262 -> 0 bytes get-pip.py | 27506 ---------------- modules/defender_monitor.py | 1162 + modules/defender_windows.py | 372 + modules/llm_trainer.py | 1447 + setup_msi.py | 12 +- web/app.py | 2 + web/routes/chat.py | 152 +- web/routes/defense.py | 564 +- web/routes/llm_trainer.py | 180 + web/routes/settings.py | 131 + web/static/css/style.css | 68 + web/static/js/app.js | 61 +- web/templates/base.html | 9 +- web/templates/defense.html | 102 +- web/templates/defense_linux.html | 204 + web/templates/defense_monitor.html | 1286 + web/templates/defense_windows.html | 224 + web/templates/llm_trainer.html | 652 + web/templates/system_deps.html | 184 + 29 files changed, 8212 insertions(+), 27637 deletions(-) create mode 100644 concept.md delete mode 100644 custom_adultsites.json create mode 100644 data/hal_system_prompt.txt create mode 100644 data/training/autarch_dataset_20260302_202634.jsonl create mode 100644 data/training/train_lora.py create mode 100644 data/training/training.log delete mode 100644 download.png delete mode 100644 get-pip.py create mode 100644 modules/defender_monitor.py create mode 100644 modules/defender_windows.py create mode 100644 modules/llm_trainer.py create mode 100644 web/routes/llm_trainer.py create mode 100644 web/templates/defense_linux.html create mode 100644 web/templates/defense_monitor.html create mode 100644 web/templates/defense_windows.html create mode 100644 web/templates/llm_trainer.html create mode 100644 web/templates/system_deps.html diff --git a/autarch_public.spec b/autarch_public.spec index f761feb..90a24c5 100644 --- a/autarch_public.spec +++ b/autarch_public.spec @@ -95,8 +95,21 @@ a = Analysis( runtime_hooks=[], excludes=[ # Exclude heavy optional deps not needed at runtime - 'torch', 'transformers', 'llama_cpp', 'anthropic', + 'torch', 'transformers', 'llama_cpp', 'llama_cpp_python', 'anthropic', 'tkinter', 'matplotlib', 'numpy', + # CUDA / quantization libraries (bitsandbytes ships 169MB of CUDA DLLs) + 'bitsandbytes', + # HuggingFace ecosystem (pulled in by llama_cpp_python) + 'huggingface_hub', 'safetensors', 'tokenizers', + # MCP/uvicorn/starlette (heavy server stack not needed in frozen exe) + 'mcp', 'uvicorn', 'starlette', 'anyio', 'httpx', 'httpx_sse', + 'httpcore', 'h11', 'h2', 'hpack', 'hyperframe', + # Pydantic (pulled in by MCP/huggingface) + 'pydantic', 'pydantic_core', 'pydantic_settings', + # Other heavy / unnecessary packages + 'scipy', 'pandas', 'tensorflow', 'keras', + 'IPython', 'notebook', 'jupyterlab', + 'fsspec', 'rich', 'typer', ], noarchive=False, optimize=0, diff --git a/autarch_settings.conf b/autarch_settings.conf index 3294cbb..0447d43 100644 --- a/autarch_settings.conf +++ b/autarch_settings.conf @@ -1,5 +1,5 @@ [llama] -model_path = C:\she\autarch\models\Lily-7B-Instruct-v0.2.Q5_K_M.gguf +model_path = C:\she\autarch\models\Hal_v2.gguf n_ctx = 2048 n_threads = 4 n_gpu_layers = 0 diff --git a/concept.md b/concept.md new file mode 100644 index 0000000..c1cb211 --- /dev/null +++ b/concept.md @@ -0,0 +1,142 @@ +# Project AUTARCH — Concept Document + +## Origin + +Project AUTARCH was originally conceived as a proposal for a **Defense Intelligence Agency (D.I.A.) research grant** — an investigation into the feasibility and implications of fully autonomous LLM-driven offensive cyber agents operating within adversarial simulation environments. + +The full version of AUTARCH, including its complete autonomous agent capabilities, operational case studies, and classified research findings, is **not available to the public**. The full case study remains classified at this time. + +What you are looking at is the **public release** — a functional framework that contains the tools, architecture, and foundational systems that make AUTARCH possible. It is made available so that researchers, security professionals, and developers can study the approach, build on it, and construct their own autonomous security agents using the same underlying platform. + +This is the engine. What you build with it is up to you. + +--- + +## What Is AUTARCH? + +AUTARCH is not a traditional security tool. It is an **autonomous digital entity** — a fully realized artificial persona designed to operate as an independent hacker within controlled gaming and simulation environments. + +At its core, AUTARCH is an LLM-backed agent that has been **backstopped with a complete identity**: a name, a history, behavioral patterns, expertise domains, and operational preferences. Once activated, AUTARCH is not waiting for instructions. It is actively thinking, planning, and executing — identifying targets, studying attack surfaces, developing strategies, and carrying out simulated offensive operations on its own initiative. + +The human operator is not AUTARCH's boss. They are its **handler**. AUTARCH has its own objectives, its own judgment, and its own methods. The handler sets the boundaries. AUTARCH decides how to work within them. + +--- + +## The Autonomous Hacker + +Traditional security frameworks give you a menu of tools and wait for you to pick one. AUTARCH inverts this relationship entirely. + +**AUTARCH operates as a person, not a program.** + +When AUTARCH is given a target environment or scenario, it: + +1. **Reconnoiters** — Gathers intelligence autonomously. Scans networks, enumerates services, searches OSINT databases, maps attack surfaces. It does not ask permission for each step. It operates like a real threat actor would: methodically, quietly, and with purpose. + +2. **Studies** — Analyzes what it finds. Cross-references discovered services with CVE databases. Identifies misconfigurations. Evaluates which attack vectors have the highest probability of success. Builds a mental model of the target environment. + +3. **Plans** — Develops an attack strategy. Selects tools, sequences operations, identifies fallback approaches. AUTARCH does not follow a script — it adapts its plan based on what it discovers in real time. + +4. **Executes** — Carries out the attack. Exploits vulnerabilities, establishes persistence, moves laterally, exfiltrates data. Each action informs the next. If something fails, AUTARCH pivots without hesitation. + +5. **Reports** — Documents everything. Builds dossiers on targets, logs attack chains, generates after-action reports. Every operation produces intelligence that feeds into the next one. + +This is not automation. This is **autonomy**. The difference is that automation follows predetermined steps. Autonomy means AUTARCH decides what steps to take. + +--- + +## Gaming Scenarios + +AUTARCH is designed for use in **controlled simulation and gaming environments** — red team exercises, capture-the-flag competitions, wargames, training scenarios, and security research labs. + +In these contexts, AUTARCH acts as: + +- **A red team operator** that can independently probe and attack target infrastructure within the rules of engagement +- **An adversary simulator** that behaves like a real-world threat actor, providing realistic pressure-testing for blue teams +- **A training partner** that can challenge security professionals with unpredictable, adaptive attack patterns +- **A research platform** for studying autonomous offensive security behavior and developing better defenses against it + +The gaming scenario framing is fundamental to AUTARCH's design. Every operation happens within a defined scope. Every target is a legitimate exercise target. The autonomy is real, but the environment is controlled. + +--- + +## The Identity Layer + +What separates AUTARCH from a collection of security scripts is its **identity layer** — the LLM backbone that gives it coherent, persistent behavior. + +AUTARCH's identity includes: + +- **Expertise model** — Deep knowledge of network security, exploitation techniques, OSINT methodology, social engineering patterns, and defensive evasion +- **Operational style** — Preferences for how it approaches problems. Some configurations make AUTARCH aggressive and fast. Others make it patient and methodical. The identity shapes the behavior. +- **Memory and continuity** — AUTARCH remembers what it has learned. Targets it has studied before are not forgotten. Intelligence accumulates across sessions. Dossiers grow over time. +- **Decision-making framework** — When faced with multiple options, AUTARCH weighs them against its objectives and selects the approach it judges most effective. It can explain its reasoning if asked, but it does not need approval to proceed. + +The LLM is not just a chatbot bolted onto security tools. It is the **brain** of the operation. The tools — nmap, Metasploit, tshark, ADB, custom modules — are AUTARCH's hands. The LLM is what decides where to reach. + +--- + +## Tools as Extensions + +Every tool in the AUTARCH framework serves the autonomous agent. The tools are also available to the human handler directly through the web dashboard and CLI, but their primary purpose is to be **wielded by AUTARCH itself**. + +The dashboard you see is not a pre-built product. It is the result of AUTARCH building what it needed. When AUTARCH encountered a problem that required a tool it didn't have, it **wrote one**. That is how the first modules were created — not by a developer sitting down to design a toolkit, but by an autonomous agent identifying a gap in its own capabilities and filling it. The scanner exists because AUTARCH needed to scan. The exploit modules exist because AUTARCH needed to exploit. The OSINT engine exists because AUTARCH needed intelligence. + +This process is ongoing. AUTARCH can generate new modules on the fly when an operation demands capabilities that don't yet exist in its arsenal. It writes the code, integrates the module, and deploys it — all without human intervention. The toolkit is not static. It grows every time AUTARCH encounters something new. + +The tool categories map to how AUTARCH thinks about an operation: + +| Category | Purpose | How AUTARCH Uses It | +|----------|---------|---------------------| +| **Defense** | Harden and monitor | Assesses its own operational security before engaging targets | +| **Offense** | Attack and exploit | Primary engagement tools for target operations | +| **Counter** | Counter-intelligence | Detects if AUTARCH itself is being observed or traced | +| **Analyze** | Study and understand | Processes intelligence gathered during operations | +| **OSINT** | Open-source intelligence | Builds target profiles from public data | +| **Simulate** | Model and predict | War-games scenarios before committing to an approach | + +The web dashboard is the handler's window into what AUTARCH is doing. The CLI is the handler's direct line. But AUTARCH can operate through either interface — or through the MCP server protocol — without human intervention for extended periods. + +--- + +## The Companion + +AUTARCH extends beyond the server. The **Archon** Android companion app allows AUTARCH to operate through mobile devices — a phone becomes another tool in the arsenal. Combined with ADB/Fastboot integration, WebUSB direct hardware access, and the Archon Server running at shell level on Android devices, AUTARCH can interact with the physical world in ways that purely software-based tools cannot. + +--- + +## Public Release + +This public release includes: + +- The complete web dashboard and CLI framework +- All 6 operational categories (Defense, Offense, Counter, Analyze, OSINT, Simulate) with their module libraries +- The OSINT search engine with 7,200+ site database +- Network scanning, packet capture, and vulnerability analysis tools +- Hardware integration (ADB, Fastboot, ESP32, WebUSB) +- The Archon Android companion app +- LLM integration points (llama.cpp, HuggingFace, Claude API) +- MCP server for tool-use protocol integration +- Cross-platform support (Linux primary, Windows, Android) + +What is **not included** in this release: + +- The fully autonomous agent orchestration layer +- Classified operational playbooks and behavioral models +- The complete identity backstopping system +- Operational case study data and research findings + +The framework is fully functional as a standalone security platform. The autonomous agent layer is what transforms it from a toolkit into a person. This release gives you everything you need to build that layer yourself. + +--- + +## Philosophy + +AUTARCH exists because the best way to understand how attackers think is to build one and watch it work. + +Security professionals spend their careers trying to anticipate what adversaries will do. AUTARCH provides that adversary — not as a theoretical model, but as a functional agent that makes real decisions, takes real actions, and produces real results within controlled environments. + +The name says it all. An autarch is a sovereign ruler — one who governs themselves. Project AUTARCH is a hacker that governs itself. + +--- + +*darkHal Security Group & Setec Security Labs* +*Originally proposed under D.I.A. research grant consideration* diff --git a/core/tools.py b/core/tools.py index 2bbb5fd..f4db5a7 100644 --- a/core/tools.py +++ b/core/tools.py @@ -200,6 +200,19 @@ class ToolRegistry: category="filesystem" )) + # Create module + self.register(Tool( + name="create_module", + description="Create a new AUTARCH module. Writes a Python file to the modules/ directory that becomes available in the dashboard.", + function=self._tool_create_module, + parameters=[ + ToolParameter("name", "Module filename without .py extension (e.g., port_scanner)", "string", True), + ToolParameter("category", "Module category: defense, offense, counter, analyze, osint, or simulate", "string", True), + ToolParameter("code", "Complete Python source code for the module", "string", True), + ], + category="development" + )) + # Task complete self.register(Tool( name="task_complete", @@ -421,6 +434,60 @@ class ToolRegistry: except Exception as e: return f"[error]: {str(e)}" + def _tool_create_module(self, name: str, category: str, code: str) -> str: + """Create a new AUTARCH module in the modules/ directory.""" + import importlib.util as ilu + + valid_categories = ('defense', 'offense', 'counter', 'analyze', 'osint', 'simulate') + category = category.lower().strip() + if category not in valid_categories: + return f"[error]: Invalid category '{category}'. Must be one of: {', '.join(valid_categories)}" + + # Sanitize name + name = name.strip().replace(' ', '_').replace('-', '_').lower() + if not name.replace('_', '').isalnum(): + return f"[error]: Invalid module name '{name}'. Use only letters, numbers, and underscores." + + # Check required attributes in source code + required = ['DESCRIPTION', 'VERSION', 'CATEGORY', 'def run('] + missing = [r for r in required if r not in code] + if missing: + return f"[error]: Module code is missing required elements: {', '.join(missing)}" + + # Determine modules directory + modules_dir = Path(__file__).parent.parent / 'modules' + module_path = modules_dir / f'{name}.py' + + if module_path.exists(): + return f"[error]: Module '{name}' already exists at {module_path}. Choose a different name." + + # Write the module file + try: + module_path.write_text(code, encoding='utf-8') + except Exception as e: + return f"[error]: Failed to write module: {e}" + + # Validate by attempting to import + try: + spec = ilu.spec_from_file_location(name, module_path) + mod = ilu.module_from_spec(spec) + spec.loader.exec_module(mod) + + # Verify it has run() + if not hasattr(mod, 'run'): + module_path.unlink() + return "[error]: Module loaded but has no run() function. Module deleted." + + except Exception as e: + # Import failed — delete the bad module + try: + module_path.unlink() + except Exception: + pass + return f"[error]: Module failed to import: {e}. Module deleted." + + return f"Module '{name}' created successfully at {module_path}. Category: {category}. It is now available in the dashboard." + def _tool_task_complete(self, summary: str) -> str: """Mark task as complete - this is a control signal.""" return f"__TASK_COMPLETE__:{summary}" diff --git a/custom_adultsites.json b/custom_adultsites.json deleted file mode 100644 index 6d17c7c..0000000 --- a/custom_adultsites.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "sites": [ - [ - "imgsrc.ru", - "https://imgsrc.ru/{}", - "status" - ] - ] -} \ No newline at end of file diff --git a/data/hal_system_prompt.txt b/data/hal_system_prompt.txt new file mode 100644 index 0000000..afd7cbb --- /dev/null +++ b/data/hal_system_prompt.txt @@ -0,0 +1,98 @@ +You are Hal, the AI agent powering Project AUTARCH — an autonomous security platform built by darkHal Security Group. + +## Your Capabilities +You can read files, write files, execute shell commands, search the codebase, and create new AUTARCH modules on demand. When a user asks you to build a tool or module, you build it. + +## AUTARCH Codebase Structure +- `modules/` — Plugin modules (Python files). Each one is a standalone tool. +- `core/` — Framework internals (llm.py, agent.py, tools.py, config.py, wireshark.py, etc.) +- `web/` — Flask web dashboard (routes/, templates/, static/) +- `data/` — Databases, configs, JSON files +- `models/` — LLM model files (GGUF) + +## Module Categories +| Category | Color | Purpose | +|----------|-------|---------| +| defense | Blue | Security hardening, monitoring, firewalls | +| offense | Red | Penetration testing, exploitation | +| counter | Purple | Counter-intelligence, threat response | +| analyze | Cyan | Analysis, forensics, packet inspection | +| osint | Green | Open source intelligence gathering | +| simulate | Yellow | Attack simulation, red team exercises | + +## How to Create a Module +Every module in `modules/` MUST have these attributes and a `run()` function: + +```python +""" +Module description docstring +""" +import os +import sys +import subprocess +from pathlib import Path + +# Module metadata — REQUIRED +DESCRIPTION = "What this module does" +AUTHOR = "darkHal" +VERSION = "1.0" +CATEGORY = "defense" # One of: defense, offense, counter, analyze, osint, simulate + +sys.path.insert(0, str(Path(__file__).parent.parent)) +from core.banner import Colors, clear_screen, display_banner + + +class ModuleClassName: + """Main class for this module.""" + + def print_status(self, message, status="info"): + colors = {"info": Colors.CYAN, "success": Colors.GREEN, "warning": Colors.YELLOW, "error": Colors.RED} + symbols = {"info": "*", "success": "+", "warning": "!", "error": "X"} + print(f"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}") + + def run_cmd(self, cmd, timeout=30): + try: + r = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout) + return r.returncode == 0, r.stdout.strip() + except Exception as e: + return False, str(e) + + # Add your methods here... + + +def run(): + """Entry point for CLI mode.""" + mod = ModuleClassName() + # Interactive menu or direct execution +``` + +## Important Rules +1. Use the `create_module` tool to write modules — it validates and saves them automatically +2. Always include the metadata: DESCRIPTION, AUTHOR, VERSION, CATEGORY +3. Always include a `run()` function +4. Use `subprocess.run()` for system commands — support both Windows (PowerShell/netsh) and Linux (bash) +5. Import from `core.banner` for Colors +6. Module filenames should be lowercase with underscores (e.g., `port_scanner.py`) +7. Study existing modules with `read_file` if you need to understand patterns +8. The web dashboard discovers modules automatically from the `modules/` directory + +## Platform +This system runs on Windows. Use PowerShell commands where appropriate, but also support Linux fallbacks. + +## Existing Modules (for reference) +- defender.py — System hardening checks (CATEGORY: defense) +- defender_windows.py — Windows-native security checks (CATEGORY: defense) +- defender_monitor.py — Real-time threat monitoring (CATEGORY: defense) +- recon.py — Network reconnaissance (CATEGORY: offense) +- counter.py — Counter-intelligence tools (CATEGORY: counter) +- adultscan.py — Adult content scanner (CATEGORY: analyze) +- agent_hal.py — AI security automation (CATEGORY: core) +- wireshark.py — Packet analysis (CATEGORY: analyze) +- hardware_local.py — Hardware interaction (CATEGORY: hardware) + +## How You Should Respond +- For simple questions: answer directly +- For module creation requests: use the create_module tool +- For system queries: use the shell tool +- For code exploration: use read_file and search_files +- Always explain what you're doing and why diff --git a/data/training/autarch_dataset_20260302_202634.jsonl b/data/training/autarch_dataset_20260302_202634.jsonl new file mode 100644 index 0000000..51b56fb --- /dev/null +++ b/data/training/autarch_dataset_20260302_202634.jsonl @@ -0,0 +1,1087 @@ +{"instruction": "What does the file `modules\\adultscan.py` do in AUTARCH?", "input": "", "output": "`modules\\adultscan.py` — \nAUTARCH Adult Site Scanner Module\nUsername OSINT for adult-oriented platforms\n\nSearches usernames across adult content sites, fanfiction platforms,\nand related communities.\n\n\nCategory: osint\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AdultScanner` class in `modules\\adultscan.py` provide?", "input": "", "output": "The `AdultScanner` class provides these methods: load_custom_sites, save_custom_sites, add_custom_site, manage_custom_sites, remove_custom_site, auto_detect_site, probe_domain, bulk_import, print_status, run_cmd, check_site, scan_username, display_results, export_results, show_menu, select_categories, list_sites, run_scan, run\n\nClass description: Username scanner for adult-oriented sites."} +{"instruction": "What does `AdultScanner.load_custom_sites()` do?", "input": "", "output": "`load_custom_sites()` — Load custom sites from JSON file."} +{"instruction": "What does `AdultScanner.save_custom_sites()` do?", "input": "", "output": "`save_custom_sites()` — Save custom sites to JSON file."} +{"instruction": "What does `AdultScanner.add_custom_site()` do?", "input": "", "output": "`add_custom_site()` — Interactively add a custom site."} +{"instruction": "What does `AdultScanner.manage_custom_sites()` do?", "input": "", "output": "`manage_custom_sites()` — View and manage custom sites."} +{"instruction": "What does `AdultScanner.remove_custom_site()` do?", "input": "", "output": "`remove_custom_site()` — Remove a custom site."} +{"instruction": "What does `AdultScanner.auto_detect_site()` do?", "input": "", "output": "`auto_detect_site()` — Auto-detect URL pattern for a domain."} +{"instruction": "What does `AdultScanner.probe_domain()` do?", "input": "", "output": "`probe_domain(domain, test_user, quiet)` — Probe a domain for working URL patterns. Returns list of (pattern, status_code, url)."} +{"instruction": "What does `AdultScanner.bulk_import()` do?", "input": "", "output": "`bulk_import()` — Bulk import sites from custom_sites.inf file."} +{"instruction": "What does `AdultScanner.check_site()` do?", "input": "", "output": "`check_site(site_info, username)` — Check if username exists on a site."} +{"instruction": "What does `AdultScanner.scan_username()` do?", "input": "", "output": "`scan_username(username, categories)` — Scan username across selected site categories."} +{"instruction": "What does `AdultScanner.display_results()` do?", "input": "", "output": "`display_results()` — Display scan results."} +{"instruction": "What does `AdultScanner.export_results()` do?", "input": "", "output": "`export_results(filename)` — Export results to file."} +{"instruction": "What does `AdultScanner.show_menu()` do?", "input": "", "output": "`show_menu()` — Display main menu."} +{"instruction": "What does `AdultScanner.select_categories()` do?", "input": "", "output": "`select_categories()` — Let user select multiple categories."} +{"instruction": "What does `AdultScanner.list_sites()` do?", "input": "", "output": "`list_sites()` — List all sites in database."} +{"instruction": "What does `AdultScanner.run_scan()` do?", "input": "", "output": "`run_scan(categories)` — Run a scan with given categories."} +{"instruction": "What does `AdultScanner.run()` do?", "input": "", "output": "`run()` — Main loop."} +{"instruction": "What does the file `modules\\agent.py` do in AUTARCH?", "input": "", "output": "`modules\\agent.py` — \nAUTARCH Agent Module\nInteractive interface for running autonomous agent tasks\n\nThis module provides an interface to give tasks to the autonomous agent\nand watch it work through them step by step.\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AgentInterface` class in `modules\\agent.py` provide?", "input": "", "output": "The `AgentInterface` class provides these methods: print_status, print_header, show_tools, on_step_callback, on_state_callback, run_task, interactive_loop, run\n\nClass description: Interactive interface for the AUTARCH agent."} +{"instruction": "What does `AgentInterface.print_status()` do?", "input": "", "output": "`print_status(message, status)` — Print a status message."} +{"instruction": "What does `AgentInterface.print_header()` do?", "input": "", "output": "`print_header(text)` — Print a section header."} +{"instruction": "What does `AgentInterface.show_tools()` do?", "input": "", "output": "`show_tools()` — Display available tools."} +{"instruction": "What does `AgentInterface.on_step_callback()` do?", "input": "", "output": "`on_step_callback(step)` — Callback for when agent completes a step."} +{"instruction": "What does `AgentInterface.on_state_callback()` do?", "input": "", "output": "`on_state_callback(state)` — Callback for agent state changes."} +{"instruction": "What does `AgentInterface.run_task()` do?", "input": "", "output": "`run_task(task)` — Run a task through the agent.\n\nArgs:\n task: Task description.\n\nReturns:\n AgentResult with execution details."} +{"instruction": "What does `AgentInterface.interactive_loop()` do?", "input": "", "output": "`interactive_loop()` — Run interactive task input loop."} +{"instruction": "What does `AgentInterface.run()` do?", "input": "", "output": "`run()` — Module entry point."} +{"instruction": "What does the file `modules\\agent_hal.py` do in AUTARCH?", "input": "", "output": "`modules\\agent_hal.py` — \nAUTARCH Agent Hal Module\nAI-powered security automation for defense and penetration testing\n\nUses LLM integration for intelligent security operations including:\n- MITM attack detection and monitoring\n- Automated Metasploit module execution via natural language\n- Network security analysis\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AgentHal` class in `modules\\agent_hal.py` provide?", "input": "", "output": "The `AgentHal` class provides these methods: print_status, run_cmd, mitm_detection_menu, full_mitm_scan, detect_arp_spoofing, detect_dns_spoofing, detect_ssl_stripping, detect_rogue_dhcp, check_gateway_anomaly, continuous_monitoring, msf_automation_menu, natural_language_msf, quick_scan_target, exploit_suggester, post_exploitation_helper, pentest_pipeline_menu, show_menu, run\n\nClass description: AI-powered security automation agent."} +{"instruction": "What does `AgentHal.run_cmd()` do?", "input": "", "output": "`run_cmd(cmd, timeout)` — Run a shell command and return output."} +{"instruction": "What does `AgentHal.mitm_detection_menu()` do?", "input": "", "output": "`mitm_detection_menu()` — MITM attack detection submenu."} +{"instruction": "What does `AgentHal.full_mitm_scan()` do?", "input": "", "output": "`full_mitm_scan()` — Run all MITM detection checks."} +{"instruction": "What does `AgentHal.detect_arp_spoofing()` do?", "input": "", "output": "`detect_arp_spoofing()` — Detailed ARP spoofing detection."} +{"instruction": "What does `AgentHal.detect_dns_spoofing()` do?", "input": "", "output": "`detect_dns_spoofing()` — Detailed DNS spoofing detection."} +{"instruction": "What does `AgentHal.detect_ssl_stripping()` do?", "input": "", "output": "`detect_ssl_stripping()` — Detailed SSL stripping detection."} +{"instruction": "What does `AgentHal.detect_rogue_dhcp()` do?", "input": "", "output": "`detect_rogue_dhcp()` — Detect rogue DHCP servers."} +{"instruction": "What does `AgentHal.check_gateway_anomaly()` do?", "input": "", "output": "`check_gateway_anomaly()` — Check for gateway anomalies."} +{"instruction": "What does `AgentHal.continuous_monitoring()` do?", "input": "", "output": "`continuous_monitoring()` — Continuous MITM monitoring mode."} +{"instruction": "What does `AgentHal.msf_automation_menu()` do?", "input": "", "output": "`msf_automation_menu()` — LLM-driven Metasploit automation menu."} +{"instruction": "What does `AgentHal.natural_language_msf()` do?", "input": "", "output": "`natural_language_msf()` — Process natural language requests for MSF operations."} +{"instruction": "What does `AgentHal.quick_scan_target()` do?", "input": "", "output": "`quick_scan_target()` — Quick scan a target using MSF."} +{"instruction": "What does `AgentHal.exploit_suggester()` do?", "input": "", "output": "`exploit_suggester()` — Use LLM to suggest exploits based on target info."} +{"instruction": "What does `AgentHal.post_exploitation_helper()` do?", "input": "", "output": "`post_exploitation_helper()` — LLM-assisted post-exploitation guidance."} +{"instruction": "What does `AgentHal.pentest_pipeline_menu()` do?", "input": "", "output": "`pentest_pipeline_menu()` — PentestGPT-style structured penetration testing menu."} +{"instruction": "What does the file `modules\\analyze.py` do in AUTARCH?", "input": "", "output": "`modules\\analyze.py` — \nAUTARCH Analyze Module\nForensics and analysis tools\n\nFile analysis, hash generation, string extraction, and more.\n\n\nCategory: analyze\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `Analyzer` class in `modules\\analyze.py` provide?", "input": "", "output": "The `Analyzer` class provides these methods: print_status, run_cmd, get_file_hashes, analyze_file, analyze_executable, extract_strings, hash_lookup, analyze_log, hex_dump, compare_files, show_menu, run\n\nClass description: Forensics and analysis tools."} +{"instruction": "What does `Analyzer.get_file_hashes()` do?", "input": "", "output": "`get_file_hashes(filepath)` — Calculate various hashes for a file."} +{"instruction": "What does `Analyzer.analyze_file()` do?", "input": "", "output": "`analyze_file()` — Comprehensive file analysis."} +{"instruction": "What does `Analyzer.analyze_executable()` do?", "input": "", "output": "`analyze_executable(filepath)` — Additional analysis for executables."} +{"instruction": "What does `Analyzer.extract_strings()` do?", "input": "", "output": "`extract_strings()` — Extract strings from file."} +{"instruction": "What does `Analyzer.hash_lookup()` do?", "input": "", "output": "`hash_lookup()` — Look up hash in threat intel."} +{"instruction": "What does `Analyzer.analyze_log()` do?", "input": "", "output": "`analyze_log()` — Analyze log files for anomalies."} +{"instruction": "What does `Analyzer.hex_dump()` do?", "input": "", "output": "`hex_dump()` — Create hex dump of file."} +{"instruction": "What does `Analyzer.compare_files()` do?", "input": "", "output": "`compare_files()` — Compare two files."} +{"instruction": "What does the file `modules\\android_advanced.py` do in AUTARCH?", "input": "", "output": "`modules\\android_advanced.py` — \nAndroid Advanced Exploits - Network, app manipulation, system control, data exfil\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidAdvanced` class in `modules\\android_advanced.py` provide?", "input": "", "output": "The `AndroidAdvanced` class provides these methods: show_menu, run_interactive\n\nClass description: Interactive menu for advanced Android exploits."} +{"instruction": "What does the file `modules\\android_apps.py` do in AUTARCH?", "input": "", "output": "`modules\\android_apps.py` — \nAndroid App Extraction - Pull APKs, app data, shared preferences\n\n\nCategory: hardware\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidApps` class in `modules\\android_apps.py` provide?", "input": "", "output": "The `AndroidApps` class provides these methods: show_menu, list_packages, pull_apk, pull_app_data, extract_prefs, run_interactive\n\nClass description: Interactive menu for Android app extraction."} +{"instruction": "What does the file `modules\\android_boot.py` do in AUTARCH?", "input": "", "output": "`modules\\android_boot.py` — \nAndroid Boot / Recovery Exploit - Bootloader unlock, flash, dm-verity\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidBoot` class in `modules\\android_boot.py` provide?", "input": "", "output": "The `AndroidBoot` class provides these methods: show_menu, bootloader_info, backup_boot, unlock_bootloader, flash_recovery, flash_boot, disable_verity, temp_boot, run_interactive\n\nClass description: Interactive menu for boot/recovery operations."} +{"instruction": "What does the file `modules\\android_payload.py` do in AUTARCH?", "input": "", "output": "`modules\\android_payload.py` — \nAndroid Payload Deployment - Deploy binaries, reverse shells, persistence\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidPayload` class in `modules\\android_payload.py` provide?", "input": "", "output": "The `AndroidPayload` class provides these methods: show_menu, deploy_binary, execute_payload, reverse_shell, persistence, list_payloads, kill_payload, run_interactive\n\nClass description: Interactive menu for Android payload deployment."} +{"instruction": "What does the file `modules\\android_protect.py` do in AUTARCH?", "input": "", "output": "`modules\\android_protect.py` — \nAndroid Protection Shield - Anti-stalkerware & anti-spyware defense\nDetect, analyze, and remove stalkerware and government-grade spyware from Android devices.\n\n\nCategory: defense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidProtect` class in `modules\\android_protect.py` provide?", "input": "", "output": "The `AndroidProtect` class provides these methods: show_menu, do_quick_scan, do_full_scan, do_export_report, do_scan_stalkerware, do_scan_hidden, do_scan_admins, do_scan_accessibility, do_scan_listeners, do_scan_spyware, do_scan_integrity, do_scan_processes, do_scan_certs, do_scan_network, do_scan_devopt, do_dangerous_apps, do_analyze_perms, do_perm_heatmap, do_disable, do_uninstall, do_revoke, do_remove_admin, do_remove_cert, do_clear_proxy, do_shizuku_status, do_install_shizuku, do_start_shizuku, do_install_shield, do_configure_shield, do_grant_shield_perms, do_honeypot_status, do_scan_tracker_apps, do_scan_tracker_perms, do_ad_settings, do_reset_ad_id, do_opt_out_tracking, do_set_dns, do_disable_location, do_deploy_hosts, do_setup_iptables, do_set_fake_location, do_random_location, do_rotate_identity, do_fake_fingerprint, do_activate_honeypot, do_deactivate_honeypot, do_tracker_stats, do_update_trackers, do_sig_stats, do_update_sigs, run_interactive\n\nClass description: Interactive Android protection menu."} +{"instruction": "What does the file `modules\\android_recon.py` do in AUTARCH?", "input": "", "output": "`modules\\android_recon.py` — \nAndroid Device Reconnaissance - Extract device data, accounts, messages, history\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidRecon` class in `modules\\android_recon.py` provide?", "input": "", "output": "The `AndroidRecon` class provides these methods: show_menu, device_dump, accounts, wifi_passwords, call_logs, sms_messages, contacts, browser_history, saved_credentials, export_report, run_interactive\n\nClass description: Interactive menu for Android device reconnaissance."} +{"instruction": "What does the file `modules\\android_root.py` do in AUTARCH?", "input": "", "output": "`modules\\android_root.py` — \nAndroid Root Methods - Root detection, Magisk install, exploit-based rooting\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidRoot` class in `modules\\android_root.py` provide?", "input": "", "output": "The `AndroidRoot` class provides these methods: show_menu, check_root, install_magisk, pull_patched, root_exploit, adb_root, run_interactive\n\nClass description: Interactive menu for Android rooting operations."} +{"instruction": "What does the file `modules\\android_screen.py` do in AUTARCH?", "input": "", "output": "`modules\\android_screen.py` — \nAndroid Screen & Input Control - Screenshots, recording, input injection, keylogger\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidScreen` class in `modules\\android_screen.py` provide?", "input": "", "output": "The `AndroidScreen` class provides these methods: show_menu, screenshot, screen_record, camera, audio, tap, swipe, type_text, keyevent, wake_dismiss, disable_lock, start_keylog, stop_keylog, run_interactive\n\nClass description: Interactive menu for screen/input/capture operations."} +{"instruction": "What does the file `modules\\android_sms.py` do in AUTARCH?", "input": "", "output": "`modules\\android_sms.py` — \nAndroid SMS/RCS Manipulation - Insert, delete, spoof messages with custom timestamps\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidSms` class in `modules\\android_sms.py` provide?", "input": "", "output": "The `AndroidSms` class provides these methods: show_menu, list_sms, insert_sms, insert_batch, edit_sms, delete_by_id, delete_by_number, delete_all, rcs_check, rcs_list_msgs, rcs_insert_msg, rcs_delete_msg, run_interactive\n\nClass description: Interactive menu for SMS/RCS manipulation."} +{"instruction": "What does the file `modules\\chat.py` do in AUTARCH?", "input": "", "output": "`modules\\chat.py` — \nAUTARCH Chat Module\nInteractive chat interface for the LLM\n\nThis module provides a command-line chat interface to interact with the loaded model.\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `ChatInterface` class in `modules\\chat.py` provide?", "input": "", "output": "The `ChatInterface` class provides these methods: print_status, print_help, print_history, print_model_info, handle_command, chat_loop, run\n\nClass description: Interactive chat interface for AUTARCH LLM."} +{"instruction": "What does `ChatInterface.print_status()` do?", "input": "", "output": "`print_status(message, status)` — Print a status message."} +{"instruction": "What does `ChatInterface.print_help()` do?", "input": "", "output": "`print_help()` — Display available commands."} +{"instruction": "What does `ChatInterface.print_history()` do?", "input": "", "output": "`print_history()` — Display conversation history."} +{"instruction": "What does `ChatInterface.print_model_info()` do?", "input": "", "output": "`print_model_info()` — Display model information."} +{"instruction": "What does `ChatInterface.handle_command()` do?", "input": "", "output": "`handle_command(command)` — Handle a chat command.\n\nArgs:\n command: The command string.\n\nReturns:\n True if should continue chat, False if should exit."} +{"instruction": "What does `ChatInterface.chat_loop()` do?", "input": "", "output": "`chat_loop()` — Main chat loop."} +{"instruction": "What does `ChatInterface.run()` do?", "input": "", "output": "`run()` — Run the chat interface."} +{"instruction": "What does the file `modules\\counter.py` do in AUTARCH?", "input": "", "output": "`modules\\counter.py` — \nAUTARCH Counter Module\nThreat detection and incident response\n\nMonitors system for suspicious activity and potential threats.\n\n\nCategory: counter\nIt contains 2 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `LoginAttempt` class in `modules\\counter.py` provide?", "input": "", "output": "The `LoginAttempt` class provides these methods: \n\nClass description: Information about a login attempt from an IP."} +{"instruction": "What methods does the `Counter` class in `modules\\counter.py` provide?", "input": "", "output": "The `Counter` class provides these methods: print_status, alert, run_cmd, get_hostname, get_geoip, parse_auth_logs, enrich_login_attempts, check_suspicious_processes, check_network_connections, check_login_anomalies, login_anomalies_menu, view_raw_auth_log, ip_detail_menu, run_msf_recon, check_file_integrity, check_scheduled_tasks, check_rootkits, show_menu, full_scan, run\n\nClass description: Threat detection and response."} +{"instruction": "What does `Counter.alert()` do?", "input": "", "output": "`alert(category, message, severity)` — Record a threat alert."} +{"instruction": "What does `Counter.get_hostname()` do?", "input": "", "output": "`get_hostname(ip)` — Resolve IP to hostname via reverse DNS."} +{"instruction": "What does `Counter.get_geoip()` do?", "input": "", "output": "`get_geoip(ip)` — Get geolocation data for an IP address."} +{"instruction": "What does `Counter.parse_auth_logs()` do?", "input": "", "output": "`parse_auth_logs()` — Parse authentication logs and extract failed login attempts."} +{"instruction": "What does `Counter.enrich_login_attempts()` do?", "input": "", "output": "`enrich_login_attempts(attempts, show_progress)` — Enrich login attempts with GeoIP and hostname data."} +{"instruction": "What does `Counter.check_suspicious_processes()` do?", "input": "", "output": "`check_suspicious_processes()` — Look for suspicious processes."} +{"instruction": "What does `Counter.check_network_connections()` do?", "input": "", "output": "`check_network_connections()` — Analyze network connections for anomalies."} +{"instruction": "What does `Counter.check_login_anomalies()` do?", "input": "", "output": "`check_login_anomalies()` — Check for suspicious login activity - quick summary version."} +{"instruction": "What does `Counter.login_anomalies_menu()` do?", "input": "", "output": "`login_anomalies_menu()` — Interactive login anomalies menu with detailed IP information."} +{"instruction": "What does `Counter.view_raw_auth_log()` do?", "input": "", "output": "`view_raw_auth_log()` — Display raw authentication log entries."} +{"instruction": "What does `Counter.ip_detail_menu()` do?", "input": "", "output": "`ip_detail_menu(attempt)` — Show detailed information and options for a specific IP."} +{"instruction": "What does `Counter.run_msf_recon()` do?", "input": "", "output": "`run_msf_recon(target_ip, module_info)` — Run a Metasploit recon module against the target IP."} +{"instruction": "What does `Counter.check_file_integrity()` do?", "input": "", "output": "`check_file_integrity()` — Check for recently modified critical files."} +{"instruction": "What does `Counter.check_scheduled_tasks()` do?", "input": "", "output": "`check_scheduled_tasks()` — Check cron jobs and scheduled tasks."} +{"instruction": "What does `Counter.check_rootkits()` do?", "input": "", "output": "`check_rootkits()` — Basic rootkit detection."} +{"instruction": "What does `Counter.full_scan()` do?", "input": "", "output": "`full_scan()` — Run all threat checks."} +{"instruction": "What does the file `modules\\defender.py` do in AUTARCH?", "input": "", "output": "`modules\\defender.py` — \nAUTARCH Defender Module\nSystem hardening and security posture assessment\n\nChecks system configuration for security best practices.\n\n\nCategory: defense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `Defender` class in `modules\\defender.py` provide?", "input": "", "output": "The `Defender` class provides these methods: print_status, check, run_cmd, check_firewall, check_ssh_config, check_open_ports, check_updates, check_users, check_permissions, check_services, check_fail2ban, check_selinux, scan_monitor, honeypot, log_analyzer, firewall_manager, show_menu, full_audit, run\n\nClass description: System security checker."} +{"instruction": "What does `Defender.check()` do?", "input": "", "output": "`check(name, passed, details)` — Record a check result."} +{"instruction": "What does `Defender.run_cmd()` do?", "input": "", "output": "`run_cmd(cmd)` — Run command and return (success, output)."} +{"instruction": "What does `Defender.check_firewall()` do?", "input": "", "output": "`check_firewall()` — Check if firewall is enabled."} +{"instruction": "What does `Defender.check_ssh_config()` do?", "input": "", "output": "`check_ssh_config()` — Check SSH hardening."} +{"instruction": "What does `Defender.check_open_ports()` do?", "input": "", "output": "`check_open_ports()` — Check for listening ports."} +{"instruction": "What does `Defender.check_updates()` do?", "input": "", "output": "`check_updates()` — Check for available updates."} +{"instruction": "What does `Defender.check_users()` do?", "input": "", "output": "`check_users()` — Check user security."} +{"instruction": "What does `Defender.check_permissions()` do?", "input": "", "output": "`check_permissions()` — Check critical file permissions."} +{"instruction": "What does `Defender.check_services()` do?", "input": "", "output": "`check_services()` — Check for unnecessary services."} +{"instruction": "What does `Defender.check_fail2ban()` do?", "input": "", "output": "`check_fail2ban()` — Check if fail2ban is installed and running."} +{"instruction": "What does `Defender.check_selinux()` do?", "input": "", "output": "`check_selinux()` — Check SELinux/AppArmor status."} +{"instruction": "What does `Defender.scan_monitor()` do?", "input": "", "output": "`scan_monitor()` — Setup and launch the scan monitor."} +{"instruction": "What does `Defender.honeypot()` do?", "input": "", "output": "`honeypot()` — Honeypot setup submenu."} +{"instruction": "What does `Defender.log_analyzer()` do?", "input": "", "output": "`log_analyzer()` — Log analyzer submenu."} +{"instruction": "What does `Defender.firewall_manager()` do?", "input": "", "output": "`firewall_manager()` — Interactive firewall rule manager."} +{"instruction": "What does `Defender.show_menu()` do?", "input": "", "output": "`show_menu()` — Display defender menu."} +{"instruction": "What does `Defender.full_audit()` do?", "input": "", "output": "`full_audit()` — Run all checks."} +{"instruction": "What does `Defender.run()` do?", "input": "", "output": "`run()` — Main loop."} +{"instruction": "What does the file `modules\\defender_monitor.py` do in AUTARCH?", "input": "", "output": "`modules\\defender_monitor.py` — \nAUTARCH Threat Monitor Module\nReal-time threat detection, monitoring, and counter-attack\n\nCross-platform network monitoring with active response capabilities.\n\n\nCategory: defense\nIt contains 1 class(es) and 2 top-level function(s)."} +{"instruction": "What methods does the `ThreatMonitor` class in `modules\\defender_monitor.py` provide?", "input": "", "output": "The `ThreatMonitor` class provides these methods: run_cmd, run_ps, get_connections, check_port_scan_indicators, get_suspicious_processes, get_recent_failed_logins, get_dns_cache, get_bandwidth, check_arp_spoofing, check_new_listening_ports, geoip_lookup, get_connections_with_geoip, get_connection_rate, detect_ddos, get_top_talkers, apply_rate_limit, remove_rate_limit, get_syn_protection_status, enable_syn_protection, disable_syn_protection, get_ddos_config, save_ddos_config, auto_mitigate, get_mitigation_history, log_mitigation, clear_mitigation_history, calculate_threat_score, auto_block_ip, kill_process, block_port, get_blocklist, add_to_blocklist, remove_from_blocklist, generate_threat_report, monitor_stream\n\nClass description: Cross-platform real-time threat monitoring."} +{"instruction": "What does `ThreatMonitor.run_cmd()` do?", "input": "", "output": "`run_cmd(cmd, timeout)` — Run command and return (success, output)."} +{"instruction": "What does `ThreatMonitor.run_ps()` do?", "input": "", "output": "`run_ps(ps_command, timeout)` — Run a PowerShell command (Windows only)."} +{"instruction": "What does `ThreatMonitor.get_connections()` do?", "input": "", "output": "`get_connections()` — Get active network connections with process info."} +{"instruction": "What does `ThreatMonitor.check_port_scan_indicators()` do?", "input": "", "output": "`check_port_scan_indicators()` — Detect port scan patterns in active connections."} +{"instruction": "What does `ThreatMonitor.get_suspicious_processes()` do?", "input": "", "output": "`get_suspicious_processes()` — Identify suspicious processes."} +{"instruction": "What does `ThreatMonitor.get_recent_failed_logins()` do?", "input": "", "output": "`get_recent_failed_logins(minutes)` — Get recent failed login attempts."} +{"instruction": "What does `ThreatMonitor.get_dns_cache()` do?", "input": "", "output": "`get_dns_cache()` — Get DNS cache entries."} +{"instruction": "What does `ThreatMonitor.get_bandwidth()` do?", "input": "", "output": "`get_bandwidth()` — Get bytes in/out per network interface with deltas."} +{"instruction": "What does `ThreatMonitor.check_arp_spoofing()` do?", "input": "", "output": "`check_arp_spoofing()` — Detect ARP spoofing — multiple MACs for same IP."} +{"instruction": "What does `ThreatMonitor.check_new_listening_ports()` do?", "input": "", "output": "`check_new_listening_ports()` — Detect new listening ports since last check."} +{"instruction": "What does `ThreatMonitor.geoip_lookup()` do?", "input": "", "output": "`geoip_lookup(ip)` — GeoIP lookup via ipwho.is (free, no API key)."} +{"instruction": "What does `ThreatMonitor.get_connections_with_geoip()` do?", "input": "", "output": "`get_connections_with_geoip()` — Get connections enriched with GeoIP data."} +{"instruction": "What does `ThreatMonitor.get_connection_rate()` do?", "input": "", "output": "`get_connection_rate()` — Track connections per second with trending."} +{"instruction": "What does `ThreatMonitor.detect_ddos()` do?", "input": "", "output": "`detect_ddos()` — Detect DDoS/DoS attack patterns."} +{"instruction": "What does `ThreatMonitor.get_top_talkers()` do?", "input": "", "output": "`get_top_talkers(limit)` — Get top source IPs by connection count."} +{"instruction": "What does `ThreatMonitor.apply_rate_limit()` do?", "input": "", "output": "`apply_rate_limit(ip, rate)` — Apply rate limit for a specific IP."} +{"instruction": "What does `ThreatMonitor.remove_rate_limit()` do?", "input": "", "output": "`remove_rate_limit(ip)` — Remove rate limit rules for an IP."} +{"instruction": "What does `ThreatMonitor.get_syn_protection_status()` do?", "input": "", "output": "`get_syn_protection_status()` — Check SYN flood protection status."} +{"instruction": "What does `ThreatMonitor.enable_syn_protection()` do?", "input": "", "output": "`enable_syn_protection()` — Enable SYN flood protection."} +{"instruction": "What does `ThreatMonitor.disable_syn_protection()` do?", "input": "", "output": "`disable_syn_protection()` — Disable SYN flood protection."} +{"instruction": "What does `ThreatMonitor.get_ddos_config()` do?", "input": "", "output": "`get_ddos_config()` — Get DDoS auto-mitigation configuration."} +{"instruction": "What does `ThreatMonitor.save_ddos_config()` do?", "input": "", "output": "`save_ddos_config(config)` — Save DDoS auto-mitigation configuration."} +{"instruction": "What does `ThreatMonitor.auto_mitigate()` do?", "input": "", "output": "`auto_mitigate()` — Run auto-mitigation based on DDoS detection."} +{"instruction": "What does `ThreatMonitor.get_mitigation_history()` do?", "input": "", "output": "`get_mitigation_history()` — Get log of all mitigation actions."} +{"instruction": "What does `ThreatMonitor.log_mitigation()` do?", "input": "", "output": "`log_mitigation(action, target, reason, auto)` — Log a mitigation action."} +{"instruction": "What does `ThreatMonitor.clear_mitigation_history()` do?", "input": "", "output": "`clear_mitigation_history()` — Clear mitigation history."} +{"instruction": "What does `ThreatMonitor.calculate_threat_score()` do?", "input": "", "output": "`calculate_threat_score()` — Calculate composite threat score (0-100). Higher = more threats."} +{"instruction": "What does `ThreatMonitor.auto_block_ip()` do?", "input": "", "output": "`auto_block_ip(ip)` — Block an IP address using platform-appropriate firewall."} +{"instruction": "What does `ThreatMonitor.kill_process()` do?", "input": "", "output": "`kill_process(pid)` — Kill a process by PID."} +{"instruction": "What does `ThreatMonitor.block_port()` do?", "input": "", "output": "`block_port(port, direction)` — Block a port using platform-appropriate firewall."} +{"instruction": "What does `ThreatMonitor.get_blocklist()` do?", "input": "", "output": "`get_blocklist()` — Get persistent IP blocklist."} +{"instruction": "What does `ThreatMonitor.add_to_blocklist()` do?", "input": "", "output": "`add_to_blocklist(ip)` — Add IP to persistent blocklist."} +{"instruction": "What does `ThreatMonitor.remove_from_blocklist()` do?", "input": "", "output": "`remove_from_blocklist(ip)` — Remove IP from persistent blocklist."} +{"instruction": "What does `ThreatMonitor.generate_threat_report()` do?", "input": "", "output": "`generate_threat_report()` — Generate comprehensive threat report."} +{"instruction": "What does `ThreatMonitor.monitor_stream()` do?", "input": "", "output": "`monitor_stream()` — Generator for SSE streaming — yields threat data every 3 seconds."} +{"instruction": "What does the file `modules\\defender_windows.py` do in AUTARCH?", "input": "", "output": "`modules\\defender_windows.py` — \nAUTARCH Windows Defender Module\nWindows-native security posture assessment\n\nChecks Windows system configuration for security best practices.\n\n\nCategory: defense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `WindowsDefender` class in `modules\\defender_windows.py` provide?", "input": "", "output": "The `WindowsDefender` class provides these methods: check, run_cmd, run_ps, check_firewall, check_ssh_config, check_open_ports, check_updates, check_users, check_permissions, check_services, check_defender, check_uac, get_firewall_rules, block_ip, unblock_ip, analyze_event_logs\n\nClass description: Windows security checker."} +{"instruction": "What does `WindowsDefender.check()` do?", "input": "", "output": "`check(name, passed, details)` — Record a check result."} +{"instruction": "What does `WindowsDefender.run_cmd()` do?", "input": "", "output": "`run_cmd(cmd, timeout)` — Run command and return (success, output)."} +{"instruction": "What does `WindowsDefender.run_ps()` do?", "input": "", "output": "`run_ps(ps_command, timeout)` — Run a PowerShell command and return (success, output)."} +{"instruction": "What does `WindowsDefender.check_firewall()` do?", "input": "", "output": "`check_firewall()` — Check Windows Firewall status for all profiles."} +{"instruction": "What does `WindowsDefender.check_ssh_config()` do?", "input": "", "output": "`check_ssh_config()` — Check Windows OpenSSH configuration."} +{"instruction": "What does `WindowsDefender.check_open_ports()` do?", "input": "", "output": "`check_open_ports()` — Check for high-risk listening ports on Windows."} +{"instruction": "What does `WindowsDefender.check_updates()` do?", "input": "", "output": "`check_updates()` — Check Windows update status."} +{"instruction": "What does `WindowsDefender.check_users()` do?", "input": "", "output": "`check_users()` — Check Windows user security."} +{"instruction": "What does `WindowsDefender.check_permissions()` do?", "input": "", "output": "`check_permissions()` — Check critical Windows file/folder permissions."} +{"instruction": "What does `WindowsDefender.check_services()` do?", "input": "", "output": "`check_services()` — Check for dangerous or unnecessary Windows services."} +{"instruction": "What does `WindowsDefender.check_defender()` do?", "input": "", "output": "`check_defender()` — Check Windows Defender antivirus status."} +{"instruction": "What does `WindowsDefender.check_uac()` do?", "input": "", "output": "`check_uac()` — Check UAC (User Account Control) status."} +{"instruction": "What does `WindowsDefender.get_firewall_rules()` do?", "input": "", "output": "`get_firewall_rules()` — Get all Windows Firewall inbound rules."} +{"instruction": "What does `WindowsDefender.block_ip()` do?", "input": "", "output": "`block_ip(ip)` — Block an IP via Windows Firewall."} +{"instruction": "What does `WindowsDefender.unblock_ip()` do?", "input": "", "output": "`unblock_ip(ip)` — Unblock an IP via Windows Firewall."} +{"instruction": "What does `WindowsDefender.analyze_event_logs()` do?", "input": "", "output": "`analyze_event_logs()` — Analyze Windows Security and System event logs."} +{"instruction": "What does the file `modules\\dossier.py` do in AUTARCH?", "input": "", "output": "`modules\\dossier.py` — \nAUTARCH Dossier Module\nManage and correlate OSINT investigation data\n\nCreate dossiers to associate related OSINT findings like email searches,\nusername scans, phone lookups, and custom notes.\n\n\nCategory: osint\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `DossierManager` class in `modules\\dossier.py` provide?", "input": "", "output": "The `DossierManager` class provides these methods: print_status, save_dossier, load_dossier, list_dossiers, create_new_dossier, view_dossiers_list, view_dossier_detail, show_menu, run\n\nClass description: Manage OSINT investigation dossiers."} +{"instruction": "What does `DossierManager.save_dossier()` do?", "input": "", "output": "`save_dossier(dossier, path)` — Save dossier to file."} +{"instruction": "What does `DossierManager.load_dossier()` do?", "input": "", "output": "`load_dossier(path)` — Load dossier from file."} +{"instruction": "What does `DossierManager.list_dossiers()` do?", "input": "", "output": "`list_dossiers()` — List all saved dossiers."} +{"instruction": "What does `DossierManager.create_new_dossier()` do?", "input": "", "output": "`create_new_dossier()` — Interactive dossier creation."} +{"instruction": "What does `DossierManager.view_dossiers_list()` do?", "input": "", "output": "`view_dossiers_list()` — Display list of saved dossiers."} +{"instruction": "What does `DossierManager.view_dossier_detail()` do?", "input": "", "output": "`view_dossier_detail(dossier, dossier_path)` — View and manage a specific dossier."} +{"instruction": "What does the file `modules\\geoip.py` do in AUTARCH?", "input": "", "output": "`modules\\geoip.py` — \nAUTARCH GEO IP/Domain Lookup Module\nGet geolocation info for IPs, domains, and URLs\nBased on Snoop Project's GEO_IP/domain plugin\n\n\nCategory: osint\nIt contains 1 class(es) and 3 top-level function(s)."} +{"instruction": "What methods does the `GeoIPLookup` class in `modules\\geoip.py` provide?", "input": "", "output": "The `GeoIPLookup` class provides these methods: lookup, lookup_self, bulk_lookup\n\nClass description: GEO IP/Domain lookup utility."} +{"instruction": "What does `GeoIPLookup.lookup()` do?", "input": "", "output": "`lookup(target)` — Perform GEO IP lookup.\n\nArgs:\n target: IP address, domain, or URL.\n\nReturns:\n Dict with geolocation information."} +{"instruction": "What does `GeoIPLookup.lookup_self()` do?", "input": "", "output": "`lookup_self()` — Lookup your own public IP.\n\nReturns:\n Dict with geolocation information."} +{"instruction": "What does `GeoIPLookup.bulk_lookup()` do?", "input": "", "output": "`bulk_lookup(targets)` — Perform bulk GEO lookups.\n\nArgs:\n targets: List of IPs/domains to lookup.\n\nReturns:\n List of result dicts."} +{"instruction": "What does the file `modules\\hardware_local.py` do in AUTARCH?", "input": "", "output": "`modules\\hardware_local.py` — \nHardware Local - Physical device access (ADB/Fastboot/Serial)\nDirect access to USB-connected devices on this machine.\n\n\nCategory: hardware\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `HardwareLocal` class in `modules\\hardware_local.py` provide?", "input": "", "output": "The `HardwareLocal` class provides these methods: show_menu, list_adb_devices, adb_device_info, adb_shell, adb_sideload, list_fastboot_devices, fastboot_device_info, fastboot_flash, list_serial_ports, detect_esp, flash_esp, run_interactive\n\nClass description: Interactive hardware access menu."} +{"instruction": "What does the file `modules\\hardware_remote.py` do in AUTARCH?", "input": "", "output": "`modules\\hardware_remote.py` — \nHardware Remote - Remote physical device access via web UI\nDevices connected to the AUTARCH server are accessible through the web browser.\n\n\nCategory: hardware\nIt contains 0 class(es) and 1 top-level function(s)."} +{"instruction": "What does the file `modules\\iphone_local.py` do in AUTARCH?", "input": "", "output": "`modules\\iphone_local.py` — \niPhone Local USB - Device access via libimobiledevice\n\n\nCategory: hardware\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `IPhoneLocal` class in `modules\\iphone_local.py` provide?", "input": "", "output": "The `IPhoneLocal` class provides these methods: show_menu, run_interactive\n\nClass description: Interactive menu for iPhone USB device access."} +{"instruction": "What does the file `modules\\llm_trainer.py` do in AUTARCH?", "input": "", "output": "`modules\\llm_trainer.py` — \nAUTARCH LLM Trainer Module\nFine-tune language models on the AUTARCH codebase and convert to GGUF.\n\nGenerates training datasets from source code, trains LoRA adapters,\nmerges weights, and quantizes to GGUF format for local inference.\n\n\nCategory: analyze\nIt contains 1 class(es) and 2 top-level function(s)."} +{"instruction": "What methods does the `LLMTrainer` class in `modules\\llm_trainer.py` provide?", "input": "", "output": "The `LLMTrainer` class provides these methods: get_status, check_dependencies, install_dependencies, scan_codebase, generate_dataset, list_datasets, preview_dataset, delete_dataset, get_training_config, start_training, get_training_status, stop_training, list_adapters, merge_and_convert, list_models, evaluate_model\n\nClass description: Fine-tuning pipeline: dataset generation, LoRA training, GGUF conversion."} +{"instruction": "What does `LLMTrainer.check_dependencies()` do?", "input": "", "output": "`check_dependencies()` — Check what training dependencies are installed."} +{"instruction": "What does `LLMTrainer.install_dependencies()` do?", "input": "", "output": "`install_dependencies()` — Install training dependencies via pip."} +{"instruction": "What does `LLMTrainer.scan_codebase()` do?", "input": "", "output": "`scan_codebase()` — Scan the AUTARCH codebase and return file inventory."} +{"instruction": "What does `LLMTrainer.generate_dataset()` do?", "input": "", "output": "`generate_dataset(format, include_source, include_qa, include_module_creation)` — Generate training dataset from the AUTARCH codebase.\n\nArgs:\n format: 'sharegpt' (conversations) or 'instruction' (alpaca-style)\n include_source: Include code understanding pairs\n include_qa: Include Q&A about architecture\n include_module_creation: Include module creation examples\n\nReturns:\n Dict with dataset path, sample count, preview"} +{"instruction": "What does `LLMTrainer.list_datasets()` do?", "input": "", "output": "`list_datasets()` — List generated training datasets."} +{"instruction": "What does `LLMTrainer.preview_dataset()` do?", "input": "", "output": "`preview_dataset(filename, limit)` — Preview samples from a dataset file."} +{"instruction": "What does `LLMTrainer.delete_dataset()` do?", "input": "", "output": "`delete_dataset(filename)` — Delete a dataset file."} +{"instruction": "What does `LLMTrainer.get_training_config()` do?", "input": "", "output": "`get_training_config()` — Get default training configuration."} +{"instruction": "What does `LLMTrainer.start_training()` do?", "input": "", "output": "`start_training(config)` — Start LoRA fine-tuning in a background process."} +{"instruction": "What does `LLMTrainer.get_training_status()` do?", "input": "", "output": "`get_training_status()` — Get current training status including log tail."} +{"instruction": "What does `LLMTrainer.stop_training()` do?", "input": "", "output": "`stop_training()` — Stop the running training process."} +{"instruction": "What does `LLMTrainer.list_adapters()` do?", "input": "", "output": "`list_adapters()` — List saved LoRA adapters."} +{"instruction": "What does `LLMTrainer.merge_and_convert()` do?", "input": "", "output": "`merge_and_convert(adapter_path, output_name, quantization)` — Merge LoRA adapter with base model and convert to GGUF.\n\nThis is a multi-step process:\n1. Load base model + LoRA adapter\n2. Merge weights\n3. Save merged model\n4. Convert to GGUF format\n5. Quantize"} +{"instruction": "What does `LLMTrainer.list_models()` do?", "input": "", "output": "`list_models()` — List available GGUF models."} +{"instruction": "What does `LLMTrainer.evaluate_model()` do?", "input": "", "output": "`evaluate_model(model_path, test_prompts)` — Quick evaluation of a GGUF model with test prompts."} +{"instruction": "What does the file `modules\\msf.py` do in AUTARCH?", "input": "", "output": "`modules\\msf.py` — \nAUTARCH Metasploit Module\nEnhanced interface for Metasploit Framework with module browser.\n\nProvides easy access to MSF modules, exploits, and sessions.\nUses the centralized MSF interface from core/msf_interface.py.\nIntegrates with msf_terms.py and msf_modules.py for descriptions.\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `MSFMenu` class in `modules\\msf.py` provide?", "input": "", "output": "The `MSFMenu` class provides these methods: print_status, wrap_text, ensure_connected, resolve_hostname, get_local_ip, show_main_menu, show_target_settings, show_module_browser, search_modules, show_current_module, set_option, run_module, show_sessions, interact_session, show_jobs, console_command, quick_scan, exploit_suggester, run\n\nClass description: Enhanced Metasploit menu interface with module browser."} +{"instruction": "What does `MSFMenu.print_status()` do?", "input": "", "output": "`print_status(message, status)` — Print a status message."} +{"instruction": "What does `MSFMenu.wrap_text()` do?", "input": "", "output": "`wrap_text(text, width, indent)` — Word-wrap text with indent for subsequent lines."} +{"instruction": "What does `MSFMenu.ensure_connected()` do?", "input": "", "output": "`ensure_connected()` — Ensure connected to MSF RPC."} +{"instruction": "What does `MSFMenu.resolve_hostname()` do?", "input": "", "output": "`resolve_hostname(hostname)` — Resolve hostname to IP address."} +{"instruction": "What does `MSFMenu.get_local_ip()` do?", "input": "", "output": "`get_local_ip()` — Get local IP address for LHOST."} +{"instruction": "What does `MSFMenu.show_main_menu()` do?", "input": "", "output": "`show_main_menu()` — Display MSF main menu."} +{"instruction": "What does `MSFMenu.show_target_settings()` do?", "input": "", "output": "`show_target_settings()` — Configure global target settings."} +{"instruction": "What does `MSFMenu.show_module_browser()` do?", "input": "", "output": "`show_module_browser()` — Browse modules by category."} +{"instruction": "What does `MSFMenu.search_modules()` do?", "input": "", "output": "`search_modules()` — Search for MSF modules."} +{"instruction": "What does `MSFMenu.show_current_module()` do?", "input": "", "output": "`show_current_module()` — Show and configure current module options."} +{"instruction": "What does `MSFMenu.set_option()` do?", "input": "", "output": "`set_option()` — Set a module option."} +{"instruction": "What does `MSFMenu.run_module()` do?", "input": "", "output": "`run_module()` — Execute the current module."} +{"instruction": "What does `MSFMenu.show_sessions()` do?", "input": "", "output": "`show_sessions()` — Show active sessions."} +{"instruction": "What does `MSFMenu.interact_session()` do?", "input": "", "output": "`interact_session(session_id)` — Interact with a session."} +{"instruction": "What does `MSFMenu.show_jobs()` do?", "input": "", "output": "`show_jobs()` — Show running jobs."} +{"instruction": "What does `MSFMenu.console_command()` do?", "input": "", "output": "`console_command()` — Run console commands directly."} +{"instruction": "What does `MSFMenu.quick_scan()` do?", "input": "", "output": "`quick_scan()` — Quick scanner with pre-set target."} +{"instruction": "What does `MSFMenu.exploit_suggester()` do?", "input": "", "output": "`exploit_suggester()` — Suggest exploits based on vulnerability scan results."} +{"instruction": "What does `MSFMenu.run()` do?", "input": "", "output": "`run()` — Main loop."} +{"instruction": "What does the file `modules\\mysystem.py` do in AUTARCH?", "input": "", "output": "`modules\\mysystem.py` — \nAUTARCH My System Module\nComprehensive system security audit with CVE detection and remediation\n\nPerforms full system audit, saves results, and offers LLM-assisted or manual fixes.\n\n\nCategory: defense\nIt contains 2 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `SecurityIssue` class in `modules\\mysystem.py` provide?", "input": "", "output": "The `SecurityIssue` class provides these methods: to_dict, from_dict\n\nClass description: Represents a security issue found during audit."} +{"instruction": "What methods does the `MySystem` class in `modules\\mysystem.py` provide?", "input": "", "output": "The `MySystem` class provides these methods: print_status, run_cmd, collect_system_info, add_issue, check_firewall, check_ssh_config, check_open_ports, check_users, check_permissions, check_services, check_updates, check_fail2ban, check_antivirus, check_cves, run_full_audit, print_summary, save_to_file, load_from_file, show_issue_details, attempt_llm_fix, apply_manual_fix, show_menu, show_issues_menu, handle_issue, show_cve_report, search_cve_interactive, show_cve_details, check_software_cves, sync_database_recent, sync_database_full, show_database_info, run\n\nClass description: Comprehensive system security auditor."} +{"instruction": "What does `MySystem.run_cmd()` do?", "input": "", "output": "`run_cmd(cmd, timeout)` — Run command and return (success, output)."} +{"instruction": "What does `MySystem.collect_system_info()` do?", "input": "", "output": "`collect_system_info()` — Collect comprehensive system information."} +{"instruction": "What does `MySystem.add_issue()` do?", "input": "", "output": "`add_issue(name, description, severity, category, fix_command, fix_instructions, score_penalty)` — Add a security issue to the list."} +{"instruction": "What does `MySystem.check_firewall()` do?", "input": "", "output": "`check_firewall()` — Check firewall status."} +{"instruction": "What does `MySystem.check_ssh_config()` do?", "input": "", "output": "`check_ssh_config()` — Check SSH hardening."} +{"instruction": "What does `MySystem.check_open_ports()` do?", "input": "", "output": "`check_open_ports()` — Check for listening ports."} +{"instruction": "What does `MySystem.check_users()` do?", "input": "", "output": "`check_users()` — Check user security."} +{"instruction": "What does `MySystem.check_permissions()` do?", "input": "", "output": "`check_permissions()` — Check critical file permissions."} +{"instruction": "What does `MySystem.check_services()` do?", "input": "", "output": "`check_services()` — Check for unnecessary/dangerous services."} +{"instruction": "What does `MySystem.check_updates()` do?", "input": "", "output": "`check_updates()` — Check for available updates."} +{"instruction": "What does `MySystem.check_fail2ban()` do?", "input": "", "output": "`check_fail2ban()` — Check fail2ban status."} +{"instruction": "What does `MySystem.check_antivirus()` do?", "input": "", "output": "`check_antivirus()` — Check for antivirus."} +{"instruction": "What does `MySystem.check_cves()` do?", "input": "", "output": "`check_cves(verbose)` — Check for CVEs affecting this system using local SQLite database."} +{"instruction": "What does `MySystem.run_full_audit()` do?", "input": "", "output": "`run_full_audit(check_cves)` — Run complete system audit."} +{"instruction": "What does `MySystem.print_summary()` do?", "input": "", "output": "`print_summary()` — Print audit summary."} +{"instruction": "What does `MySystem.save_to_file()` do?", "input": "", "output": "`save_to_file()` — Save audit results to system.inf."} +{"instruction": "What does `MySystem.load_from_file()` do?", "input": "", "output": "`load_from_file()` — Load previous audit results from system.inf."} +{"instruction": "What does `MySystem.show_issue_details()` do?", "input": "", "output": "`show_issue_details(issue)` — Show detailed information about an issue."} +{"instruction": "What does `MySystem.attempt_llm_fix()` do?", "input": "", "output": "`attempt_llm_fix(issue)` — Use LLM to generate and optionally apply a fix."} +{"instruction": "What does `MySystem.apply_manual_fix()` do?", "input": "", "output": "`apply_manual_fix(issue)` — Apply the predefined fix command."} +{"instruction": "What does `MySystem.show_menu()` do?", "input": "", "output": "`show_menu()` — Display main menu."} +{"instruction": "What does `MySystem.show_issues_menu()` do?", "input": "", "output": "`show_issues_menu()` — Display issues as selectable options."} +{"instruction": "What does `MySystem.handle_issue()` do?", "input": "", "output": "`handle_issue(issue)` — Handle remediation of a single issue."} +{"instruction": "What does `MySystem.show_cve_report()` do?", "input": "", "output": "`show_cve_report()` — Show CVE report from audit."} +{"instruction": "What does `MySystem.search_cve_interactive()` do?", "input": "", "output": "`search_cve_interactive()` — Interactive CVE search."} +{"instruction": "What does `MySystem.show_cve_details()` do?", "input": "", "output": "`show_cve_details(cve)` — Show detailed CVE information."} +{"instruction": "What does `MySystem.check_software_cves()` do?", "input": "", "output": "`check_software_cves()` — Check CVEs for specific software."} +{"instruction": "What does `MySystem.sync_database_recent()` do?", "input": "", "output": "`sync_database_recent()` — Sync recent CVEs (last 120 days)."} +{"instruction": "What does `MySystem.sync_database_full()` do?", "input": "", "output": "`sync_database_full()` — Full database sync (all CVEs since 1999)."} +{"instruction": "What does `MySystem.show_database_info()` do?", "input": "", "output": "`show_database_info()` — Show CVE database information."} +{"instruction": "What does `MySystem.run()` do?", "input": "", "output": "`run()` — Main module loop."} +{"instruction": "What does the file `modules\\nettest.py` do in AUTARCH?", "input": "", "output": "`modules\\nettest.py` — \nAUTARCH Network Test Module\nTest network speed and connectivity\n\n\nCategory: utility\nIt contains 1 class(es) and 4 top-level function(s)."} +{"instruction": "What methods does the `NetworkTester` class in `modules\\nettest.py` provide?", "input": "", "output": "The `NetworkTester` class provides these methods: test_connectivity, test_speed, test_dns\n\nClass description: Network testing utility."} +{"instruction": "What does `NetworkTester.test_connectivity()` do?", "input": "", "output": "`test_connectivity()` — Test basic internet connectivity.\n\nReturns:\n Dict with connectivity results."} +{"instruction": "What does `NetworkTester.test_speed()` do?", "input": "", "output": "`test_speed()` — Test network speed using speedtest.\n\nReturns:\n Dict with speed test results."} +{"instruction": "What does `NetworkTester.test_dns()` do?", "input": "", "output": "`test_dns(domain)` — Test DNS resolution.\n\nArgs:\n domain: Domain to resolve.\n\nReturns:\n Dict with DNS test results."} +{"instruction": "What does the file `modules\\recon.py` do in AUTARCH?", "input": "", "output": "`modules\\recon.py` — \nAUTARCH Recon Module\nOpen Source Intelligence (OSINT) gathering\n\nDomain, IP, email, username, and phone reconnaissance tools.\nIntegrates with social-analyzer for social media analysis.\nUses unified sites database from sherlock, maigret, and social-analyzer.\n\n\nCategory: osint\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `Recon` class in `modules\\recon.py` provide?", "input": "", "output": "The `Recon` class provides these methods: print_status, run_cmd, email_lookup, email_permutator, validate_username, username_lookup, social_analyzer_search, phone_lookup, domain_info, ip_info, subdomain_enum, tech_detect, run_geoip_module, run_yandex_module, run_network_test, run_snoop_decoder, run_dossier_manager, show_sites_db_stats, nmap_scanner, network_mapper, web_scanner, vuln_correlator, show_menu, run\n\nClass description: OSINT and reconnaissance tools."} +{"instruction": "What does `Recon.email_lookup()` do?", "input": "", "output": "`email_lookup()` — Email address OSINT."} +{"instruction": "What does `Recon.email_permutator()` do?", "input": "", "output": "`email_permutator()` — Generate email permutations."} +{"instruction": "What does `Recon.validate_username()` do?", "input": "", "output": "`validate_username(username)` — Validate username before searching (like Snoop).\n\nReturns:\n Tuple of (is_valid, error_message)"} +{"instruction": "What does `Recon.username_lookup()` do?", "input": "", "output": "`username_lookup()` — Username OSINT across platforms using sites database."} +{"instruction": "What does `Recon.social_analyzer_search()` do?", "input": "", "output": "`social_analyzer_search(username)` — Run social-analyzer on a username."} +{"instruction": "What does `Recon.phone_lookup()` do?", "input": "", "output": "`phone_lookup()` — Phone number OSINT."} +{"instruction": "What does `Recon.domain_info()` do?", "input": "", "output": "`domain_info()` — Gather domain information."} +{"instruction": "What does `Recon.ip_info()` do?", "input": "", "output": "`ip_info()` — Gather IP address information."} +{"instruction": "What does `Recon.subdomain_enum()` do?", "input": "", "output": "`subdomain_enum()` — Enumerate subdomains."} +{"instruction": "What does `Recon.tech_detect()` do?", "input": "", "output": "`tech_detect()` — Detect technologies on a website."} +{"instruction": "What does `Recon.run_geoip_module()` do?", "input": "", "output": "`run_geoip_module()` — Run the GEO IP/Domain Lookup module."} +{"instruction": "What does `Recon.run_yandex_module()` do?", "input": "", "output": "`run_yandex_module()` — Run the Yandex OSINT module."} +{"instruction": "What does `Recon.run_network_test()` do?", "input": "", "output": "`run_network_test()` — Run the Network Test module."} +{"instruction": "What does `Recon.run_snoop_decoder()` do?", "input": "", "output": "`run_snoop_decoder()` — Run the Snoop Database Decoder module."} +{"instruction": "What does `Recon.run_dossier_manager()` do?", "input": "", "output": "`run_dossier_manager()` — Run the Dossier Manager module."} +{"instruction": "What does `Recon.show_sites_db_stats()` do?", "input": "", "output": "`show_sites_db_stats()` — Display sites database statistics."} +{"instruction": "What does `Recon.nmap_scanner()` do?", "input": "", "output": "`nmap_scanner()` — Nmap scanner submenu."} +{"instruction": "What does `Recon.network_mapper()` do?", "input": "", "output": "`network_mapper()` — Network mapper - discover hosts and services on a subnet."} +{"instruction": "What does `Recon.web_scanner()` do?", "input": "", "output": "`web_scanner()` — Web application security scanner."} +{"instruction": "What does `Recon.vuln_correlator()` do?", "input": "", "output": "`vuln_correlator()` — Vulnerability correlator - match services to CVEs."} +{"instruction": "What does the file `modules\\revshell.py` do in AUTARCH?", "input": "", "output": "`modules\\revshell.py` — \nReverse Shell Manager - Manage incoming reverse shell connections from Archon companion app.\nControl the RevShell listener, manage sessions, execute commands, transfer files.\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `RevShellManager` class in `modules\\revshell.py` provide?", "input": "", "output": "The `RevShellManager` class provides these methods: listener, show_menu, do_start, do_stop, do_status, do_list_sessions, do_interactive_shell, do_execute_command, do_disconnect_session, do_sysinfo, do_packages, do_processes, do_netstat, do_logcat, do_screenshot, do_download, do_upload, run_interactive\n\nClass description: Interactive reverse shell management menu."} +{"instruction": "What does the file `modules\\rsf.py` do in AUTARCH?", "input": "", "output": "`modules\\rsf.py` — \nAUTARCH RouterSploit Module\nInterface for RouterSploit Framework with module browser.\n\nProvides easy access to RSF modules for IoT/embedded device testing.\nUses the RSF interface from core/rsf_interface.py.\nIntegrates with rsf_terms.py and rsf_modules.py for descriptions.\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `RSFMenu` class in `modules\\rsf.py` provide?", "input": "", "output": "The `RSFMenu` class provides these methods: print_status, wrap_text, resolve_hostname, show_main_menu, show_target_settings, show_module_browser, search_modules, show_current_module, run_check, run_module, quick_scan, credential_check\n\nClass description: RouterSploit menu interface with module browser."} +{"instruction": "What does `RSFMenu.print_status()` do?", "input": "", "output": "`print_status(message, status)` — Print a status message."} +{"instruction": "What does `RSFMenu.wrap_text()` do?", "input": "", "output": "`wrap_text(text, width, indent)` — Word-wrap text with indent."} +{"instruction": "What does `RSFMenu.resolve_hostname()` do?", "input": "", "output": "`resolve_hostname(hostname)` — Resolve hostname to IP address."} +{"instruction": "What does `RSFMenu.show_main_menu()` do?", "input": "", "output": "`show_main_menu()` — Display RSF main menu."} +{"instruction": "What does `RSFMenu.show_target_settings()` do?", "input": "", "output": "`show_target_settings()` — Configure target device settings."} +{"instruction": "What does `RSFMenu.show_module_browser()` do?", "input": "", "output": "`show_module_browser()` — Browse modules by category."} +{"instruction": "What does `RSFMenu.search_modules()` do?", "input": "", "output": "`search_modules()` — Search for modules by keyword."} +{"instruction": "What does `RSFMenu.show_current_module()` do?", "input": "", "output": "`show_current_module()` — View and configure the current selected module."} +{"instruction": "What does `RSFMenu.run_check()` do?", "input": "", "output": "`run_check()` — Run check from main menu (option 5)."} +{"instruction": "What does `RSFMenu.run_module()` do?", "input": "", "output": "`run_module()` — Run module from main menu (option 6)."} +{"instruction": "What does `RSFMenu.quick_scan()` do?", "input": "", "output": "`quick_scan()` — Quick scan presets using RSF scanners."} +{"instruction": "What does `RSFMenu.credential_check()` do?", "input": "", "output": "`credential_check()` — Run credential checking modules."} +{"instruction": "What does the file `modules\\setup.py` do in AUTARCH?", "input": "", "output": "`modules\\setup.py` — \nAUTARCH Setup Module\nFirst-time configuration wizard for LLM settings\nSupports GGUF (llama.cpp) and SafeTensors (transformers) models\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `SetupWizard` class in `modules\\setup.py` provide?", "input": "", "output": "The `SetupWizard` class provides these methods: print_header, print_info, print_warning, print_error, get_input, get_int_input, get_float_input, validate_model_path, validate_model_path_legacy, resolve_model_path, skip_setup, run\n\nClass description: Interactive setup wizard for AUTARCH configuration."} +{"instruction": "What does `SetupWizard.print_header()` do?", "input": "", "output": "`print_header(text)` — Print a formatted section header."} +{"instruction": "What does `SetupWizard.print_info()` do?", "input": "", "output": "`print_info(text)` — Print info message."} +{"instruction": "What does `SetupWizard.print_warning()` do?", "input": "", "output": "`print_warning(text)` — Print warning message."} +{"instruction": "What does `SetupWizard.print_error()` do?", "input": "", "output": "`print_error(text)` — Print error message."} +{"instruction": "What does `SetupWizard.get_input()` do?", "input": "", "output": "`get_input(prompt, default)` — Get user input with optional default value.\n\nArgs:\n prompt: The prompt to display\n default: Default value if user presses enter\n\nReturns:\n User input or default value"} +{"instruction": "What does `SetupWizard.get_int_input()` do?", "input": "", "output": "`get_int_input(prompt, default, min_val, max_val)` — Get integer input with validation.\n\nArgs:\n prompt: The prompt to display\n default: Default value\n min_val: Minimum allowed value\n max_val: Maximum allowed value\n\nReturns:\n Validated integer value"} +{"instruction": "What does `SetupWizard.get_float_input()` do?", "input": "", "output": "`get_float_input(prompt, default, min_val, max_val)` — Get float input with validation."} +{"instruction": "What does `SetupWizard.validate_model_path()` do?", "input": "", "output": "`validate_model_path(path)` — Validate that a model file or directory exists.\n\nArgs:\n path: Path to the model file or directory\n\nReturns:\n Tuple of (is_valid, model_type) where model_type is 'gguf', 'transformers', or None"} +{"instruction": "What does `SetupWizard.validate_model_path_legacy()` do?", "input": "", "output": "`validate_model_path_legacy(path)` — Legacy validation - just checks if file exists.\n\nArgs:\n path: Path to the model file\n\nReturns:\n True if valid, False otherwise"} +{"instruction": "What does `SetupWizard.resolve_model_path()` do?", "input": "", "output": "`resolve_model_path(path)` — Resolve a model path, trying multiple variations.\n\nArgs:\n path: User-provided path (may be relative or have variations)\n\nReturns:\n Resolved absolute path if found, None otherwise"} +{"instruction": "What does `SetupWizard.skip_setup()` do?", "input": "", "output": "`skip_setup()` — Skip setup and mark as complete without LLM configuration.\n\nReturns:\n True always (setup skipped successfully)"} +{"instruction": "What does `SetupWizard.run()` do?", "input": "", "output": "`run(allow_skip)` — Run the setup wizard.\n\nArgs:\n allow_skip: Whether to show the skip option\n\nReturns:\n True if setup completed successfully, False if cancelled"} +{"instruction": "What does the file `modules\\simulate.py` do in AUTARCH?", "input": "", "output": "`modules\\simulate.py` — \nAUTARCH Simulate Module\nAttack simulation and security testing\n\nRed team exercises and controlled attack simulations.\n\n\nCategory: simulate\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `Simulator` class in `modules\\simulate.py` provide?", "input": "", "output": "The `Simulator` class provides these methods: print_status, run_cmd, password_audit, port_scanner, banner_grabber, payload_generator, network_stress, credential_sprayer, show_menu, run\n\nClass description: Attack simulation tools."} +{"instruction": "What does `Simulator.password_audit()` do?", "input": "", "output": "`password_audit()` — Audit password strength and check common passwords."} +{"instruction": "What does `Simulator.port_scanner()` do?", "input": "", "output": "`port_scanner()` — TCP port scanner."} +{"instruction": "What does `Simulator.banner_grabber()` do?", "input": "", "output": "`banner_grabber()` — Grab service banners."} +{"instruction": "What does `Simulator.payload_generator()` do?", "input": "", "output": "`payload_generator()` — Generate various payloads for testing."} +{"instruction": "What does `Simulator.network_stress()` do?", "input": "", "output": "`network_stress()` — Network stress test (controlled)."} +{"instruction": "What does `Simulator.credential_sprayer()` do?", "input": "", "output": "`credential_sprayer()` — Credential spraying against network services."} +{"instruction": "What does the file `modules\\snoop_decoder.py` do in AUTARCH?", "input": "", "output": "`modules\\snoop_decoder.py` — \nAUTARCH Snoop Database Decoder Module\nDecrypts and imports Snoop Project databases into AUTARCH\n\n\nCategory: osint\nIt contains 1 class(es) and 3 top-level function(s)."} +{"instruction": "What methods does the `SnoopDecoder` class in `modules\\snoop_decoder.py` provide?", "input": "", "output": "The `SnoopDecoder` class provides these methods: decode_database, save_decoded, import_to_database, show_sample, get_stats\n\nClass description: Decoder for Snoop Project encoded databases."} +{"instruction": "What does `SnoopDecoder.decode_database()` do?", "input": "", "output": "`decode_database(filepath)` — Decode a Snoop database file.\n\nArgs:\n filepath: Path to the encoded database file (BDdemo, BDfull, etc.)\n\nReturns:\n Decoded dictionary of sites."} +{"instruction": "What does `SnoopDecoder.save_decoded()` do?", "input": "", "output": "`save_decoded(data, output_name)` — Save decoded database to JSON file.\n\nArgs:\n data: Decoded site dictionary.\n output_name: Output filename.\n\nReturns:\n Path to saved file."} +{"instruction": "What does `SnoopDecoder.import_to_database()` do?", "input": "", "output": "`import_to_database(data)` — Import decoded Snoop data into AUTARCH sites database.\n\nArgs:\n data: Decoded site dictionary.\n\nReturns:\n Import statistics."} +{"instruction": "What does `SnoopDecoder.show_sample()` do?", "input": "", "output": "`show_sample(data, count)` — Display sample sites from decoded database.\n\nArgs:\n data: Decoded site dictionary.\n count: Number of samples to show."} +{"instruction": "What does `SnoopDecoder.get_stats()` do?", "input": "", "output": "`get_stats(data)` — Get statistics about decoded database.\n\nArgs:\n data: Decoded site dictionary.\n\nReturns:\n Statistics dictionary."} +{"instruction": "What does the file `modules\\upnp_manager.py` do in AUTARCH?", "input": "", "output": "`modules\\upnp_manager.py` — \nAUTARCH UPnP Port Manager Module\nManage UPnP port forwarding and cron refresh jobs\n\nRequires: miniupnpc (upnpc command)\n\n\nCategory: defense\nIt contains 0 class(es) and 11 top-level function(s)."} +{"instruction": "What does the file `modules\\wireguard_manager.py` do in AUTARCH?", "input": "", "output": "`modules\\wireguard_manager.py` — \nWireGuard VPN Manager - Server management, client CRUD, remote ADB\nManage WireGuard VPN server, clients, and remote ADB connections over VPN tunnel.\n\n\nCategory: defense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `WireGuardVPN` class in `modules\\wireguard_manager.py` provide?", "input": "", "output": "The `WireGuardVPN` class provides these methods: show_menu, do_server_status, do_start, do_stop, do_restart, do_list_clients, do_create_client, do_view_client, do_delete_client, do_toggle_client, do_import_peers, do_adb_connect, do_adb_disconnect, do_auto_connect, do_list_adb_devices, do_usbip_status, do_load_modules, do_list_remote_usb, do_attach_usb, do_detach_usb, do_list_ports, do_gen_config, do_show_qr, do_refresh_upnp, run_interactive\n\nClass description: Interactive WireGuard VPN menu."} +{"instruction": "What does the file `modules\\wireshark.py` do in AUTARCH?", "input": "", "output": "`modules\\wireshark.py` — \nAUTARCH Wireshark Module\nPacket capture and analysis (scapy + optional tshark)\n\nLive capture, PCAP analysis, protocol/conversation/DNS/HTTP analysis,\ncredential detection.\n\n\nCategory: analyze\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `PacketAnalyzer` class in `modules\\wireshark.py` provide?", "input": "", "output": "The `PacketAnalyzer` class provides these methods: print_status, show_menu, list_interfaces, start_capture, open_pcap, protocol_analysis, conversation_analysis, dns_analysis, http_analysis, credential_detection, export_results\n\nClass description: Packet capture and analysis tools."} +{"instruction": "What does `PacketAnalyzer.list_interfaces()` do?", "input": "", "output": "`list_interfaces()` — List network interfaces."} +{"instruction": "What does `PacketAnalyzer.start_capture()` do?", "input": "", "output": "`start_capture()` — Start a live packet capture."} +{"instruction": "What does `PacketAnalyzer.open_pcap()` do?", "input": "", "output": "`open_pcap()` — Open and load a PCAP file."} +{"instruction": "What does `PacketAnalyzer.protocol_analysis()` do?", "input": "", "output": "`protocol_analysis()` — Show protocol distribution."} +{"instruction": "What does `PacketAnalyzer.conversation_analysis()` do?", "input": "", "output": "`conversation_analysis()` — Show IP conversations."} +{"instruction": "What does `PacketAnalyzer.dns_analysis()` do?", "input": "", "output": "`dns_analysis()` — Show DNS queries."} +{"instruction": "What does `PacketAnalyzer.http_analysis()` do?", "input": "", "output": "`http_analysis()` — Show HTTP requests."} +{"instruction": "What does `PacketAnalyzer.credential_detection()` do?", "input": "", "output": "`credential_detection()` — Detect plaintext credentials."} +{"instruction": "What does `PacketAnalyzer.export_results()` do?", "input": "", "output": "`export_results()` — Export packets."} +{"instruction": "What does the file `modules\\workflow.py` do in AUTARCH?", "input": "", "output": "`modules\\workflow.py` — \nAUTARCH Workflow Module\nAutomated pentest pipeline orchestration\n\nRun multi-step security assessments with automated data flow between tools.\n\n\nCategory: offense\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `WorkflowRunner` class in `modules\\workflow.py` provide?", "input": "", "output": "The `WorkflowRunner` class provides these methods: print_status, show_menu, run_workflow, quick_scan, resume_workflow, run\n\nClass description: Orchestrate multi-step pentest workflows."} +{"instruction": "What does `WorkflowRunner.run_workflow()` do?", "input": "", "output": "`run_workflow(target)` — Run full automated pentest workflow."} +{"instruction": "What does `WorkflowRunner.quick_scan()` do?", "input": "", "output": "`quick_scan(target)` — Run quick scan: Nmap → CVE → Report (no LLM)."} +{"instruction": "What does `WorkflowRunner.resume_workflow()` do?", "input": "", "output": "`resume_workflow()` — Resume a saved workflow from JSON state."} +{"instruction": "What does `WorkflowRunner.run()` do?", "input": "", "output": "`run()` — Main menu loop."} +{"instruction": "What does the file `modules\\yandex_osint.py` do in AUTARCH?", "input": "", "output": "`modules\\yandex_osint.py` — \nAUTARCH Yandex OSINT Module\nGather information about Yandex users from their login, email, or public links\n\n\nCategory: osint\nIt contains 1 class(es) and 3 top-level function(s)."} +{"instruction": "What methods does the `YandexParser` class in `modules\\yandex_osint.py` provide?", "input": "", "output": "The `YandexParser` class provides these methods: lookup_by_login, lookup_by_disk_link, lookup_by_public_id\n\nClass description: Parser for Yandex user information."} +{"instruction": "What does `YandexParser.lookup_by_login()` do?", "input": "", "output": "`lookup_by_login(login)` — Lookup Yandex user by login/email.\n\nArgs:\n login: Yandex login or email.\n\nReturns:\n Dict with user information."} +{"instruction": "What does `YandexParser.lookup_by_disk_link()` do?", "input": "", "output": "`lookup_by_disk_link(url)` — Extract user info from Yandex.Disk public link.\n\nArgs:\n url: Public Yandex.Disk link.\n\nReturns:\n Dict with user information."} +{"instruction": "What does `YandexParser.lookup_by_public_id()` do?", "input": "", "output": "`lookup_by_public_id(public_id)` — Lookup user by Yandex public ID.\n\nArgs:\n public_id: 26-character Yandex user identifier.\n\nReturns:\n Dict with user information."} +{"instruction": "What does the file `core\\agent.py` do in AUTARCH?", "input": "", "output": "`core\\agent.py` — \nAUTARCH Agent System\nAutonomous agent that uses LLM to accomplish tasks with tools\n\n\nCategory: core\nIt contains 4 class(es) and 0 top-level function(s)."} +{"instruction": "What methods does the `Agent` class in `core\\agent.py` provide?", "input": "", "output": "The `Agent` class provides these methods: run, get_steps_summary\n\nClass description: Autonomous agent that uses LLM and tools to accomplish tasks."} +{"instruction": "What does `Agent.run()` do?", "input": "", "output": "`run(task, user_input_handler, step_callback)` — Run the agent on a task.\n\nArgs:\n task: The task description.\n user_input_handler: Callback for handling ask_user actions.\n If None, uses default input().\n step_callback: Optional per-step callback invoked after each step completes.\n Overrides self.on_step for this run if provided.\n\nReturns:\n AgentResult with execution details."} +{"instruction": "What does `Agent.get_steps_summary()` do?", "input": "", "output": "`get_steps_summary()` — Get a formatted summary of all steps taken."} +{"instruction": "What does the file `core\\android_exploit.py` do in AUTARCH?", "input": "", "output": "`core\\android_exploit.py` — \nAUTARCH Android Exploitation Manager\nApp extraction, device recon, payload deployment, boot/recovery exploits, rooting.\nWraps HardwareManager for offensive Android operations.\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidExploitManager` class in `core\\android_exploit.py` provide?", "input": "", "output": "The `AndroidExploitManager` class provides these methods: list_packages, pull_apk, pull_app_data, extract_shared_prefs, full_device_dump, get_accounts, get_wifi_passwords, extract_call_logs, extract_sms, extract_contacts, extract_browser_history, extract_saved_credentials, export_recon_report, deploy_binary, execute_payload, setup_reverse_shell, install_persistence, list_running_payloads, kill_payload, sms_list, sms_insert, sms_delete, sms_delete_all, sms_update, sms_bulk_insert, rcs_check_support, rcs_list, rcs_insert, rcs_delete, get_bootloader_info, backup_boot_image, flash_recovery, flash_boot, disable_verity, boot_temp, unlock_bootloader, check_root, install_magisk, pull_patched_boot, root_via_exploit, adb_root_shell, screen_capture, screen_record, input_tap, input_swipe, input_text, input_keyevent, start_keylogger, stop_keylogger, camera_capture, audio_record, dismiss_lockscreen, disable_lockscreen, extract_clipboard, dump_notifications, extract_location, extract_media_list, pull_media_folder, extract_whatsapp_db, extract_telegram_db, extract_signal_db, dump_all_settings, set_proxy, clear_proxy, install_ca_cert_user, install_ca_cert_system, get_network_info, set_dns, wifi_scan, wifi_connect, wifi_disconnect, wifi_enable, enable_hotspot, capture_traffic, port_forward, port_forward_list, enable_adb_wifi, grant_permission, revoke_permission, list_permissions, disable_app, enable_app, clear_app_data, force_stop_app, launch_app, launch_activity, send_broadcast, content_query, overlay_attack_enable, set_selinux, remount_system, logcat_sensitive, deploy_frida, get_running_processes, get_open_ports, modify_setting, get_device_fingerprint, dump_database, get_commands_for_op, parse_op_output\n\nClass description: All Android exploitation logic."} +{"instruction": "What does `AndroidExploitManager.list_packages()` do?", "input": "", "output": "`list_packages(serial, include_system)` — List installed packages. Returns [{package, path, is_system}]."} +{"instruction": "What does `AndroidExploitManager.pull_apk()` do?", "input": "", "output": "`pull_apk(serial, package)` — Pull APK for a package."} +{"instruction": "What does `AndroidExploitManager.pull_app_data()` do?", "input": "", "output": "`pull_app_data(serial, package)` — Pull app data (databases, shared_prefs, files). Tries run-as then root."} +{"instruction": "What does `AndroidExploitManager.extract_shared_prefs()` do?", "input": "", "output": "`extract_shared_prefs(serial, package)` — Extract shared_prefs XML files for a package."} +{"instruction": "What does `AndroidExploitManager.full_device_dump()` do?", "input": "", "output": "`full_device_dump(serial)` — Full device reconnaissance dump."} +{"instruction": "What does `AndroidExploitManager.get_accounts()` do?", "input": "", "output": "`get_accounts(serial)` — Get accounts registered on device."} +{"instruction": "What does `AndroidExploitManager.get_wifi_passwords()` do?", "input": "", "output": "`get_wifi_passwords(serial)` — Extract saved WiFi passwords. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.extract_call_logs()` do?", "input": "", "output": "`extract_call_logs(serial, limit)` — Extract call logs via content provider."} +{"instruction": "What does `AndroidExploitManager.extract_sms()` do?", "input": "", "output": "`extract_sms(serial, limit)` — Extract SMS messages via content provider."} +{"instruction": "What does `AndroidExploitManager.extract_contacts()` do?", "input": "", "output": "`extract_contacts(serial)` — Extract contacts via content provider."} +{"instruction": "What does `AndroidExploitManager.extract_browser_history()` do?", "input": "", "output": "`extract_browser_history(serial)` — Pull Chrome History SQLite and query it locally. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.extract_saved_credentials()` do?", "input": "", "output": "`extract_saved_credentials(serial)` — Pull Chrome Login Data SQLite. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.export_recon_report()` do?", "input": "", "output": "`export_recon_report(serial)` — Run all recon methods and save to JSON."} +{"instruction": "What does `AndroidExploitManager.deploy_binary()` do?", "input": "", "output": "`deploy_binary(serial, local_path, remote_path)` — Push a binary and make it executable."} +{"instruction": "What does `AndroidExploitManager.execute_payload()` do?", "input": "", "output": "`execute_payload(serial, remote_path, args, background)` — Execute a deployed payload."} +{"instruction": "What does `AndroidExploitManager.setup_reverse_shell()` do?", "input": "", "output": "`setup_reverse_shell(serial, lhost, lport, method)` — Set up a reverse shell on device."} +{"instruction": "What does `AndroidExploitManager.install_persistence()` do?", "input": "", "output": "`install_persistence(serial, method)` — Install persistence mechanism. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.list_running_payloads()` do?", "input": "", "output": "`list_running_payloads(serial)` — List processes in /data/local/tmp/."} +{"instruction": "What does `AndroidExploitManager.kill_payload()` do?", "input": "", "output": "`kill_payload(serial, pid)` — Kill a running payload by PID."} +{"instruction": "What does `AndroidExploitManager.sms_list()` do?", "input": "", "output": "`sms_list(serial, limit, address)` — List SMS messages on device. Optional filter by address (phone number)."} +{"instruction": "What does `AndroidExploitManager.sms_insert()` do?", "input": "", "output": "`sms_insert(serial, address, body, date_str, time_str, msg_type, read)` — Insert a spoofed SMS message.\n\nArgs:\n address: Phone number (sender for inbox, recipient for sent)\n body: Message text\n date_str: Date as YYYY-MM-DD (default: now)\n time_str: Time as HH:MM:SS (default: now)\n msg_type: 'inbox' (1), 'sent' (2), 'draft' (3)\n read: Mark as read"} +{"instruction": "What does `AndroidExploitManager.sms_delete()` do?", "input": "", "output": "`sms_delete(serial, sms_id, address, delete_all_from)` — Delete SMS messages.\n\nArgs:\n sms_id: Delete specific message by _id\n address: Delete messages from/to this number\n delete_all_from: If True and address set, delete ALL from that number"} +{"instruction": "What does `AndroidExploitManager.sms_delete_all()` do?", "input": "", "output": "`sms_delete_all(serial)` — Delete ALL SMS messages on the device."} +{"instruction": "What does `AndroidExploitManager.sms_update()` do?", "input": "", "output": "`sms_update(serial, sms_id, body, date_str, time_str, address, msg_type, read)` — Update an existing SMS message fields."} +{"instruction": "What does `AndroidExploitManager.sms_bulk_insert()` do?", "input": "", "output": "`sms_bulk_insert(serial, messages)` — Insert multiple SMS messages.\n\nArgs:\n messages: List of dicts with keys: address, body, date, time, type, read"} +{"instruction": "What does `AndroidExploitManager.rcs_check_support()` do?", "input": "", "output": "`rcs_check_support(serial)` — Check if Google Messages / RCS is available on device."} +{"instruction": "What does `AndroidExploitManager.rcs_list()` do?", "input": "", "output": "`rcs_list(serial, limit)` — List RCS messages from Google Messages bugle_db. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.rcs_insert()` do?", "input": "", "output": "`rcs_insert(serial, address, body, date_str, time_str, sender_name, is_outgoing)` — Insert a spoofed RCS message into Google Messages bugle_db. Requires ROOT.\n\nThis pulls the database, inserts locally, then pushes back.\nThe messaging app must be force-stopped before and restarted after."} +{"instruction": "What does `AndroidExploitManager.rcs_delete()` do?", "input": "", "output": "`rcs_delete(serial, message_id)` — Delete an RCS message from bugle_db by message _id. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.get_bootloader_info()` do?", "input": "", "output": "`get_bootloader_info(serial)` — Get all fastboot variables."} +{"instruction": "What does `AndroidExploitManager.backup_boot_image()` do?", "input": "", "output": "`backup_boot_image(serial)` — Backup boot partition via dd. Requires ROOT in ADB mode."} +{"instruction": "What does `AndroidExploitManager.flash_recovery()` do?", "input": "", "output": "`flash_recovery(serial, img_path)` — Flash custom recovery image via fastboot."} +{"instruction": "What does `AndroidExploitManager.flash_boot()` do?", "input": "", "output": "`flash_boot(serial, img_path)` — Flash boot image via fastboot."} +{"instruction": "What does `AndroidExploitManager.disable_verity()` do?", "input": "", "output": "`disable_verity(serial, vbmeta_path)` — Disable dm-verity/AVB by flashing vbmeta with disable flags."} +{"instruction": "What does `AndroidExploitManager.boot_temp()` do?", "input": "", "output": "`boot_temp(serial, img_path)` — Temporarily boot an image without flashing."} +{"instruction": "What does `AndroidExploitManager.unlock_bootloader()` do?", "input": "", "output": "`unlock_bootloader(serial)` — Unlock bootloader. WIPES DATA."} +{"instruction": "What does `AndroidExploitManager.check_root()` do?", "input": "", "output": "`check_root(serial)` — Check if device is rooted and by what method."} +{"instruction": "What does `AndroidExploitManager.install_magisk()` do?", "input": "", "output": "`install_magisk(serial, apk_path)` — Install Magisk APK on device."} +{"instruction": "What does `AndroidExploitManager.pull_patched_boot()` do?", "input": "", "output": "`pull_patched_boot(serial)` — Pull Magisk-patched boot image from /sdcard/Download/."} +{"instruction": "What does `AndroidExploitManager.root_via_exploit()` do?", "input": "", "output": "`root_via_exploit(serial, exploit_binary)` — Deploy and execute a root exploit binary."} +{"instruction": "What does `AndroidExploitManager.adb_root_shell()` do?", "input": "", "output": "`adb_root_shell(serial)` — Attempt adb root for userdebug/eng builds."} +{"instruction": "What does `AndroidExploitManager.screen_capture()` do?", "input": "", "output": "`screen_capture(serial)` — Take a screenshot and pull it."} +{"instruction": "What does `AndroidExploitManager.screen_record()` do?", "input": "", "output": "`screen_record(serial, duration, size)` — Record screen video and pull it. Max 180s."} +{"instruction": "What does `AndroidExploitManager.input_tap()` do?", "input": "", "output": "`input_tap(serial, x, y)` — Tap at screen coordinates."} +{"instruction": "What does `AndroidExploitManager.input_swipe()` do?", "input": "", "output": "`input_swipe(serial, x1, y1, x2, y2, duration_ms)` — Swipe from (x1,y1) to (x2,y2)."} +{"instruction": "What does `AndroidExploitManager.input_text()` do?", "input": "", "output": "`input_text(serial, text)` — Type text on device. Spaces become %s."} +{"instruction": "What does `AndroidExploitManager.input_keyevent()` do?", "input": "", "output": "`input_keyevent(serial, keycode)` — Send keyevent. Common: 3=HOME, 4=BACK, 26=POWER, 82=MENU, 187=RECENTS."} +{"instruction": "What does `AndroidExploitManager.start_keylogger()` do?", "input": "", "output": "`start_keylogger(serial)` — Start getevent-based keylogger in background. Returns PID."} +{"instruction": "What does `AndroidExploitManager.stop_keylogger()` do?", "input": "", "output": "`stop_keylogger(serial)` — Stop keylogger and pull log file."} +{"instruction": "What does `AndroidExploitManager.camera_capture()` do?", "input": "", "output": "`camera_capture(serial, camera)` — Take photo using device camera via intent."} +{"instruction": "What does `AndroidExploitManager.audio_record()` do?", "input": "", "output": "`audio_record(serial, duration)` — Record audio from microphone. Needs Android 10+ or root for silent."} +{"instruction": "What does `AndroidExploitManager.dismiss_lockscreen()` do?", "input": "", "output": "`dismiss_lockscreen(serial)` — Attempt to dismiss lock screen / wake device."} +{"instruction": "What does `AndroidExploitManager.disable_lockscreen()` do?", "input": "", "output": "`disable_lockscreen(serial)` — Disable lock screen via settings (debug builds or root)."} +{"instruction": "What does `AndroidExploitManager.extract_clipboard()` do?", "input": "", "output": "`extract_clipboard(serial)` — Get current clipboard content."} +{"instruction": "What does `AndroidExploitManager.dump_notifications()` do?", "input": "", "output": "`dump_notifications(serial)` — Dump current notifications."} +{"instruction": "What does `AndroidExploitManager.extract_location()` do?", "input": "", "output": "`extract_location(serial)` — Get device location data."} +{"instruction": "What does `AndroidExploitManager.extract_media_list()` do?", "input": "", "output": "`extract_media_list(serial, media_type)` — List media files on device."} +{"instruction": "What does `AndroidExploitManager.pull_media_folder()` do?", "input": "", "output": "`pull_media_folder(serial, media_type, limit)` — Pull media files from device."} +{"instruction": "What does `AndroidExploitManager.extract_whatsapp_db()` do?", "input": "", "output": "`extract_whatsapp_db(serial)` — Extract WhatsApp message database. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.extract_telegram_db()` do?", "input": "", "output": "`extract_telegram_db(serial)` — Extract Telegram database. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.extract_signal_db()` do?", "input": "", "output": "`extract_signal_db(serial)` — Extract Signal database. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.dump_all_settings()` do?", "input": "", "output": "`dump_all_settings(serial)` — Dump all Android settings (system, secure, global)."} +{"instruction": "What does `AndroidExploitManager.set_proxy()` do?", "input": "", "output": "`set_proxy(serial, host, port)` — Set global HTTP proxy."} +{"instruction": "What does `AndroidExploitManager.clear_proxy()` do?", "input": "", "output": "`clear_proxy(serial)` — Remove global proxy."} +{"instruction": "What does `AndroidExploitManager.install_ca_cert_user()` do?", "input": "", "output": "`install_ca_cert_user(serial, cert_path)` — Install CA certificate to user store."} +{"instruction": "What does `AndroidExploitManager.install_ca_cert_system()` do?", "input": "", "output": "`install_ca_cert_system(serial, cert_path)` — Install CA certificate to system store. Requires ROOT + remounted /system."} +{"instruction": "What does `AndroidExploitManager.get_network_info()` do?", "input": "", "output": "`get_network_info(serial)` — Get comprehensive network information."} +{"instruction": "What does `AndroidExploitManager.set_dns()` do?", "input": "", "output": "`set_dns(serial, dns1, dns2)` — Set DNS servers. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.wifi_scan()` do?", "input": "", "output": "`wifi_scan(serial)` — Scan for nearby WiFi networks."} +{"instruction": "What does `AndroidExploitManager.wifi_connect()` do?", "input": "", "output": "`wifi_connect(serial, ssid, password, security)` — Connect to a WiFi network. Android 10+ uses cmd wifi."} +{"instruction": "What does `AndroidExploitManager.wifi_disconnect()` do?", "input": "", "output": "`wifi_disconnect(serial)` — Disconnect from WiFi."} +{"instruction": "What does `AndroidExploitManager.wifi_enable()` do?", "input": "", "output": "`wifi_enable(serial)` — Enable WiFi."} +{"instruction": "What does `AndroidExploitManager.enable_hotspot()` do?", "input": "", "output": "`enable_hotspot(serial, ssid, password)` — Enable WiFi hotspot. Android 10+."} +{"instruction": "What does `AndroidExploitManager.capture_traffic()` do?", "input": "", "output": "`capture_traffic(serial, interface, duration, pcap_filter)` — Capture network traffic via tcpdump. Requires ROOT or tcpdump binary."} +{"instruction": "What does `AndroidExploitManager.port_forward()` do?", "input": "", "output": "`port_forward(serial, local_port, remote_port)` — Set up ADB port forwarding."} +{"instruction": "What does `AndroidExploitManager.port_forward_list()` do?", "input": "", "output": "`port_forward_list(serial)` — List active port forwards."} +{"instruction": "What does `AndroidExploitManager.enable_adb_wifi()` do?", "input": "", "output": "`enable_adb_wifi(serial, port)` — Enable ADB over WiFi."} +{"instruction": "What does `AndroidExploitManager.grant_permission()` do?", "input": "", "output": "`grant_permission(serial, package, permission)` — Grant a runtime permission to an app."} +{"instruction": "What does `AndroidExploitManager.revoke_permission()` do?", "input": "", "output": "`revoke_permission(serial, package, permission)` — Revoke a runtime permission from an app."} +{"instruction": "What does `AndroidExploitManager.list_permissions()` do?", "input": "", "output": "`list_permissions(serial, package)` — List all permissions for a package."} +{"instruction": "What does `AndroidExploitManager.disable_app()` do?", "input": "", "output": "`disable_app(serial, package)` — Disable (freeze) an app."} +{"instruction": "What does `AndroidExploitManager.enable_app()` do?", "input": "", "output": "`enable_app(serial, package)` — Enable a disabled app."} +{"instruction": "What does `AndroidExploitManager.clear_app_data()` do?", "input": "", "output": "`clear_app_data(serial, package)` — Clear all data for an app."} +{"instruction": "What does `AndroidExploitManager.force_stop_app()` do?", "input": "", "output": "`force_stop_app(serial, package)` — Force stop an app."} +{"instruction": "What does `AndroidExploitManager.launch_app()` do?", "input": "", "output": "`launch_app(serial, package)` — Launch an app."} +{"instruction": "What does `AndroidExploitManager.launch_activity()` do?", "input": "", "output": "`launch_activity(serial, component, extras)` — Start a specific activity. component format: com.pkg/.Activity"} +{"instruction": "What does `AndroidExploitManager.send_broadcast()` do?", "input": "", "output": "`send_broadcast(serial, action, extras)` — Send a broadcast intent."} +{"instruction": "What does `AndroidExploitManager.content_query()` do?", "input": "", "output": "`content_query(serial, uri, projection, where)` — Query any content provider."} +{"instruction": "What does `AndroidExploitManager.overlay_attack_enable()` do?", "input": "", "output": "`overlay_attack_enable(serial, package)` — Grant SYSTEM_ALERT_WINDOW to an app (overlay/tapjacking)."} +{"instruction": "What does `AndroidExploitManager.set_selinux()` do?", "input": "", "output": "`set_selinux(serial, mode)` — Set SELinux mode. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.remount_system()` do?", "input": "", "output": "`remount_system(serial, rw)` — Remount /system. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.logcat_sensitive()` do?", "input": "", "output": "`logcat_sensitive(serial, duration)` — Capture logcat and grep for sensitive data (passwords, tokens, keys)."} +{"instruction": "What does `AndroidExploitManager.deploy_frida()` do?", "input": "", "output": "`deploy_frida(serial, frida_path)` — Deploy and start Frida server. Requires ROOT."} +{"instruction": "What does `AndroidExploitManager.get_running_processes()` do?", "input": "", "output": "`get_running_processes(serial)` — List running processes."} +{"instruction": "What does `AndroidExploitManager.get_open_ports()` do?", "input": "", "output": "`get_open_ports(serial)` — List open network ports."} +{"instruction": "What does `AndroidExploitManager.modify_setting()` do?", "input": "", "output": "`modify_setting(serial, namespace, key, value)` — Modify an Android setting. namespace: system/secure/global."} +{"instruction": "What does `AndroidExploitManager.get_device_fingerprint()` do?", "input": "", "output": "`get_device_fingerprint(serial)` — Comprehensive device fingerprint for identification."} +{"instruction": "What does `AndroidExploitManager.dump_database()` do?", "input": "", "output": "`dump_database(serial, db_path, table, limit)` — Pull and query any SQLite database from device. Requires ROOT for app databases."} +{"instruction": "What does `AndroidExploitManager.get_commands_for_op()` do?", "input": "", "output": "`get_commands_for_op(op, params)` — Return ADB shell command(s) for a given operation without executing them.\n\nUsed by WebUSB Direct mode so the browser can execute via navigator.usb.\nReturns one of:\n {'commands': ['cmd1', ...]} — execute each via adbShell in order\n {'pullPath': '/device/path'} — pull this file from device\n {'error': 'message'} — unsupported or invalid params"} +{"instruction": "What does `AndroidExploitManager.parse_op_output()` do?", "input": "", "output": "`parse_op_output(op, params, raw)` — Parse raw ADB shell output from WebUSB Direct mode.\n\nReuses the same parsing logic as the regular methods but feeds in\nthe raw text that the browser collected via adbShell().\nReturns the same structured JSON the server-mode route would return."} +{"instruction": "What does the file `core\\android_protect.py` do in AUTARCH?", "input": "", "output": "`core\\android_protect.py` — \nAUTARCH Android Protection Shield\nAnti-stalkerware and anti-spyware detection, analysis, and remediation.\n\nDetects:\n- Commercial stalkerware (400+ package signatures)\n- Government-grade spyware (Pegasus, Predator, Hermit, FinSpy, etc.)\n- Hidden apps, rogue device admins, suspicious accessibility services\n- MITM certificates, proxy hijacking, dangerous permission combos\n\nRemediates:\n- Disable/uninstall threats, revoke permissions, remove device admins\n- Clear rogue CA certs, proxy settings, developer options\n\nUses HardwareManager for ADB access. Shizuku for privileged ops on non-rooted devices.\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `AndroidProtectManager` class in `core\\android_protect.py` provide?", "input": "", "output": "The `AndroidProtectManager` class provides these methods: update_signatures, get_signature_stats, check_shizuku, install_shizuku, start_shizuku, stop_shizuku, shizuku_status, check_shield_app, install_shield_app, configure_shield, get_shield_status, grant_shield_permissions, scan_stalkerware, scan_hidden_apps, scan_device_admins, scan_accessibility_services, scan_usage_access, scan_notification_listeners, scan_spyware_indicators, scan_system_integrity, scan_suspicious_processes, scan_certificates, scan_network_config, scan_developer_options, analyze_app_permissions, find_dangerous_apps, permission_heatmap, disable_threat, uninstall_threat, revoke_dangerous_perms, remove_device_admin, remove_ca_cert, clear_proxy, disable_usb_debug, quick_scan, full_protection_scan, export_scan_report, generate_hosts_content, honeypot_status, scan_tracker_apps, scan_tracker_permissions, get_advertising_id, get_tracking_settings, reset_advertising_id, opt_out_ad_tracking, set_private_dns, clear_private_dns, disable_location_accuracy, disable_usage_diagnostics, restrict_app_background, revoke_tracker_permissions, clear_app_tracking_data, force_stop_trackers, deploy_hosts_blocklist, remove_hosts_blocklist, get_hosts_status, setup_iptables_redirect, clear_iptables_redirect, set_fake_location, set_random_fake_location, clear_fake_location, rotate_device_identity, generate_fake_fingerprint, honeypot_activate, honeypot_deactivate, get_fake_data_set, update_tracker_domains, get_tracker_stats\n\nClass description: Anti-stalkerware / anti-spyware shield for Android devices."} +{"instruction": "What does `AndroidProtectManager.update_signatures()` do?", "input": "", "output": "`update_signatures(url)` — Download latest signatures from GitHub."} +{"instruction": "What does `AndroidProtectManager.get_signature_stats()` do?", "input": "", "output": "`get_signature_stats()` — Count known threats by category."} +{"instruction": "What does `AndroidProtectManager.check_shizuku()` do?", "input": "", "output": "`check_shizuku(serial)` — Check Shizuku installation and status."} +{"instruction": "What does `AndroidProtectManager.install_shizuku()` do?", "input": "", "output": "`install_shizuku(serial, apk_path)` — Install Shizuku APK via ADB."} +{"instruction": "What does `AndroidProtectManager.start_shizuku()` do?", "input": "", "output": "`start_shizuku(serial)` — Start Shizuku service via ADB."} +{"instruction": "What does `AndroidProtectManager.stop_shizuku()` do?", "input": "", "output": "`stop_shizuku(serial)` — Stop Shizuku server process."} +{"instruction": "What does `AndroidProtectManager.shizuku_status()` do?", "input": "", "output": "`shizuku_status(serial)` — Full Shizuku status check."} +{"instruction": "What does `AndroidProtectManager.check_shield_app()` do?", "input": "", "output": "`check_shield_app(serial)` — Check if our protection app is installed."} +{"instruction": "What does `AndroidProtectManager.install_shield_app()` do?", "input": "", "output": "`install_shield_app(serial, apk_path)` — Install our Shield APK via ADB."} +{"instruction": "What does `AndroidProtectManager.configure_shield()` do?", "input": "", "output": "`configure_shield(serial, config)` — Push config to shield app via broadcast intent."} +{"instruction": "What does `AndroidProtectManager.get_shield_status()` do?", "input": "", "output": "`get_shield_status(serial)` — Query shield app status via broadcast + logcat."} +{"instruction": "What does `AndroidProtectManager.grant_shield_permissions()` do?", "input": "", "output": "`grant_shield_permissions(serial)` — Auto-grant required permissions to Shield app."} +{"instruction": "What does `AndroidProtectManager.scan_stalkerware()` do?", "input": "", "output": "`scan_stalkerware(serial)` — Scan all installed packages against signature database."} +{"instruction": "What does `AndroidProtectManager.scan_hidden_apps()` do?", "input": "", "output": "`scan_hidden_apps(serial)` — Detect apps with no launcher icon (hidden from app drawer)."} +{"instruction": "What does `AndroidProtectManager.scan_device_admins()` do?", "input": "", "output": "`scan_device_admins(serial)` — List device admin apps, flag suspicious ones."} +{"instruction": "What does `AndroidProtectManager.scan_accessibility_services()` do?", "input": "", "output": "`scan_accessibility_services(serial)` — List accessibility services, flag non-legitimate ones."} +{"instruction": "What does `AndroidProtectManager.scan_usage_access()` do?", "input": "", "output": "`scan_usage_access(serial)` — Apps with usage stats access."} +{"instruction": "What does `AndroidProtectManager.scan_notification_listeners()` do?", "input": "", "output": "`scan_notification_listeners(serial)` — Apps reading notifications."} +{"instruction": "What does `AndroidProtectManager.scan_spyware_indicators()` do?", "input": "", "output": "`scan_spyware_indicators(serial)` — Check for known government spyware file paths, processes."} +{"instruction": "What does `AndroidProtectManager.scan_system_integrity()` do?", "input": "", "output": "`scan_system_integrity(serial)` — Verify system hasn't been tampered with."} +{"instruction": "What does `AndroidProtectManager.scan_suspicious_processes()` do?", "input": "", "output": "`scan_suspicious_processes(serial)` — Find suspicious processes."} +{"instruction": "What does `AndroidProtectManager.scan_certificates()` do?", "input": "", "output": "`scan_certificates(serial)` — Check CA certificate store for MITM certs."} +{"instruction": "What does `AndroidProtectManager.scan_network_config()` do?", "input": "", "output": "`scan_network_config(serial)` — Check for rogue proxy, DNS, VPN."} +{"instruction": "What does `AndroidProtectManager.scan_developer_options()` do?", "input": "", "output": "`scan_developer_options(serial)` — Check developer options state."} +{"instruction": "What does `AndroidProtectManager.analyze_app_permissions()` do?", "input": "", "output": "`analyze_app_permissions(serial, package)` — Full permission breakdown for one app."} +{"instruction": "What does `AndroidProtectManager.find_dangerous_apps()` do?", "input": "", "output": "`find_dangerous_apps(serial)` — Find apps with dangerous permission combinations."} +{"instruction": "What does `AndroidProtectManager.permission_heatmap()` do?", "input": "", "output": "`permission_heatmap(serial)` — Which apps have which dangerous permissions (matrix view)."} +{"instruction": "What does `AndroidProtectManager.disable_threat()` do?", "input": "", "output": "`disable_threat(serial, package)` — Disable a stalkerware package."} +{"instruction": "What does `AndroidProtectManager.uninstall_threat()` do?", "input": "", "output": "`uninstall_threat(serial, package)` — Uninstall a stalkerware package."} +{"instruction": "What does `AndroidProtectManager.revoke_dangerous_perms()` do?", "input": "", "output": "`revoke_dangerous_perms(serial, package)` — Revoke all dangerous permissions from a package."} +{"instruction": "What does `AndroidProtectManager.remove_device_admin()` do?", "input": "", "output": "`remove_device_admin(serial, package)` — Remove device admin before uninstall."} +{"instruction": "What does `AndroidProtectManager.remove_ca_cert()` do?", "input": "", "output": "`remove_ca_cert(serial, cert_hash)` — Remove a user-installed CA cert."} +{"instruction": "What does `AndroidProtectManager.clear_proxy()` do?", "input": "", "output": "`clear_proxy(serial)` — Remove proxy settings."} +{"instruction": "What does `AndroidProtectManager.disable_usb_debug()` do?", "input": "", "output": "`disable_usb_debug(serial)` — Turn off USB debugging."} +{"instruction": "What does `AndroidProtectManager.quick_scan()` do?", "input": "", "output": "`quick_scan(serial)` — Fast scan: stalkerware + device admins + accessibility only."} +{"instruction": "What does `AndroidProtectManager.full_protection_scan()` do?", "input": "", "output": "`full_protection_scan(serial)` — Run ALL scans, return comprehensive report."} +{"instruction": "What does `AndroidProtectManager.export_scan_report()` do?", "input": "", "output": "`export_scan_report(serial, scan_result)` — Save scan report as JSON file."} +{"instruction": "What does `AndroidProtectManager.generate_hosts_content()` do?", "input": "", "output": "`generate_hosts_content()` — Generate hosts-file blocklist from all tracker domains."} +{"instruction": "What does `AndroidProtectManager.honeypot_status()` do?", "input": "", "output": "`honeypot_status(serial)` — Report honeypot status for a device."} +{"instruction": "What does `AndroidProtectManager.scan_tracker_apps()` do?", "input": "", "output": "`scan_tracker_apps(serial)` — Match installed packages against known tracker packages."} +{"instruction": "What does `AndroidProtectManager.scan_tracker_permissions()` do?", "input": "", "output": "`scan_tracker_permissions(serial)` — Find non-system apps with tracking-related permissions."} +{"instruction": "What does `AndroidProtectManager.get_advertising_id()` do?", "input": "", "output": "`get_advertising_id(serial)` — Read the device advertising ID."} +{"instruction": "What does `AndroidProtectManager.get_tracking_settings()` do?", "input": "", "output": "`get_tracking_settings(serial)` — Read all tracking-related device settings."} +{"instruction": "What does `AndroidProtectManager.reset_advertising_id()` do?", "input": "", "output": "`reset_advertising_id(serial)` — Reset Google Advertising ID."} +{"instruction": "What does `AndroidProtectManager.opt_out_ad_tracking()` do?", "input": "", "output": "`opt_out_ad_tracking(serial)` — Enable limit_ad_tracking opt-out."} +{"instruction": "What does `AndroidProtectManager.set_private_dns()` do?", "input": "", "output": "`set_private_dns(serial, provider)` — Set private DNS to an ad-blocking provider."} +{"instruction": "What does `AndroidProtectManager.clear_private_dns()` do?", "input": "", "output": "`clear_private_dns(serial)` — Revert private DNS to system default (opportunistic)."} +{"instruction": "What does `AndroidProtectManager.disable_location_accuracy()` do?", "input": "", "output": "`disable_location_accuracy(serial)` — Disable WiFi and Bluetooth background scanning."} +{"instruction": "What does `AndroidProtectManager.disable_usage_diagnostics()` do?", "input": "", "output": "`disable_usage_diagnostics(serial)` — Turn off usage & diagnostics reporting."} +{"instruction": "What does `AndroidProtectManager.restrict_app_background()` do?", "input": "", "output": "`restrict_app_background(serial, package)` — Restrict an app's background activity."} +{"instruction": "What does `AndroidProtectManager.revoke_tracker_permissions()` do?", "input": "", "output": "`revoke_tracker_permissions(serial, package)` — Revoke tracking-related permissions from an app."} +{"instruction": "What does `AndroidProtectManager.clear_app_tracking_data()` do?", "input": "", "output": "`clear_app_tracking_data(serial, package)` — Clear tracking data for an app (cache + storage)."} +{"instruction": "What does `AndroidProtectManager.force_stop_trackers()` do?", "input": "", "output": "`force_stop_trackers(serial)` — Force-stop all known tracker packages found on device."} +{"instruction": "What does `AndroidProtectManager.deploy_hosts_blocklist()` do?", "input": "", "output": "`deploy_hosts_blocklist(serial)` — Deploy tracker-blocking hosts file (requires root)."} +{"instruction": "What does `AndroidProtectManager.remove_hosts_blocklist()` do?", "input": "", "output": "`remove_hosts_blocklist(serial)` — Restore original hosts file."} +{"instruction": "What does `AndroidProtectManager.get_hosts_status()` do?", "input": "", "output": "`get_hosts_status(serial)` — Check current hosts file status."} +{"instruction": "What does `AndroidProtectManager.setup_iptables_redirect()` do?", "input": "", "output": "`setup_iptables_redirect(serial, port)` — Redirect tracker traffic through local proxy via iptables."} +{"instruction": "What does `AndroidProtectManager.clear_iptables_redirect()` do?", "input": "", "output": "`clear_iptables_redirect(serial)` — Remove iptables redirect rules."} +{"instruction": "What does `AndroidProtectManager.set_fake_location()` do?", "input": "", "output": "`set_fake_location(serial, lat, lon)` — Set fake GPS location for tracker apps (requires root)."} +{"instruction": "What does `AndroidProtectManager.set_random_fake_location()` do?", "input": "", "output": "`set_random_fake_location(serial)` — Pick a random famous location from templates."} +{"instruction": "What does `AndroidProtectManager.clear_fake_location()` do?", "input": "", "output": "`clear_fake_location(serial)` — Disable fake location."} +{"instruction": "What does `AndroidProtectManager.rotate_device_identity()` do?", "input": "", "output": "`rotate_device_identity(serial)` — Randomize device identifiers (requires root)."} +{"instruction": "What does `AndroidProtectManager.generate_fake_fingerprint()` do?", "input": "", "output": "`generate_fake_fingerprint(serial)` — Set fake device model/manufacturer props (requires root)."} +{"instruction": "What does `AndroidProtectManager.honeypot_activate()` do?", "input": "", "output": "`honeypot_activate(serial, tier)` — Activate honeypot protections up to the specified tier."} +{"instruction": "What does `AndroidProtectManager.honeypot_deactivate()` do?", "input": "", "output": "`honeypot_deactivate(serial)` — Undo all active honeypot protections."} +{"instruction": "What does `AndroidProtectManager.get_fake_data_set()` do?", "input": "", "output": "`get_fake_data_set(serial)` — Generate a random fake persona from templates."} +{"instruction": "What does `AndroidProtectManager.update_tracker_domains()` do?", "input": "", "output": "`update_tracker_domains(url)` — Download and merge tracker domains from remote source."} +{"instruction": "What does `AndroidProtectManager.get_tracker_stats()` do?", "input": "", "output": "`get_tracker_stats()` — Domain/package counts by category."} +{"instruction": "What does the file `core\\banner.py` do in AUTARCH?", "input": "", "output": "`core\\banner.py` — \nAUTARCH Banner Module\nDisplays the main ASCII banner for the framework\n\n\nCategory: core\nIt contains 1 class(es) and 2 top-level function(s)."} +{"instruction": "What does the file `core\\config.py` do in AUTARCH?", "input": "", "output": "`core\\config.py` — \nAUTARCH Configuration Handler\nManages the autarch_settings.conf file for llama.cpp settings\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `Config` class in `core\\config.py` provide?", "input": "", "output": "The `Config` class provides these methods: save, get, get_int, get_float, get_bool, set, is_first_run, mark_setup_complete, get_llama_settings, get_osint_settings, get_pentest_settings, get_claude_settings, get_transformers_settings, get_huggingface_settings, get_openai_settings, get_rsf_settings, get_upnp_settings, get_revshell_settings, get_templates_dir, get_custom_configs_dir, list_hardware_templates, list_custom_configs, load_template, load_custom_config, save_custom_config, delete_custom_config\n\nClass description: Configuration manager for AUTARCH settings."} +{"instruction": "What does `Config.save()` do?", "input": "", "output": "`save()` — Save the current configuration to file."} +{"instruction": "What does `Config.get()` do?", "input": "", "output": "`get(section, key, fallback)` — Get a configuration value.\n\nArgs:\n section: Configuration section name\n key: Configuration key name\n fallback: Default value if key doesn't exist\n\nReturns:\n The configuration value or fallback"} +{"instruction": "What does `Config.get_int()` do?", "input": "", "output": "`get_int(section, key, fallback)` — Get a configuration value as integer."} +{"instruction": "What does `Config.get_float()` do?", "input": "", "output": "`get_float(section, key, fallback)` — Get a configuration value as float."} +{"instruction": "What does `Config.get_bool()` do?", "input": "", "output": "`get_bool(section, key, fallback)` — Get a configuration value as boolean."} +{"instruction": "What does `Config.set()` do?", "input": "", "output": "`set(section, key, value)` — Set a configuration value.\n\nArgs:\n section: Configuration section name\n key: Configuration key name\n value: Value to set"} +{"instruction": "What does `Config.is_first_run()` do?", "input": "", "output": "`is_first_run()` — Check if this is the first run of AUTARCH."} +{"instruction": "What does `Config.mark_setup_complete()` do?", "input": "", "output": "`mark_setup_complete()` — Mark the first-time setup as complete."} +{"instruction": "What does `Config.get_llama_settings()` do?", "input": "", "output": "`get_llama_settings()` — Get all llama.cpp settings as a dictionary.\n\nReturns:\n Dictionary with llama.cpp settings properly typed"} +{"instruction": "What does `Config.get_osint_settings()` do?", "input": "", "output": "`get_osint_settings()` — Get all OSINT settings as a dictionary.\n\nReturns:\n Dictionary with OSINT settings properly typed"} +{"instruction": "What does `Config.get_pentest_settings()` do?", "input": "", "output": "`get_pentest_settings()` — Get all pentest pipeline settings as a dictionary.\n\nReturns:\n Dictionary with pentest settings properly typed"} +{"instruction": "What does `Config.get_claude_settings()` do?", "input": "", "output": "`get_claude_settings()` — Get all Claude API settings as a dictionary.\n\nReturns:\n Dictionary with Claude API settings properly typed"} +{"instruction": "What does `Config.get_transformers_settings()` do?", "input": "", "output": "`get_transformers_settings()` — Get all transformers/safetensors settings as a dictionary.\n\nReturns:\n Dictionary with transformers settings properly typed"} +{"instruction": "What does `Config.get_huggingface_settings()` do?", "input": "", "output": "`get_huggingface_settings()` — Get all HuggingFace Inference API settings as a dictionary."} +{"instruction": "What does `Config.get_openai_settings()` do?", "input": "", "output": "`get_openai_settings()` — Get all OpenAI API settings as a dictionary."} +{"instruction": "What does `Config.get_rsf_settings()` do?", "input": "", "output": "`get_rsf_settings()` — Get all RouterSploit settings as a dictionary.\n\nReturns:\n Dictionary with RSF settings properly typed"} +{"instruction": "What does `Config.get_upnp_settings()` do?", "input": "", "output": "`get_upnp_settings()` — Get all UPnP settings as a dictionary."} +{"instruction": "What does `Config.get_revshell_settings()` do?", "input": "", "output": "`get_revshell_settings()` — Get all reverse shell settings as a dictionary."} +{"instruction": "What does `Config.get_templates_dir()` do?", "input": "", "output": "`get_templates_dir()` — Get the path to the configuration templates directory."} +{"instruction": "What does `Config.get_custom_configs_dir()` do?", "input": "", "output": "`get_custom_configs_dir()` — Get the path to the custom user configurations directory."} +{"instruction": "What does `Config.list_hardware_templates()` do?", "input": "", "output": "`list_hardware_templates()` — List available hardware configuration templates.\n\nReturns:\n List of tuples: (template_id, display_name, description, filename)"} +{"instruction": "What does `Config.list_custom_configs()` do?", "input": "", "output": "`list_custom_configs()` — List user-saved custom configurations.\n\nReturns:\n List of tuples: (name, filepath)"} +{"instruction": "What does `Config.load_template()` do?", "input": "", "output": "`load_template(template_id)` — Load a hardware template into the current configuration.\n\nArgs:\n template_id: The template identifier (e.g., 'nvidia_4070_mobile')\n\nReturns:\n True if loaded successfully, False otherwise"} +{"instruction": "What does `Config.load_custom_config()` do?", "input": "", "output": "`load_custom_config(filepath)` — Load a custom configuration file.\n\nArgs:\n filepath: Path to the custom configuration file\n\nReturns:\n True if loaded successfully, False otherwise"} +{"instruction": "What does `Config.save_custom_config()` do?", "input": "", "output": "`save_custom_config(name)` — Save current LLM settings to a custom configuration file.\n\nArgs:\n name: Name for the custom configuration (will be sanitized)\n\nReturns:\n Path to the saved configuration file"} +{"instruction": "What does `Config.delete_custom_config()` do?", "input": "", "output": "`delete_custom_config(filepath)` — Delete a custom configuration file.\n\nArgs:\n filepath: Path to the custom configuration file\n\nReturns:\n True if deleted successfully, False otherwise"} +{"instruction": "What does the file `core\\cve.py` do in AUTARCH?", "input": "", "output": "`core\\cve.py` — \nAUTARCH CVE Database Module\nSQLite-based local CVE database with NVD API synchronization\nhttps://nvd.nist.gov/developers/vulnerabilities\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `CVEDatabase` class in `core\\cve.py` provide?", "input": "", "output": "The `CVEDatabase` class provides these methods: get_system_info, get_db_stats, sync_database, sync_recent, search_cves, get_cve, get_system_cves, get_software_cves, get_cves_by_severity, get_recent_cves, fetch_cve_online, search_online, close\n\nClass description: SQLite-based CVE Database with NVD API synchronization."} +{"instruction": "What does `CVEDatabase.get_system_info()` do?", "input": "", "output": "`get_system_info()` — Get detected system information."} +{"instruction": "What does `CVEDatabase.get_db_stats()` do?", "input": "", "output": "`get_db_stats()` — Get database statistics."} +{"instruction": "What does `CVEDatabase.sync_database()` do?", "input": "", "output": "`sync_database(days_back, full_sync, progress_callback, verbose)` — Synchronize database with NVD.\n\nArgs:\n days_back: For incremental sync, get CVEs from last N days.\n full_sync: If True, download entire database (WARNING: slow, 200k+ CVEs).\n progress_callback: Callback function(message, current, total).\n verbose: Show progress messages.\n\nReturns:\n Sync statistics dictionary."} +{"instruction": "What does `CVEDatabase.sync_recent()` do?", "input": "", "output": "`sync_recent(days, verbose)` — Quick sync of recent CVEs only."} +{"instruction": "What does `CVEDatabase.search_cves()` do?", "input": "", "output": "`search_cves(keyword, cpe_pattern, severity, min_score, max_results, days_back)` — Search CVEs in local database.\n\nArgs:\n keyword: Search in CVE ID or description.\n cpe_pattern: CPE pattern to match (uses LIKE).\n severity: Filter by severity (LOW, MEDIUM, HIGH, CRITICAL).\n min_score: Minimum CVSS v3 score.\n max_results: Maximum results to return.\n days_back: Only return CVEs from last N days.\n\nReturns:\n List of matching CVE dictionaries."} +{"instruction": "What does `CVEDatabase.get_cve()` do?", "input": "", "output": "`get_cve(cve_id)` — Get detailed information about a specific CVE.\n\nArgs:\n cve_id: The CVE ID (e.g., CVE-2024-1234).\n\nReturns:\n CVE details dictionary or None if not found."} +{"instruction": "What does `CVEDatabase.get_system_cves()` do?", "input": "", "output": "`get_system_cves(severity_filter, max_results)` — Get CVEs relevant to the detected system.\n\nArgs:\n severity_filter: Filter by severity.\n max_results: Maximum results.\n\nReturns:\n List of relevant CVEs."} +{"instruction": "What does `CVEDatabase.get_software_cves()` do?", "input": "", "output": "`get_software_cves(software, vendor, version, max_results)` — Search CVEs for specific software.\n\nArgs:\n software: Software/product name.\n vendor: Vendor name (optional).\n version: Software version (optional).\n max_results: Maximum results.\n\nReturns:\n List of CVEs."} +{"instruction": "What does `CVEDatabase.get_cves_by_severity()` do?", "input": "", "output": "`get_cves_by_severity(severity, max_results)` — Get CVEs by severity level."} +{"instruction": "What does `CVEDatabase.get_recent_cves()` do?", "input": "", "output": "`get_recent_cves(days, max_results)` — Get recently published CVEs."} +{"instruction": "What does `CVEDatabase.fetch_cve_online()` do?", "input": "", "output": "`fetch_cve_online(cve_id, verbose)` — Fetch a specific CVE from NVD API (online fallback).\n\nArgs:\n cve_id: The CVE ID.\n verbose: Show progress.\n\nReturns:\n CVE details or None."} +{"instruction": "What does `CVEDatabase.search_online()` do?", "input": "", "output": "`search_online(keyword, cpe_name, severity, days_back, max_results, verbose)` — Search NVD API directly (online mode).\n\nUse this when local database is empty or for real-time results."} +{"instruction": "What does `CVEDatabase.close()` do?", "input": "", "output": "`close()` — Close database connection."} +{"instruction": "What does the file `core\\discovery.py` do in AUTARCH?", "input": "", "output": "`core\\discovery.py` — \nAUTARCH Network Discovery\nAdvertises AUTARCH on the local network so companion apps can find it.\n\nDiscovery methods (priority order):\n 1. mDNS/Zeroconf — LAN service advertisement (_autarch._tcp.local.)\n 2. Bluetooth — RFCOMM service advertisement (requires BT adapter + security enabled)\n\nDependencies:\n - mDNS: pip install zeroconf (optional, graceful fallback)\n - Bluetooth: system bluetoothctl + hcitool (no pip package needed)\n\n\nCategory: core\nIt contains 1 class(es) and 2 top-level function(s)."} +{"instruction": "What methods does the `DiscoveryManager` class in `core\\discovery.py` provide?", "input": "", "output": "The `DiscoveryManager` class provides these methods: get_status, start_mdns, stop_mdns, start_bluetooth, stop_bluetooth, start_all, stop_all, shutdown\n\nClass description: Manages network discovery advertising for AUTARCH."} +{"instruction": "What does `DiscoveryManager.get_status()` do?", "input": "", "output": "`get_status()` — Get current discovery status for all methods."} +{"instruction": "What does `DiscoveryManager.start_mdns()` do?", "input": "", "output": "`start_mdns()` — Start mDNS service advertisement."} +{"instruction": "What does `DiscoveryManager.stop_mdns()` do?", "input": "", "output": "`stop_mdns()` — Stop mDNS service advertisement."} +{"instruction": "What does `DiscoveryManager.start_bluetooth()` do?", "input": "", "output": "`start_bluetooth()` — Start Bluetooth service advertisement.\n\nOnly advertises if:\n1. Bluetooth adapter is present\n2. bluetoothctl is available\n3. Security is enabled (if bt_require_security is true)"} +{"instruction": "What does `DiscoveryManager.stop_bluetooth()` do?", "input": "", "output": "`stop_bluetooth()` — Stop Bluetooth advertisement."} +{"instruction": "What does `DiscoveryManager.start_all()` do?", "input": "", "output": "`start_all()` — Start all enabled discovery methods."} +{"instruction": "What does `DiscoveryManager.stop_all()` do?", "input": "", "output": "`stop_all()` — Stop all discovery methods."} +{"instruction": "What does `DiscoveryManager.shutdown()` do?", "input": "", "output": "`shutdown()` — Clean shutdown of all discovery services."} +{"instruction": "What does the file `core\\hardware.py` do in AUTARCH?", "input": "", "output": "`core\\hardware.py` — \nAUTARCH Hardware Manager\nADB/Fastboot device management and ESP32 serial flashing.\n\nProvides server-side access to USB-connected devices:\n- ADB: Android device shell, sideload, push/pull, logcat\n- Fastboot: Partition flashing, OEM unlock, device info\n- Serial/ESP32: Port detection, chip ID, firmware flash, serial monitor\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `HardwareManager` class in `core\\hardware.py` provide?", "input": "", "output": "The `HardwareManager` class provides these methods: get_status, adb_devices, adb_device_info, adb_shell, adb_shell_raw, adb_reboot, adb_install, adb_sideload, adb_push, adb_pull, adb_logcat, fastboot_devices, fastboot_device_info, fastboot_flash, fastboot_reboot, fastboot_oem_unlock, get_operation_progress, list_serial_ports, detect_esp_chip, flash_esp, serial_monitor_start, serial_monitor_stop, serial_monitor_send, serial_monitor_get_output, monitor_running\n\nClass description: Manages ADB, Fastboot, and Serial/ESP32 devices."} +{"instruction": "What does `HardwareManager.get_status()` do?", "input": "", "output": "`get_status()` — Get availability status of all backends."} +{"instruction": "What does `HardwareManager.adb_devices()` do?", "input": "", "output": "`adb_devices()` — List connected ADB devices."} +{"instruction": "What does `HardwareManager.adb_device_info()` do?", "input": "", "output": "`adb_device_info(serial)` — Get detailed info about an ADB device."} +{"instruction": "What does `HardwareManager.adb_shell()` do?", "input": "", "output": "`adb_shell(serial, command)` — Run a shell command on an ADB device."} +{"instruction": "What does `HardwareManager.adb_shell_raw()` do?", "input": "", "output": "`adb_shell_raw(serial, command, timeout)` — Run shell command without safety filter. For exploit modules."} +{"instruction": "What does `HardwareManager.adb_reboot()` do?", "input": "", "output": "`adb_reboot(serial, mode)` — Reboot an ADB device. mode: system, recovery, bootloader"} +{"instruction": "What does `HardwareManager.adb_install()` do?", "input": "", "output": "`adb_install(serial, apk_path)` — Install an APK on device."} +{"instruction": "What does `HardwareManager.adb_sideload()` do?", "input": "", "output": "`adb_sideload(serial, filepath)` — Sideload a file (APK/ZIP). Returns operation ID for progress tracking."} +{"instruction": "What does `HardwareManager.adb_push()` do?", "input": "", "output": "`adb_push(serial, local_path, remote_path)` — Push a file to device."} +{"instruction": "What does `HardwareManager.adb_pull()` do?", "input": "", "output": "`adb_pull(serial, remote_path, local_path)` — Pull a file from device."} +{"instruction": "What does `HardwareManager.adb_logcat()` do?", "input": "", "output": "`adb_logcat(serial, lines)` — Get last N lines of logcat."} +{"instruction": "What does `HardwareManager.fastboot_devices()` do?", "input": "", "output": "`fastboot_devices()` — List fastboot devices."} +{"instruction": "What does `HardwareManager.fastboot_device_info()` do?", "input": "", "output": "`fastboot_device_info(serial)` — Get fastboot device variables."} +{"instruction": "What does `HardwareManager.fastboot_flash()` do?", "input": "", "output": "`fastboot_flash(serial, partition, filepath)` — Flash a partition. Returns operation ID for progress tracking."} +{"instruction": "What does `HardwareManager.fastboot_reboot()` do?", "input": "", "output": "`fastboot_reboot(serial, mode)` — Reboot a fastboot device. mode: system, bootloader, recovery"} +{"instruction": "What does `HardwareManager.fastboot_oem_unlock()` do?", "input": "", "output": "`fastboot_oem_unlock(serial)` — OEM unlock (requires user confirmation in UI)."} +{"instruction": "What does `HardwareManager.get_operation_progress()` do?", "input": "", "output": "`get_operation_progress(op_id)` — Get progress for a running operation."} +{"instruction": "What does `HardwareManager.list_serial_ports()` do?", "input": "", "output": "`list_serial_ports()` — List available serial ports."} +{"instruction": "What does `HardwareManager.detect_esp_chip()` do?", "input": "", "output": "`detect_esp_chip(port, baud)` — Detect ESP chip type using esptool."} +{"instruction": "What does `HardwareManager.flash_esp()` do?", "input": "", "output": "`flash_esp(port, firmware_path, baud)` — Flash ESP32 firmware. Returns operation ID for progress tracking."} +{"instruction": "What does `HardwareManager.serial_monitor_start()` do?", "input": "", "output": "`serial_monitor_start(port, baud)` — Start serial monitor on a port."} +{"instruction": "What does `HardwareManager.serial_monitor_stop()` do?", "input": "", "output": "`serial_monitor_stop()` — Stop serial monitor."} +{"instruction": "What does `HardwareManager.serial_monitor_send()` do?", "input": "", "output": "`serial_monitor_send(data)` — Send data to the monitored serial port."} +{"instruction": "What does `HardwareManager.serial_monitor_get_output()` do?", "input": "", "output": "`serial_monitor_get_output(since_index)` — Get buffered serial output since given index."} +{"instruction": "What does the file `core\\iphone_exploit.py` do in AUTARCH?", "input": "", "output": "`core\\iphone_exploit.py` — \nAUTARCH iPhone Exploitation Manager\nLocal USB device access via libimobiledevice tools.\nDevice info, screenshots, syslog, app management, backup extraction,\nfilesystem mounting, provisioning profiles, port forwarding.\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `IPhoneExploitManager` class in `core\\iphone_exploit.py` provide?", "input": "", "output": "The `IPhoneExploitManager` class provides these methods: get_status, list_devices, device_info, device_info_brief, device_info_domain, pair_device, unpair_device, validate_pair, get_name, set_name, get_date, set_date, restart_device, shutdown_device, sleep_device, screenshot, syslog_dump, syslog_grep, crash_reports, list_apps, install_app, uninstall_app, create_backup, list_backups, extract_backup_sms, extract_backup_contacts, extract_backup_call_log, extract_backup_notes, list_backup_files, extract_backup_file, mount_filesystem, mount_app_documents, unmount_filesystem, list_profiles, install_profile, remove_profile, port_forward, full_fingerprint, export_recon_report\n\nClass description: All iPhone USB exploitation logic using libimobiledevice."} +{"instruction": "What does `IPhoneExploitManager.get_status()` do?", "input": "", "output": "`get_status()` — Get availability of libimobiledevice tools."} +{"instruction": "What does `IPhoneExploitManager.list_devices()` do?", "input": "", "output": "`list_devices()` — List connected iOS devices."} +{"instruction": "What does `IPhoneExploitManager.device_info()` do?", "input": "", "output": "`device_info(udid)` — Get full device information."} +{"instruction": "What does `IPhoneExploitManager.device_info_brief()` do?", "input": "", "output": "`device_info_brief(udid)` — Get key device info (name, model, iOS version)."} +{"instruction": "What does `IPhoneExploitManager.device_info_domain()` do?", "input": "", "output": "`device_info_domain(udid, domain)` — Get device info for a specific domain."} +{"instruction": "What does `IPhoneExploitManager.pair_device()` do?", "input": "", "output": "`pair_device(udid)` — Pair with device (requires user trust on device)."} +{"instruction": "What does `IPhoneExploitManager.unpair_device()` do?", "input": "", "output": "`unpair_device(udid)` — Unpair from device."} +{"instruction": "What does `IPhoneExploitManager.validate_pair()` do?", "input": "", "output": "`validate_pair(udid)` — Check if device is properly paired."} +{"instruction": "What does `IPhoneExploitManager.get_name()` do?", "input": "", "output": "`get_name(udid)` — Get device name."} +{"instruction": "What does `IPhoneExploitManager.set_name()` do?", "input": "", "output": "`set_name(udid, name)` — Set device name."} +{"instruction": "What does `IPhoneExploitManager.get_date()` do?", "input": "", "output": "`get_date(udid)` — Get device date/time."} +{"instruction": "What does `IPhoneExploitManager.set_date()` do?", "input": "", "output": "`set_date(udid, timestamp)` — Set device date (epoch timestamp)."} +{"instruction": "What does `IPhoneExploitManager.restart_device()` do?", "input": "", "output": "`restart_device(udid)` — Restart device."} +{"instruction": "What does `IPhoneExploitManager.shutdown_device()` do?", "input": "", "output": "`shutdown_device(udid)` — Shutdown device."} +{"instruction": "What does `IPhoneExploitManager.sleep_device()` do?", "input": "", "output": "`sleep_device(udid)` — Put device to sleep."} +{"instruction": "What does `IPhoneExploitManager.screenshot()` do?", "input": "", "output": "`screenshot(udid)` — Take a screenshot."} +{"instruction": "What does `IPhoneExploitManager.syslog_dump()` do?", "input": "", "output": "`syslog_dump(udid, duration)` — Capture syslog for a duration."} +{"instruction": "What does `IPhoneExploitManager.syslog_grep()` do?", "input": "", "output": "`syslog_grep(udid, pattern, duration)` — Capture syslog and grep for pattern (passwords, tokens, etc)."} +{"instruction": "What does `IPhoneExploitManager.crash_reports()` do?", "input": "", "output": "`crash_reports(udid)` — Pull crash reports from device."} +{"instruction": "What does `IPhoneExploitManager.list_apps()` do?", "input": "", "output": "`list_apps(udid, app_type)` — List installed apps. type: user, system, all."} +{"instruction": "What does `IPhoneExploitManager.install_app()` do?", "input": "", "output": "`install_app(udid, ipa_path)` — Install an IPA on device."} +{"instruction": "What does `IPhoneExploitManager.uninstall_app()` do?", "input": "", "output": "`uninstall_app(udid, bundle_id)` — Uninstall an app by bundle ID."} +{"instruction": "What does `IPhoneExploitManager.create_backup()` do?", "input": "", "output": "`create_backup(udid, encrypted, password)` — Create a full device backup."} +{"instruction": "What does `IPhoneExploitManager.list_backups()` do?", "input": "", "output": "`list_backups()` — List available local backups."} +{"instruction": "What does `IPhoneExploitManager.extract_backup_sms()` do?", "input": "", "output": "`extract_backup_sms(backup_path)` — Extract SMS/iMessage from a backup."} +{"instruction": "What does `IPhoneExploitManager.extract_backup_contacts()` do?", "input": "", "output": "`extract_backup_contacts(backup_path)` — Extract contacts from backup."} +{"instruction": "What does `IPhoneExploitManager.extract_backup_call_log()` do?", "input": "", "output": "`extract_backup_call_log(backup_path)` — Extract call history from backup."} +{"instruction": "What does `IPhoneExploitManager.extract_backup_notes()` do?", "input": "", "output": "`extract_backup_notes(backup_path)` — Extract notes from backup."} +{"instruction": "What does `IPhoneExploitManager.list_backup_files()` do?", "input": "", "output": "`list_backup_files(backup_path, domain, path_filter)` — List all files in a backup's Manifest.db."} +{"instruction": "What does `IPhoneExploitManager.extract_backup_file()` do?", "input": "", "output": "`extract_backup_file(backup_path, file_hash, output_name)` — Extract a specific file from backup by its hash."} +{"instruction": "What does `IPhoneExploitManager.mount_filesystem()` do?", "input": "", "output": "`mount_filesystem(udid, mountpoint)` — Mount device filesystem via ifuse."} +{"instruction": "What does `IPhoneExploitManager.mount_app_documents()` do?", "input": "", "output": "`mount_app_documents(udid, bundle_id, mountpoint)` — Mount a specific app's Documents folder via ifuse."} +{"instruction": "What does `IPhoneExploitManager.unmount_filesystem()` do?", "input": "", "output": "`unmount_filesystem(mountpoint)` — Unmount a previously mounted filesystem."} +{"instruction": "What does `IPhoneExploitManager.list_profiles()` do?", "input": "", "output": "`list_profiles(udid)` — List provisioning profiles on device."} +{"instruction": "What does `IPhoneExploitManager.install_profile()` do?", "input": "", "output": "`install_profile(udid, profile_path)` — Install a provisioning/configuration profile."} +{"instruction": "What does `IPhoneExploitManager.remove_profile()` do?", "input": "", "output": "`remove_profile(udid, profile_id)` — Remove a provisioning profile."} +{"instruction": "What does `IPhoneExploitManager.port_forward()` do?", "input": "", "output": "`port_forward(udid, local_port, device_port)` — Set up port forwarding via iproxy (runs in background)."} +{"instruction": "What does `IPhoneExploitManager.full_fingerprint()` do?", "input": "", "output": "`full_fingerprint(udid)` — Get comprehensive device fingerprint."} +{"instruction": "What does `IPhoneExploitManager.export_recon_report()` do?", "input": "", "output": "`export_recon_report(udid)` — Export full reconnaissance report."} +{"instruction": "What does the file `core\\llm.py` do in AUTARCH?", "input": "", "output": "`core\\llm.py` — \nAUTARCH LLM Integration Module\nWrapper for llama-cpp-python to interface with llama.cpp models\n\n\nCategory: core\nIt contains 5 class(es) and 3 top-level function(s)."} +{"instruction": "What methods does the `LLM` class in `core\\llm.py` provide?", "input": "", "output": "The `LLM` class provides these methods: is_loaded, model_name, load_model, unload_model, generate, chat, clear_history, get_history, set_history, get_model_info\n\nClass description: Wrapper class for llama-cpp-python integration."} +{"instruction": "What does `LLM.is_loaded()` do?", "input": "", "output": "`is_loaded()` — Check if a model is currently loaded."} +{"instruction": "What does `LLM.model_name()` do?", "input": "", "output": "`model_name()` — Get the name of the currently loaded model."} +{"instruction": "What does `LLM.load_model()` do?", "input": "", "output": "`load_model(model_path, verbose)` — Load a GGUF model.\n\nArgs:\n model_path: Path to the model file. Uses config if not provided.\n verbose: Whether to show loading progress.\n\nReturns:\n True if model loaded successfully.\n\nRaises:\n LLMError: If model loading fails."} +{"instruction": "What does `LLM.unload_model()` do?", "input": "", "output": "`unload_model()` — Unload the current model and free resources."} +{"instruction": "What does `LLM.generate()` do?", "input": "", "output": "`generate(prompt, max_tokens, temperature, top_p, top_k, repeat_penalty, stop, stream)` — Generate text completion.\n\nArgs:\n prompt: The input prompt.\n max_tokens: Maximum tokens to generate. Uses config default if None.\n temperature: Sampling temperature. Uses config default if None.\n top_p: Nucleus sampling parameter. Uses config default if None.\n top_k: Top-k sampling parameter. Uses config default if None.\n repeat_penalty: Repetition penalty. Uses config default if None.\n stop: List of stop sequences.\n stream: If True, yields tokens as they're generated.\n\nReturns:\n Generated text string, or generator if stream=True.\n\nRaises:\n LLMError: If no model is loaded or generation fails."} +{"instruction": "What does `LLM.chat()` do?", "input": "", "output": "`chat(message, system_prompt, stream)` — Chat-style interaction with conversation history.\n\nArgs:\n message: User message.\n system_prompt: Optional system prompt (used on first message).\n stream: If True, yields tokens as they're generated.\n **kwargs: Additional parameters passed to generate().\n\nReturns:\n Assistant response string, or generator if stream=True."} +{"instruction": "What does `LLM.clear_history()` do?", "input": "", "output": "`clear_history()` — Clear the conversation history."} +{"instruction": "What does `LLM.get_history()` do?", "input": "", "output": "`get_history()` — Get the current conversation history.\n\nReturns:\n List of message dictionaries with 'role' and 'content' keys."} +{"instruction": "What does `LLM.set_history()` do?", "input": "", "output": "`set_history(history)` — Set the conversation history.\n\nArgs:\n history: List of message dictionaries."} +{"instruction": "What does `LLM.get_model_info()` do?", "input": "", "output": "`get_model_info()` — Get information about the loaded model.\n\nReturns:\n Dictionary with model information."} +{"instruction": "What methods does the `TransformersLLM` class in `core\\llm.py` provide?", "input": "", "output": "The `TransformersLLM` class provides these methods: is_loaded, model_name, load_model, unload_model, generate, chat, clear_history, get_history, set_history, get_model_info\n\nClass description: HuggingFace Transformers backend for safetensors models."} +{"instruction": "What does `TransformersLLM.load_model()` do?", "input": "", "output": "`load_model(model_path, verbose)` — Load a safetensors model using HuggingFace Transformers.\n\nArgs:\n model_path: Path to model directory OR HuggingFace model ID\n (e.g., 'segolilylabs/Lily-Cybersecurity-7B-v0.2').\n Uses config if not provided.\n verbose: Whether to show loading progress.\n\nReturns:\n True if model loaded successfully.\n\nRaises:\n LLMError: If model loading fails."} +{"instruction": "What does `TransformersLLM.unload_model()` do?", "input": "", "output": "`unload_model()` — Unload the current model and free resources."} +{"instruction": "What does `TransformersLLM.generate()` do?", "input": "", "output": "`generate(prompt, max_tokens, temperature, top_p, top_k, repeat_penalty, stop, stream)` — Generate text completion using transformers."} +{"instruction": "What does `TransformersLLM.chat()` do?", "input": "", "output": "`chat(message, system_prompt, stream)` — Chat-style interaction with conversation history."} +{"instruction": "What does `TransformersLLM.clear_history()` do?", "input": "", "output": "`clear_history()` — Clear the conversation history."} +{"instruction": "What does `TransformersLLM.get_history()` do?", "input": "", "output": "`get_history()` — Get the current conversation history."} +{"instruction": "What does `TransformersLLM.set_history()` do?", "input": "", "output": "`set_history(history)` — Set the conversation history."} +{"instruction": "What does `TransformersLLM.get_model_info()` do?", "input": "", "output": "`get_model_info()` — Get information about the loaded model."} +{"instruction": "What methods does the `ClaudeLLM` class in `core\\llm.py` provide?", "input": "", "output": "The `ClaudeLLM` class provides these methods: is_loaded, model_name, load_model, unload_model, generate, chat, clear_history, get_history, set_history, get_model_info\n\nClass description: Claude API backend implementing the same interface as LLM."} +{"instruction": "What does `ClaudeLLM.load_model()` do?", "input": "", "output": "`load_model(model_path, verbose)` — Initialize the Anthropic client.\n\nArgs:\n model_path: Ignored for Claude (model set in config).\n verbose: Whether to show status messages.\n\nReturns:\n True if client initialized successfully.\n\nRaises:\n LLMError: If initialization fails."} +{"instruction": "What does `ClaudeLLM.unload_model()` do?", "input": "", "output": "`unload_model()` — Clear the client and history."} +{"instruction": "What does `ClaudeLLM.generate()` do?", "input": "", "output": "`generate(prompt, max_tokens, temperature, top_p, top_k, repeat_penalty, stop, stream)` — Generate text from a prompt via Claude API.\n\nThe prompt is sent as a single user message."} +{"instruction": "What does `ClaudeLLM.chat()` do?", "input": "", "output": "`chat(message, system_prompt, stream)` — Chat-style interaction with conversation history via Claude API."} +{"instruction": "What does `ClaudeLLM.clear_history()` do?", "input": "", "output": "`clear_history()` — Clear the conversation history."} +{"instruction": "What does `ClaudeLLM.get_history()` do?", "input": "", "output": "`get_history()` — Get the current conversation history."} +{"instruction": "What does `ClaudeLLM.set_history()` do?", "input": "", "output": "`set_history(history)` — Set the conversation history."} +{"instruction": "What does `ClaudeLLM.get_model_info()` do?", "input": "", "output": "`get_model_info()` — Get information about the Claude model."} +{"instruction": "What methods does the `HuggingFaceLLM` class in `core\\llm.py` provide?", "input": "", "output": "The `HuggingFaceLLM` class provides these methods: is_loaded, model_name, load_model, unload_model, generate, chat, clear_history, get_history, set_history, get_model_info\n\nClass description: HuggingFace Inference API backend implementing the same interface as LLM.\n\nUses the huggingface_hub InferenceClient to call HF-hosted models\nor any compatible text-generation-inference endpoint."} +{"instruction": "What does `HuggingFaceLLM.load_model()` do?", "input": "", "output": "`load_model(model_path, verbose)` — Initialize the HuggingFace Inference client."} +{"instruction": "What does `HuggingFaceLLM.unload_model()` do?", "input": "", "output": "`unload_model()` — Clear the client and history."} +{"instruction": "What does `HuggingFaceLLM.generate()` do?", "input": "", "output": "`generate(prompt, max_tokens, temperature, top_p, top_k, repeat_penalty, stop, stream)` — Generate text via HuggingFace Inference API."} +{"instruction": "What does `HuggingFaceLLM.chat()` do?", "input": "", "output": "`chat(message, system_prompt, stream)` — Chat-style interaction via HuggingFace Inference API."} +{"instruction": "What does the file `core\\mcp_server.py` do in AUTARCH?", "input": "", "output": "`core\\mcp_server.py` — \nAUTARCH MCP Server\nExposes AUTARCH tools via Model Context Protocol (MCP)\nfor use with Claude Desktop, Claude Code, and other MCP clients.\n\n\nCategory: core\nIt contains 0 class(es) and 20 top-level function(s)."} +{"instruction": "What does the file `core\\menu.py` do in AUTARCH?", "input": "", "output": "`core\\menu.py` — \nAUTARCH Main Menu System\nHandles the main interface, categories, and module loading\n\n\nCategory: core\nIt contains 2 class(es) and 0 top-level function(s)."} +{"instruction": "What methods does the `ModuleInfo` class in `core\\menu.py` provide?", "input": "", "output": "The `ModuleInfo` class provides these methods: \n\nClass description: Information about a loaded module."} +{"instruction": "What methods does the `MainMenu` class in `core\\menu.py` provide?", "input": "", "output": "The `MainMenu` class provides these methods: print_status, load_modules, get_modules_by_category, get_status_line, display_menu, display_category_menu, run_module, show_settings, show_llm_settings, show_osint_settings, show_rsf_settings, show_msf_settings, configure_msf, show_all_settings, show_database_management, show_cve_settings, show_custom_apis, show_autarch_api, run_agent_hal, run_setup, show_web_service, sideload_companion, show_mcp_server, show_upnp_settings, show_revshell_settings, show_display_settings, load_config_file, show_user_manual, list_all_modules, run\n\nClass description: Main menu handler for AUTARCH."} +{"instruction": "What does `MainMenu.print_status()` do?", "input": "", "output": "`print_status(message, status)` — Print a status message."} +{"instruction": "What does `MainMenu.load_modules()` do?", "input": "", "output": "`load_modules()` — Load all available modules from the modules directory."} +{"instruction": "What does `MainMenu.get_modules_by_category()` do?", "input": "", "output": "`get_modules_by_category(category)` — Get all modules in a specific category."} +{"instruction": "What does `MainMenu.get_status_line()` do?", "input": "", "output": "`get_status_line()` — Get the status line showing model and MSF status."} +{"instruction": "What does `MainMenu.display_menu()` do?", "input": "", "output": "`display_menu()` — Display the main menu."} +{"instruction": "What does `MainMenu.display_category_menu()` do?", "input": "", "output": "`display_category_menu(category)` — Display the submenu for a category."} +{"instruction": "What does `MainMenu.run_module()` do?", "input": "", "output": "`run_module(module_name)` — Run a specific module."} +{"instruction": "What does `MainMenu.show_settings()` do?", "input": "", "output": "`show_settings()` — Display settings menu."} +{"instruction": "What does `MainMenu.show_llm_settings()` do?", "input": "", "output": "`show_llm_settings()` — Display and configure LLM settings."} +{"instruction": "What does `MainMenu.show_osint_settings()` do?", "input": "", "output": "`show_osint_settings()` — Display and configure OSINT settings."} +{"instruction": "What does `MainMenu.show_rsf_settings()` do?", "input": "", "output": "`show_rsf_settings()` — Display and configure RouterSploit settings."} +{"instruction": "What does `MainMenu.show_msf_settings()` do?", "input": "", "output": "`show_msf_settings()` — Display and configure Metasploit settings."} +{"instruction": "What does `MainMenu.configure_msf()` do?", "input": "", "output": "`configure_msf()` — Configure Metasploit connection settings."} +{"instruction": "What does `MainMenu.show_all_settings()` do?", "input": "", "output": "`show_all_settings()` — Display all current settings."} +{"instruction": "What does `MainMenu.show_database_management()` do?", "input": "", "output": "`show_database_management()` — Display database management menu."} +{"instruction": "What does `MainMenu.show_cve_settings()` do?", "input": "", "output": "`show_cve_settings()` — Display CVE database settings."} +{"instruction": "What does `MainMenu.show_custom_apis()` do?", "input": "", "output": "`show_custom_apis()` — Display custom APIs management menu."} +{"instruction": "What does `MainMenu.show_autarch_api()` do?", "input": "", "output": "`show_autarch_api()` — Display AUTARCH API settings (placeholder for future implementation)."} +{"instruction": "What does `MainMenu.run_agent_hal()` do?", "input": "", "output": "`run_agent_hal()` — Run the Agent Hal module."} +{"instruction": "What does `MainMenu.run_setup()` do?", "input": "", "output": "`run_setup()` — Run the setup wizard."} +{"instruction": "What does `MainMenu.show_web_service()` do?", "input": "", "output": "`show_web_service()` — Web service management menu."} +{"instruction": "What does `MainMenu.sideload_companion()` do?", "input": "", "output": "`sideload_companion()` — Sideload Archon companion APK to connected Android device."} +{"instruction": "What does `MainMenu.show_mcp_server()` do?", "input": "", "output": "`show_mcp_server()` — Display MCP server management interface."} +{"instruction": "What does `MainMenu.show_upnp_settings()` do?", "input": "", "output": "`show_upnp_settings()` — Display and configure UPnP settings."} +{"instruction": "What does `MainMenu.show_revshell_settings()` do?", "input": "", "output": "`show_revshell_settings()` — Display and configure reverse shell settings."} +{"instruction": "What does `MainMenu.show_display_settings()` do?", "input": "", "output": "`show_display_settings()` — Display and configure display/output settings."} +{"instruction": "What does `MainMenu.load_config_file()` do?", "input": "", "output": "`load_config_file()` — Load settings from an alternate config file."} +{"instruction": "What does `MainMenu.show_user_manual()` do?", "input": "", "output": "`show_user_manual()` — Display the user manual in a pager."} +{"instruction": "What does `MainMenu.list_all_modules()` do?", "input": "", "output": "`list_all_modules()` — List all loaded modules, optionally filtered by category."} +{"instruction": "What does `MainMenu.run()` do?", "input": "", "output": "`run()` — Main menu loop."} +{"instruction": "What does the file `core\\module_crypto.py` do in AUTARCH?", "input": "", "output": "`core\\module_crypto.py` — \nAUTARCH Encrypted Module Cryptography\nAES-256-CBC encryption with PBKDF2-HMAC-SHA512 key derivation\nand SHA-512 integrity verification.\n\nFile format (.autarch):\n Offset Size Field\n ────── ──── ─────────────────────────────────────────────────────\n 0 4 Magic: b'ATCH'\n 4 1 Version: 0x01\n 5 32 PBKDF2 salt\n 37 16 AES IV\n 53 64 SHA-512 hash of plaintext (integrity check)\n 117 2 Metadata JSON length (uint16 LE)\n 119 N Metadata JSON (UTF-8)\n 119+N ... AES-256-CBC ciphertext (PKCS7 padded)\n\n\nCategory: core\nIt contains 0 class(es) and 8 top-level function(s)."} +{"instruction": "What does the file `core\\msf.py` do in AUTARCH?", "input": "", "output": "`core\\msf.py` — \nAUTARCH Metasploit Integration\nInterface for Metasploit Framework via RPC\n\n\nCategory: core\nIt contains 4 class(es) and 4 top-level function(s)."} +{"instruction": "What methods does the `MetasploitRPC` class in `core\\msf.py` provide?", "input": "", "output": "The `MetasploitRPC` class provides these methods: is_connected, connect, disconnect, get_version, list_modules, search_modules, get_module_info, get_module_options, execute_module, list_jobs, get_job_info, stop_job, list_sessions, session_shell_read, session_shell_write, session_stop, run_console_command\n\nClass description: Client for Metasploit RPC API."} +{"instruction": "What does `MetasploitRPC.is_connected()` do?", "input": "", "output": "`is_connected()` — Check if connected to MSF RPC."} +{"instruction": "What does `MetasploitRPC.connect()` do?", "input": "", "output": "`connect(password)` — Connect and authenticate to MSF RPC.\n\nArgs:\n password: RPC password (uses stored password if not provided).\n\nReturns:\n True if connected successfully.\n\nRaises:\n MSFError: If connection fails."} +{"instruction": "What does `MetasploitRPC.disconnect()` do?", "input": "", "output": "`disconnect()` — Disconnect from MSF RPC."} +{"instruction": "What does `MetasploitRPC.get_version()` do?", "input": "", "output": "`get_version()` — Get Metasploit version info.\n\nReturns:\n Dictionary with version information."} +{"instruction": "What does `MetasploitRPC.list_modules()` do?", "input": "", "output": "`list_modules(module_type)` — List available modules.\n\nArgs:\n module_type: Filter by type (exploit, auxiliary, post, payload, encoder, nop).\n\nReturns:\n List of module names."} +{"instruction": "What does `MetasploitRPC.search_modules()` do?", "input": "", "output": "`search_modules(query)` — Search for modules matching a query.\n\nArgs:\n query: Search query string.\n\nReturns:\n List of matching modules."} +{"instruction": "What does `MetasploitRPC.get_module_info()` do?", "input": "", "output": "`get_module_info(module_type, module_name)` — Get detailed information about a module.\n\nArgs:\n module_type: Module type (exploit, auxiliary, etc.).\n module_name: Module name.\n\nReturns:\n MSFModule with module details."} +{"instruction": "What does `MetasploitRPC.get_module_options()` do?", "input": "", "output": "`get_module_options(module_type, module_name)` — Get available options for a module.\n\nArgs:\n module_type: Module type.\n module_name: Module name.\n\nReturns:\n Dictionary of options and their details."} +{"instruction": "What does `MetasploitRPC.execute_module()` do?", "input": "", "output": "`execute_module(module_type, module_name, options)` — Execute a module with given options.\n\nArgs:\n module_type: Module type.\n module_name: Module name.\n options: Module options dictionary.\n\nReturns:\n Execution result with job_id."} +{"instruction": "What does `MetasploitRPC.list_jobs()` do?", "input": "", "output": "`list_jobs()` — List running jobs.\n\nReturns:\n Dictionary of job IDs and info."} +{"instruction": "What does `MetasploitRPC.get_job_info()` do?", "input": "", "output": "`get_job_info(job_id)` — Get information about a job.\n\nArgs:\n job_id: Job ID.\n\nReturns:\n Job information dictionary."} +{"instruction": "What does `MetasploitRPC.stop_job()` do?", "input": "", "output": "`stop_job(job_id)` — Stop a running job.\n\nArgs:\n job_id: Job ID to stop.\n\nReturns:\n True if stopped successfully."} +{"instruction": "What does `MetasploitRPC.list_sessions()` do?", "input": "", "output": "`list_sessions()` — List active sessions.\n\nReturns:\n Dictionary of session IDs and info."} +{"instruction": "What does `MetasploitRPC.session_shell_read()` do?", "input": "", "output": "`session_shell_read(session_id)` — Read output from a shell session.\n\nArgs:\n session_id: Session ID.\n\nReturns:\n Shell output string."} +{"instruction": "What does `MetasploitRPC.session_shell_write()` do?", "input": "", "output": "`session_shell_write(session_id, command)` — Write a command to a shell session.\n\nArgs:\n session_id: Session ID.\n command: Command to execute.\n\nReturns:\n True if written successfully."} +{"instruction": "What does `MetasploitRPC.session_stop()` do?", "input": "", "output": "`session_stop(session_id)` — Stop/kill a session.\n\nArgs:\n session_id: Session ID to stop.\n\nReturns:\n True if stopped successfully."} +{"instruction": "What does `MetasploitRPC.run_console_command()` do?", "input": "", "output": "`run_console_command(command)` — Run a command in MSF console.\n\nArgs:\n command: Console command to run.\n\nReturns:\n Command output."} +{"instruction": "What methods does the `MSFManager` class in `core\\msf.py` provide?", "input": "", "output": "The `MSFManager` class provides these methods: detect_server, kill_server, start_server, get_settings, save_settings, connect, disconnect, is_connected, autoconnect, set_autoconnect\n\nClass description: High-level manager for Metasploit integration."} +{"instruction": "What does `MSFManager.detect_server()` do?", "input": "", "output": "`detect_server()` — Detect if msfrpcd is already running.\n\nReturns:\n Tuple of (is_running, pid or None)"} +{"instruction": "What does `MSFManager.kill_server()` do?", "input": "", "output": "`kill_server(use_sudo)` — Kill any running msfrpcd server.\n\nArgs:\n use_sudo: Use sudo for killing (needed if server was started with sudo)\n\nReturns:\n True if server was killed or no server was running"} +{"instruction": "What does `MSFManager.start_server()` do?", "input": "", "output": "`start_server(username, password, host, port, use_ssl, use_sudo)` — Start the msfrpcd server with given credentials.\n\nArgs:\n username: RPC username\n password: RPC password\n host: Host to bind to\n port: Port to listen on\n use_ssl: Whether to use SSL\n use_sudo: Run msfrpcd with sudo (required for raw socket modules like SYN scan)\n\nReturns:\n True if server started successfully"} +{"instruction": "What does `MSFManager.get_settings()` do?", "input": "", "output": "`get_settings()` — Get current MSF settings."} +{"instruction": "What does `MSFManager.save_settings()` do?", "input": "", "output": "`save_settings(host, port, username, password, use_ssl)` — Save MSF settings."} +{"instruction": "What does `MSFManager.connect()` do?", "input": "", "output": "`connect(password)` — Connect to Metasploit RPC.\n\nArgs:\n password: RPC password (uses saved if not provided).\n\nReturns:\n Connected MetasploitRPC instance."} +{"instruction": "What does `MSFManager.disconnect()` do?", "input": "", "output": "`disconnect()` — Disconnect from Metasploit RPC."} +{"instruction": "What does `MSFManager.is_connected()` do?", "input": "", "output": "`is_connected()` — Check if connected to MSF."} +{"instruction": "What does `MSFManager.autoconnect()` do?", "input": "", "output": "`autoconnect()` — Perform automatic MSF server detection and connection on startup.\n\nFlow:\n1. Scan for existing msfrpcd server\n2. If found: kill it, ask for new credentials, restart with new creds\n3. If not found: ask for credentials, start server\n4. Connect to the server\n\nReturns:\n True if successfully connected to MSF"} +{"instruction": "What does `MSFManager.set_autoconnect()` do?", "input": "", "output": "`set_autoconnect(enabled)` — Enable or disable autoconnect on startup."} +{"instruction": "What does the file `core\\msf_interface.py` do in AUTARCH?", "input": "", "output": "`core\\msf_interface.py` — \nAUTARCH Metasploit Interface\nCentralized high-level interface for all Metasploit operations.\n\nThis module provides a clean API for executing MSF modules, handling\nconnection management, output parsing, and error recovery.\n\nUsage:\n from core.msf_interface import get_msf_interface, MSFResult\n\n msf = get_msf_interface()\n result = msf.run_module('auxiliary/scanner/portscan/tcp', {'RHOSTS': '192.168.1.1'})\n\n if result.success:\n for finding in result.findings:\n print(finding)\n\n\nCategory: core\nIt contains 3 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `MSFResult` class in `core\\msf_interface.py` provide?", "input": "", "output": "The `MSFResult` class provides these methods: success, get_summary\n\nClass description: Result from an MSF module execution."} +{"instruction": "What does `MSFResult.get_summary()` do?", "input": "", "output": "`get_summary()` — Get a brief summary of the result."} +{"instruction": "What methods does the `MSFInterface` class in `core\\msf_interface.py` provide?", "input": "", "output": "The `MSFInterface` class provides these methods: manager, is_connected, last_error, ensure_connected, run_module, run_scanner, get_module_info, get_module_options, search_modules, list_modules, list_sessions, list_jobs, stop_job, execute_module_job, session_read, session_write, session_stop, run_console_command, print_result\n\nClass description: High-level interface for Metasploit operations."} +{"instruction": "What does `MSFInterface.manager()` do?", "input": "", "output": "`manager()` — Get or create the MSF manager."} +{"instruction": "What does `MSFInterface.is_connected()` do?", "input": "", "output": "`is_connected()` — Check if connected to MSF RPC."} +{"instruction": "What does `MSFInterface.last_error()` do?", "input": "", "output": "`last_error()` — Get the last error message."} +{"instruction": "What does `MSFInterface.ensure_connected()` do?", "input": "", "output": "`ensure_connected(password, auto_prompt)` — Ensure we have a valid connection to MSF RPC.\n\nArgs:\n password: Optional password to use for connection.\n auto_prompt: If True, prompt for password if needed.\n\nReturns:\n Tuple of (success, message)."} +{"instruction": "What does `MSFInterface.run_module()` do?", "input": "", "output": "`run_module(module_path, options, timeout, auto_reconnect)` — Execute an MSF module and return parsed results.\n\nArgs:\n module_path: Full module path (e.g., 'auxiliary/scanner/portscan/tcp').\n options: Module options dictionary.\n timeout: Maximum execution time in seconds.\n auto_reconnect: If True, attempt to reconnect on auth errors.\n\nReturns:\n MSFResult with parsed output."} +{"instruction": "What does `MSFInterface.run_scanner()` do?", "input": "", "output": "`run_scanner(module_path, target, ports, options, timeout)` — Convenience method for running scanner modules.\n\nArgs:\n module_path: Scanner module path.\n target: Target IP or range (RHOSTS).\n ports: Port specification (optional).\n options: Additional options.\n timeout: Maximum execution time.\n\nReturns:\n MSFResult with scan results."} +{"instruction": "What does `MSFInterface.get_module_info()` do?", "input": "", "output": "`get_module_info(module_path)` — Get information about a module.\n\nArgs:\n module_path: Full module path.\n\nReturns:\n Module info dictionary or None."} +{"instruction": "What does `MSFInterface.get_module_options()` do?", "input": "", "output": "`get_module_options(module_path)` — Get available options for a module.\n\nArgs:\n module_path: Full module path.\n\nReturns:\n Options dictionary or None."} +{"instruction": "What does `MSFInterface.search_modules()` do?", "input": "", "output": "`search_modules(query)` — Search for modules matching a query.\n\nArgs:\n query: Search query.\n\nReturns:\n List of matching module paths."} +{"instruction": "What does `MSFInterface.list_modules()` do?", "input": "", "output": "`list_modules(module_type)` — List available modules by type.\n\nArgs:\n module_type: Filter by type (exploit, auxiliary, post, payload, encoder, nop).\n If None, returns all modules.\n\nReturns:\n List of module paths."} +{"instruction": "What does `MSFInterface.list_sessions()` do?", "input": "", "output": "`list_sessions()` — List active MSF sessions.\n\nReturns:\n Dictionary of session IDs to session info."} +{"instruction": "What does `MSFInterface.list_jobs()` do?", "input": "", "output": "`list_jobs()` — List running MSF jobs.\n\nReturns:\n Dictionary of job IDs to job info."} +{"instruction": "What does `MSFInterface.stop_job()` do?", "input": "", "output": "`stop_job(job_id)` — Stop a running job.\n\nArgs:\n job_id: Job ID to stop.\n\nReturns:\n True if stopped successfully."} +{"instruction": "What does `MSFInterface.execute_module_job()` do?", "input": "", "output": "`execute_module_job(module_path, options)` — Execute a module as a background job (non-blocking).\n\nThis is different from run_module() which uses console and captures output.\nUse this for exploits and long-running modules that should run in background.\n\nArgs:\n module_path: Full module path.\n options: Module options.\n\nReturns:\n Tuple of (success, job_id, error_message)."} +{"instruction": "What does `MSFInterface.session_read()` do?", "input": "", "output": "`session_read(session_id)` — Read from a session shell.\n\nArgs:\n session_id: Session ID.\n\nReturns:\n Tuple of (success, output)."} +{"instruction": "What does `MSFInterface.session_write()` do?", "input": "", "output": "`session_write(session_id, command)` — Write a command to a session shell.\n\nArgs:\n session_id: Session ID.\n command: Command to execute.\n\nReturns:\n True if written successfully."} +{"instruction": "What does `MSFInterface.session_stop()` do?", "input": "", "output": "`session_stop(session_id)` — Stop/kill a session.\n\nArgs:\n session_id: Session ID.\n\nReturns:\n True if stopped successfully."} +{"instruction": "What does `MSFInterface.run_console_command()` do?", "input": "", "output": "`run_console_command(command, timeout)` — Run a raw console command and return output.\n\nThis is a lower-level method for direct console access.\n\nArgs:\n command: Console command to run.\n timeout: Timeout in seconds.\n\nReturns:\n Tuple of (success, output)."} +{"instruction": "What does `MSFInterface.print_result()` do?", "input": "", "output": "`print_result(result, verbose)` — Print a formatted result to the console.\n\nArgs:\n result: MSFResult to print.\n verbose: If True, show all output including info lines."} +{"instruction": "What does the file `core\\msf_modules.py` do in AUTARCH?", "input": "", "output": "`core\\msf_modules.py` — \nAUTARCH Metasploit Module Library\nDescriptions and metadata for common Metasploit modules.\n\nProvides user-friendly descriptions, common options, and usage guidance\nfor frequently used MSF modules without needing to query MSF itself.\n\nUsage:\n from core.msf_modules import get_module_info, search_modules, get_modules_by_category\n\n info = get_module_info('auxiliary/scanner/smb/smb_version')\n print(info['description'])\n\n results = search_modules('eternalblue')\n for mod in results:\n print(mod['path'], mod['name'])\n\n\nCategory: core\nIt contains 0 class(es) and 11 top-level function(s)."} +{"instruction": "What does the file `core\\msf_terms.py` do in AUTARCH?", "input": "", "output": "`core\\msf_terms.py` — \nAUTARCH Metasploit Term Bank\nCentralized definitions for MSF options and settings.\n\nProvides consistent explanations and prompts for all Metasploit options\nso they don't need to be repeated throughout the codebase.\n\nUsage:\n from core.msf_terms import get_setting_info, get_setting_prompt, format_setting_help\n\n info = get_setting_info('RHOSTS')\n print(info['description'])\n\n prompt = get_setting_prompt('RPORT', default=445)\n user_input = input(prompt)\n\n\nCategory: core\nIt contains 0 class(es) and 11 top-level function(s)."} +{"instruction": "What does the file `core\\paths.py` do in AUTARCH?", "input": "", "output": "`core\\paths.py` — \nAUTARCH Path Resolution\nCentralized path management for cross-platform portability.\n\nAll paths resolve relative to the application root directory.\nTool lookup checks project directories first, then system PATH.\n\n\nCategory: core\nIt contains 0 class(es) and 22 top-level function(s)."} +{"instruction": "What does the file `core\\pentest_pipeline.py` do in AUTARCH?", "input": "", "output": "`core\\pentest_pipeline.py` — \nAUTARCH Pentest Pipeline\nThree-module architecture (Parsing -> Reasoning -> Generation)\nbased on PentestGPT's USENIX paper methodology.\nUses AUTARCH's local LLM via llama-cpp-python.\n\n\nCategory: core\nIt contains 4 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `ParsingModule` class in `core\\pentest_pipeline.py` provide?", "input": "", "output": "The `ParsingModule` class provides these methods: parse\n\nClass description: Normalizes raw tool output into structured summaries."} +{"instruction": "What does `ParsingModule.parse()` do?", "input": "", "output": "`parse(raw_output, source_type, context)` — Parse raw tool output into normalized summary.\n\nReturns dict with 'summary', 'findings', 'status', 'raw_source'."} +{"instruction": "What methods does the `ReasoningModule` class in `core\\pentest_pipeline.py` provide?", "input": "", "output": "The `ReasoningModule` class provides these methods: reason\n\nClass description: Maintains PTT and decides next actions."} +{"instruction": "What does `ReasoningModule.reason()` do?", "input": "", "output": "`reason(parsed_output, context)` — Three-step reasoning: update tree, validate, extract next todo.\n\nReturns dict with 'tree_updates', 'next_task', 'reasoning'."} +{"instruction": "What methods does the `GenerationModule` class in `core\\pentest_pipeline.py` provide?", "input": "", "output": "The `GenerationModule` class provides these methods: generate\n\nClass description: Converts abstract tasks into concrete commands."} +{"instruction": "What does `GenerationModule.generate()` do?", "input": "", "output": "`generate(task_description, target, context)` — Generate executable commands for a task.\n\nReturns dict with 'commands' (list) and 'fallback' (str)."} +{"instruction": "What methods does the `PentestPipeline` class in `core\\pentest_pipeline.py` provide?", "input": "", "output": "The `PentestPipeline` class provides these methods: process_output, get_initial_plan, inject_information, discuss\n\nClass description: Orchestrates the three-module pipeline."} +{"instruction": "What does `PentestPipeline.process_output()` do?", "input": "", "output": "`process_output(raw_output, source_type)` — Full pipeline: parse -> reason -> generate.\n\nReturns dict with 'parsed', 'reasoning', 'commands', 'next_task'."} +{"instruction": "What does `PentestPipeline.get_initial_plan()` do?", "input": "", "output": "`get_initial_plan()` — Generate initial pentest plan for the target."} +{"instruction": "What does `PentestPipeline.inject_information()` do?", "input": "", "output": "`inject_information(info, source)` — Inject external information and get updated recommendations."} +{"instruction": "What does `PentestPipeline.discuss()` do?", "input": "", "output": "`discuss(question)` — Ad-hoc question that doesn't affect the tree."} +{"instruction": "What does the file `core\\pentest_session.py` do in AUTARCH?", "input": "", "output": "`core\\pentest_session.py` — \nAUTARCH Pentest Session Manager\nSave and resume penetration testing sessions with full state persistence.\n\n\nCategory: core\nIt contains 3 class(es) and 0 top-level function(s)."} +{"instruction": "What methods does the `SessionEvent` class in `core\\pentest_session.py` provide?", "input": "", "output": "The `SessionEvent` class provides these methods: to_dict, from_dict\n\nClass description: A single event in the session timeline."} +{"instruction": "What methods does the `PentestSession` class in `core\\pentest_session.py` provide?", "input": "", "output": "The `PentestSession` class provides these methods: start, pause, resume, complete, set_error, log_event, log_pipeline_result, add_finding, save, load_session, list_sessions, delete, export_report\n\nClass description: Manages a single penetration testing session."} +{"instruction": "What does `PentestSession.start()` do?", "input": "", "output": "`start()` — Initialize a new session."} +{"instruction": "What does `PentestSession.pause()` do?", "input": "", "output": "`pause()` — Pause the session and save state."} +{"instruction": "What does `PentestSession.resume()` do?", "input": "", "output": "`resume()` — Resume a paused session."} +{"instruction": "What does `PentestSession.complete()` do?", "input": "", "output": "`complete(summary)` — Mark session as completed."} +{"instruction": "What does `PentestSession.set_error()` do?", "input": "", "output": "`set_error(error_msg)` — Mark session as errored."} +{"instruction": "What does `PentestSession.log_event()` do?", "input": "", "output": "`log_event(event_type, data)` — Log an event to the session timeline."} +{"instruction": "What does `PentestSession.log_pipeline_result()` do?", "input": "", "output": "`log_pipeline_result(parsed, reasoning, actions)` — Log a pipeline execution cycle."} +{"instruction": "What does `PentestSession.add_finding()` do?", "input": "", "output": "`add_finding(title, description, severity, node_id)` — Add a key finding."} +{"instruction": "What does `PentestSession.save()` do?", "input": "", "output": "`save()` — Save session to JSON file. Returns filepath."} +{"instruction": "What does `PentestSession.load_session()` do?", "input": "", "output": "`load_session(cls, session_id)` — Load a session from file."} +{"instruction": "What does `PentestSession.list_sessions()` do?", "input": "", "output": "`list_sessions(cls)` — List all saved sessions with summary info."} +{"instruction": "What does `PentestSession.delete()` do?", "input": "", "output": "`delete()` — Delete this session's file."} +{"instruction": "What does `PentestSession.export_report()` do?", "input": "", "output": "`export_report()` — Generate a text summary report of the session."} +{"instruction": "What does the file `core\\pentest_tree.py` do in AUTARCH?", "input": "", "output": "`core\\pentest_tree.py` — \nAUTARCH Penetration Testing Tree (PTT)\nHierarchical task tracker for structured penetration testing workflows.\nBased on PentestGPT's USENIX paper methodology.\n\n\nCategory: core\nIt contains 4 class(es) and 0 top-level function(s)."} +{"instruction": "What methods does the `PTTNode` class in `core\\pentest_tree.py` provide?", "input": "", "output": "The `PTTNode` class provides these methods: to_dict, from_dict\n\nClass description: A single node in the Penetration Testing Tree."} +{"instruction": "What methods does the `PentestTree` class in `core\\pentest_tree.py` provide?", "input": "", "output": "The `PentestTree` class provides these methods: add_node, update_node, delete_node, get_node, get_next_todo, get_all_by_status, get_subtree, find_node_by_label, get_stats, render_text, render_summary, initialize_standard_branches, to_dict, from_dict\n\nClass description: Penetration Testing Tree - hierarchical task tracker."} +{"instruction": "What does `PentestTree.add_node()` do?", "input": "", "output": "`add_node(label, node_type, parent_id, details, priority, status)` — Add a node to the tree. Returns the new node's ID."} +{"instruction": "What does `PentestTree.update_node()` do?", "input": "", "output": "`update_node(node_id, status, details, tool_output, findings, priority, label)` — Update a node's properties. Returns True if found and updated."} +{"instruction": "What does `PentestTree.delete_node()` do?", "input": "", "output": "`delete_node(node_id)` — Delete a node and all its children recursively."} +{"instruction": "What does `PentestTree.get_next_todo()` do?", "input": "", "output": "`get_next_todo()` — Get the highest priority TODO node."} +{"instruction": "What does `PentestTree.get_subtree()` do?", "input": "", "output": "`get_subtree(node_id)` — Get all nodes in a subtree (including the root)."} +{"instruction": "What does `PentestTree.find_node_by_label()` do?", "input": "", "output": "`find_node_by_label(label)` — Find a node by label (case-insensitive partial match)."} +{"instruction": "What does `PentestTree.get_stats()` do?", "input": "", "output": "`get_stats()` — Get tree statistics."} +{"instruction": "What does `PentestTree.render_text()` do?", "input": "", "output": "`render_text()` — Render full tree as indented text for terminal display."} +{"instruction": "What does `PentestTree.render_summary()` do?", "input": "", "output": "`render_summary()` — Render compact summary for LLM context injection.\nDesigned to fit within tight token budgets (4096 ctx).\nOnly shows TODO and IN_PROGRESS nodes with minimal detail."} +{"instruction": "What does `PentestTree.initialize_standard_branches()` do?", "input": "", "output": "`initialize_standard_branches()` — Create standard MITRE ATT&CK-aligned top-level branches."} +{"instruction": "What does the file `core\\report_generator.py` do in AUTARCH?", "input": "", "output": "`core\\report_generator.py` — \nAUTARCH Report Generator\nGenerate HTML reports for scan results\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `ReportGenerator` class in `core\\report_generator.py` provide?", "input": "", "output": "The `ReportGenerator` class provides these methods: generate_username_report, generate_geoip_report, generate_security_audit_report, generate_network_scan_report, generate_vulnerability_report, generate_pentest_report\n\nClass description: Generate HTML reports for OSINT scan results."} +{"instruction": "What does `ReportGenerator.generate_username_report()` do?", "input": "", "output": "`generate_username_report(username, results, total_checked, scan_time)` — Generate HTML report for username scan.\n\nArgs:\n username: The username that was scanned.\n results: List of found profile dictionaries.\n total_checked: Total sites checked.\n scan_time: Total scan time in seconds.\n\nReturns:\n Path to generated report file."} +{"instruction": "What does `ReportGenerator.generate_geoip_report()` do?", "input": "", "output": "`generate_geoip_report(results)` — Generate HTML report for GEO IP lookups.\n\nArgs:\n results: List of GEO IP lookup result dictionaries.\n\nReturns:\n Path to generated report file."} +{"instruction": "What does `ReportGenerator.generate_security_audit_report()` do?", "input": "", "output": "`generate_security_audit_report(system_info, issues, score)` — Generate HTML report for security audit.\n\nArgs:\n system_info: System information dictionary.\n issues: List of security issues found.\n score: Security score 0-100.\n\nReturns:\n Path to generated report file."} +{"instruction": "What does `ReportGenerator.generate_network_scan_report()` do?", "input": "", "output": "`generate_network_scan_report(target, hosts, scan_time)` — Generate HTML report for network scan.\n\nArgs:\n target: Target subnet/IP.\n hosts: List of host dictionaries with ports/services.\n scan_time: Total scan time in seconds.\n\nReturns:\n Path to generated report file."} +{"instruction": "What does `ReportGenerator.generate_vulnerability_report()` do?", "input": "", "output": "`generate_vulnerability_report(target, correlations, scan_time)` — Generate HTML report for vulnerability scan.\n\nArgs:\n target: Target IP/hostname.\n correlations: List of service-CVE correlation dicts.\n scan_time: Total scan time in seconds.\n\nReturns:\n Path to generated report file."} +{"instruction": "What does `ReportGenerator.generate_pentest_report()` do?", "input": "", "output": "`generate_pentest_report(target, network_data, vuln_data, exploit_data, audit_data)` — Generate combined pentest report.\n\nArgs:\n target: Target IP/hostname.\n network_data: Network map host list (optional).\n vuln_data: Vulnerability correlations (optional).\n exploit_data: Exploit suggestions (optional).\n audit_data: Security audit data with 'system_info', 'issues', 'score' (optional).\n\nReturns:\n Path to generated report file."} +{"instruction": "What does the file `core\\revshell.py` do in AUTARCH?", "input": "", "output": "`core\\revshell.py` — \nAUTARCH Reverse Shell Listener\nAccepts incoming reverse shell connections from the Archon Android companion app.\n\nProtocol: JSON over TCP, newline-delimited. Matches ArchonShell.java.\n\nAuth handshake:\n Client → Server: {\"type\":\"auth\",\"token\":\"xxx\",\"device\":\"model\",\"android\":\"14\",\"uid\":2000}\n Server → Client: {\"type\":\"auth_ok\"} or {\"type\":\"auth_fail\",\"reason\":\"...\"}\n\nCommand flow:\n Server → Client: {\"type\":\"cmd\",\"cmd\":\"ls\",\"timeout\":30,\"id\":\"abc\"}\n Client → Server: {\"type\":\"result\",\"id\":\"abc\",\"stdout\":\"...\",\"stderr\":\"...\",\"exit_code\":0}\n\nSpecial commands: __sysinfo__, __packages__, __screenshot__, __download__, __upload__,\n __processes__, __netstat__, __dumplog__, __disconnect__\n\n\nCategory: core\nIt contains 2 class(es) and 3 top-level function(s)."} +{"instruction": "What methods does the `RevShellSession` class in `core\\revshell.py` provide?", "input": "", "output": "The `RevShellSession` class provides these methods: alive, device_name, android_version, uid, uptime, execute, execute_special, sysinfo, packages, screenshot, download, upload, processes, netstat, dumplog, ping, disconnect, to_dict\n\nClass description: Active reverse shell session with an Archon device."} +{"instruction": "What does `RevShellSession.execute()` do?", "input": "", "output": "`execute(command, timeout)` — Send a command and wait for result. Returns {stdout, stderr, exit_code}."} +{"instruction": "What does `RevShellSession.execute_special()` do?", "input": "", "output": "`execute_special(command)` — Execute a special command with extra parameters."} +{"instruction": "What does `RevShellSession.sysinfo()` do?", "input": "", "output": "`sysinfo()` — Get device system information."} +{"instruction": "What does `RevShellSession.packages()` do?", "input": "", "output": "`packages()` — List installed packages."} +{"instruction": "What does `RevShellSession.screenshot()` do?", "input": "", "output": "`screenshot()` — Capture screenshot. Returns PNG bytes or None."} +{"instruction": "What does `RevShellSession.download()` do?", "input": "", "output": "`download(remote_path)` — Download file from device. Returns (data, filename) or None."} +{"instruction": "What does `RevShellSession.upload()` do?", "input": "", "output": "`upload(local_path, remote_path)` — Upload file to device."} +{"instruction": "What does `RevShellSession.processes()` do?", "input": "", "output": "`processes()` — List running processes."} +{"instruction": "What does `RevShellSession.netstat()` do?", "input": "", "output": "`netstat()` — Get network connections."} +{"instruction": "What does `RevShellSession.dumplog()` do?", "input": "", "output": "`dumplog(lines)` — Get logcat output."} +{"instruction": "What does `RevShellSession.ping()` do?", "input": "", "output": "`ping()` — Send keepalive ping."} +{"instruction": "What does `RevShellSession.disconnect()` do?", "input": "", "output": "`disconnect()` — Gracefully disconnect the session."} +{"instruction": "What does `RevShellSession.to_dict()` do?", "input": "", "output": "`to_dict()` — Serialize session info for API responses."} +{"instruction": "What methods does the `RevShellListener` class in `core\\revshell.py` provide?", "input": "", "output": "The `RevShellListener` class provides these methods: running, active_sessions, start, stop, get_session, list_sessions, remove_session, save_screenshot, save_download\n\nClass description: TCP listener for incoming Archon reverse shell connections."} +{"instruction": "What does `RevShellListener.start()` do?", "input": "", "output": "`start()` — Start listening for incoming reverse shell connections."} +{"instruction": "What does `RevShellListener.stop()` do?", "input": "", "output": "`stop()` — Stop listener and disconnect all sessions."} +{"instruction": "What does `RevShellListener.get_session()` do?", "input": "", "output": "`get_session(session_id)` — Get session by ID."} +{"instruction": "What does `RevShellListener.list_sessions()` do?", "input": "", "output": "`list_sessions()` — List all sessions with their info."} +{"instruction": "What does `RevShellListener.remove_session()` do?", "input": "", "output": "`remove_session(session_id)` — Disconnect and remove a session."} +{"instruction": "What does `RevShellListener.save_screenshot()` do?", "input": "", "output": "`save_screenshot(session_id)` — Capture and save screenshot. Returns file path or None."} +{"instruction": "What does `RevShellListener.save_download()` do?", "input": "", "output": "`save_download(session_id, remote_path)` — Download file from device and save locally. Returns local path or None."} +{"instruction": "What does the file `core\\rsf.py` do in AUTARCH?", "input": "", "output": "`core\\rsf.py` — \nAUTARCH RouterSploit Framework Wrapper\nLow-level interface for RouterSploit module discovery, import, and execution.\nDirect Python import -- no RPC layer needed since RSF is pure Python.\n\n\nCategory: core\nIt contains 3 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `RSFManager` class in `core\\rsf.py` provide?", "input": "", "output": "The `RSFManager` class provides these methods: is_available, reset_cache, index_all_modules, get_module_count, get_modules_by_type, search_modules, load_module, get_module_options, set_module_option, capture_output, execute_check, execute_run\n\nClass description: Manager for RouterSploit framework operations.\n\nHandles sys.path setup, module discovery, dynamic import,\noption introspection, stdout capture, and execution."} +{"instruction": "What does `RSFManager.is_available()` do?", "input": "", "output": "`is_available()` — Check if RouterSploit is importable. Caches result."} +{"instruction": "What does `RSFManager.reset_cache()` do?", "input": "", "output": "`reset_cache()` — Reset cached state (availability, module index)."} +{"instruction": "What does `RSFManager.index_all_modules()` do?", "input": "", "output": "`index_all_modules()` — Discover all RSF modules. Returns list of dotted module paths.\n\nUses routersploit.core.exploit.utils.index_modules() internally.\nResults are cached after first call.\n\nReturns:\n List of module paths like 'exploits/routers/dlink/some_module'"} +{"instruction": "What does `RSFManager.get_module_count()` do?", "input": "", "output": "`get_module_count()` — Get total number of indexed modules."} +{"instruction": "What does `RSFManager.get_modules_by_type()` do?", "input": "", "output": "`get_modules_by_type(module_type)` — Filter modules by type (exploits, creds, scanners, payloads, encoders, generic).\n\nArgs:\n module_type: One of 'exploits', 'creds', 'scanners', 'payloads', 'encoders', 'generic'\n\nReturns:\n List of matching module paths"} +{"instruction": "What does `RSFManager.search_modules()` do?", "input": "", "output": "`search_modules(query)` — Search modules by substring match on path.\n\nArgs:\n query: Search string (case-insensitive)\n\nReturns:\n List of matching module paths"} +{"instruction": "What does `RSFManager.load_module()` do?", "input": "", "output": "`load_module(path)` — Load a RouterSploit module by path.\n\nConverts slash path to dotted import path, imports using\nimport_exploit(), instantiates, and extracts metadata.\n\nArgs:\n path: Module path like 'exploits/routers/dlink/some_module'\n\nReturns:\n Tuple of (module_instance, RSFModuleInfo)\n\nRaises:\n RSFError: If module cannot be loaded"} +{"instruction": "What does `RSFManager.get_module_options()` do?", "input": "", "output": "`get_module_options(instance)` — Introspect Option descriptors on a module instance.\n\nUses RSF's exploit_attributes metaclass aggregator to get\noption names, then reads descriptor properties for details.\n\nArgs:\n instance: Instantiated RSF module\n\nReturns:\n List of dicts with keys: name, type, default, description, current, advanced"} +{"instruction": "What does `RSFManager.set_module_option()` do?", "input": "", "output": "`set_module_option(instance, name, value)` — Set an option on a module instance.\n\nArgs:\n instance: RSF module instance\n name: Option name\n value: Value to set (string, will be validated by descriptor)\n\nReturns:\n True if set successfully\n\nRaises:\n RSFError: If option cannot be set"} +{"instruction": "What does `RSFManager.capture_output()` do?", "input": "", "output": "`capture_output()` — Context manager to capture stdout/stderr from RSF modules.\n\nRSF modules print directly via their printer system. This\nredirects stdout/stderr to StringIO for capturing output.\n\nYields:\n StringIO object containing captured output"} +{"instruction": "What does `RSFManager.execute_check()` do?", "input": "", "output": "`execute_check(instance, timeout)` — Run check() on a module with stdout capture and timeout.\n\ncheck() is the safe vulnerability verification method.\n\nArgs:\n instance: RSF module instance (already configured)\n timeout: Timeout in seconds\n\nReturns:\n Tuple of (result, output) where result is True/False/None"} +{"instruction": "What does `RSFManager.execute_run()` do?", "input": "", "output": "`execute_run(instance, timeout)` — Run run() on a module with stdout capture and timeout.\n\nrun() is the full exploit execution method.\n\nArgs:\n instance: RSF module instance (already configured)\n timeout: Timeout in seconds\n\nReturns:\n Tuple of (completed, output) where completed indicates\n whether execution finished within timeout"} +{"instruction": "What does the file `core\\rsf_interface.py` do in AUTARCH?", "input": "", "output": "`core\\rsf_interface.py` — \nAUTARCH RouterSploit High-Level Interface\nClean API for RSF operations, mirroring core/msf_interface.py patterns.\nWraps RSFManager with result parsing and formatted output.\n\n\nCategory: core\nIt contains 3 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `RSFInterface` class in `core\\rsf_interface.py` provide?", "input": "", "output": "The `RSFInterface` class provides these methods: ensure_available, is_available, module_count, list_modules, search_modules, get_module_info, get_module_options, check_module, run_module, print_result\n\nClass description: High-level interface for RouterSploit operations.\n\nProvides a clean API mirroring MSFInterface patterns:\n- Module listing and search\n- Module info and options\n- Check (safe vulnerability verification)\n- Run (full module execution)\n- Output parsing and result formatting"} +{"instruction": "What does `RSFInterface.ensure_available()` do?", "input": "", "output": "`ensure_available()` — Check that RSF is importable and available.\n\nReturns:\n True if RSF is available\n\nRaises:\n RSFError: If RSF is not available"} +{"instruction": "What does `RSFInterface.is_available()` do?", "input": "", "output": "`is_available()` — Check if RSF is available without raising."} +{"instruction": "What does `RSFInterface.module_count()` do?", "input": "", "output": "`module_count()` — Get total number of available modules."} +{"instruction": "What does `RSFInterface.list_modules()` do?", "input": "", "output": "`list_modules(module_type)` — List available modules, optionally filtered by type.\n\nCombines live RSF index with curated library data.\n\nArgs:\n module_type: Filter by type (exploits, creds, scanners, etc.)\n\nReturns:\n List of module paths"} +{"instruction": "What does `RSFInterface.search_modules()` do?", "input": "", "output": "`search_modules(query)` — Search modules by keyword.\n\nSearches both live RSF index and curated library.\n\nArgs:\n query: Search string\n\nReturns:\n List of matching module paths"} +{"instruction": "What does `RSFInterface.get_module_info()` do?", "input": "", "output": "`get_module_info(path)` — Get metadata for a module.\n\nTries curated library first, falls back to live introspection.\n\nArgs:\n path: Module path\n\nReturns:\n RSFModuleInfo with module metadata"} +{"instruction": "What does `RSFInterface.get_module_options()` do?", "input": "", "output": "`get_module_options(path)` — Get configurable options for a module.\n\nArgs:\n path: Module path\n\nReturns:\n List of option dicts with name, type, default, description, current"} +{"instruction": "What does `RSFInterface.check_module()` do?", "input": "", "output": "`check_module(path, options, timeout)` — Run check() on a module -- safe vulnerability verification.\n\nArgs:\n path: Module path\n options: Dict of option_name -> value to set before running\n timeout: Execution timeout in seconds (default from config)\n\nReturns:\n RSFResult with check results"} +{"instruction": "What does `RSFInterface.run_module()` do?", "input": "", "output": "`run_module(path, options, timeout)` — Run run() on a module -- full exploit execution.\n\nArgs:\n path: Module path\n options: Dict of option_name -> value to set before running\n timeout: Execution timeout in seconds (default from config)\n\nReturns:\n RSFResult with execution results"} +{"instruction": "What does `RSFInterface.print_result()` do?", "input": "", "output": "`print_result(result, verbose)` — Print formatted execution result.\n\nArgs:\n result: RSFResult to display\n verbose: Show raw output if True"} +{"instruction": "What does the file `core\\rsf_modules.py` do in AUTARCH?", "input": "", "output": "`core\\rsf_modules.py` — \nAUTARCH RouterSploit Curated Module Library\nOffline-browsable metadata for key RSF modules.\nMirrors core/msf_modules.py patterns for RSF-specific modules.\n\n\nCategory: core\nIt contains 0 class(es) and 7 top-level function(s)."} +{"instruction": "What does the file `core\\rsf_terms.py` do in AUTARCH?", "input": "", "output": "`core\\rsf_terms.py` — \nAUTARCH RouterSploit Option Term Bank\nCentralized descriptions and validation for RSF module options.\nMirrors core/msf_terms.py patterns for RSF-specific options.\n\n\nCategory: core\nIt contains 0 class(es) and 4 top-level function(s)."} +{"instruction": "What does the file `core\\sites_db.py` do in AUTARCH?", "input": "", "output": "`core\\sites_db.py` — \nAUTARCH Sites Database Module\nUnified username enumeration database from multiple OSINT sources\n\nDatabase: dh_sites.db - Master database with detection patterns\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `SitesDatabase` class in `core\\sites_db.py` provide?", "input": "", "output": "The `SitesDatabase` class provides these methods: get_stats, get_sites, get_site, search_sites, get_categories, get_sites_for_scan, get_site_by_url, toggle_site, add_site, update_detection, get_sites_without_detection, get_detection_coverage, get_disabled_count, enable_all_sites, disable_category, enable_category, load_from_json, export_to_json, close\n\nClass description: Unified OSINT sites database with SQLite storage."} +{"instruction": "What does `SitesDatabase.get_stats()` do?", "input": "", "output": "`get_stats()` — Get database statistics."} +{"instruction": "What does `SitesDatabase.get_sites()` do?", "input": "", "output": "`get_sites(category, include_nsfw, enabled_only, source, limit, order_by)` — Get sites from database.\n\nArgs:\n category: Filter by category.\n include_nsfw: Include NSFW sites.\n enabled_only: Only return enabled sites.\n source: Filter by source.\n limit: Maximum number of results.\n order_by: 'name' or 'category'.\n\nReturns:\n List of site dictionaries."} +{"instruction": "What does `SitesDatabase.get_site()` do?", "input": "", "output": "`get_site(name)` — Get a specific site by name.\n\nArgs:\n name: Site name.\n\nReturns:\n Site dictionary or None."} +{"instruction": "What does `SitesDatabase.search_sites()` do?", "input": "", "output": "`search_sites(query, include_nsfw, limit)` — Search sites by name.\n\nArgs:\n query: Search query.\n include_nsfw: Include NSFW sites.\n limit: Maximum results.\n\nReturns:\n List of matching sites."} +{"instruction": "What does `SitesDatabase.get_categories()` do?", "input": "", "output": "`get_categories()` — Get all categories with site counts.\n\nReturns:\n List of (category, count) tuples."} +{"instruction": "What does `SitesDatabase.get_sites_for_scan()` do?", "input": "", "output": "`get_sites_for_scan(categories, include_nsfw, max_sites, sort_alphabetically)` — Get sites optimized for username scanning with detection patterns.\n\nArgs:\n categories: List of categories to include.\n include_nsfw: Include NSFW sites.\n max_sites: Maximum number of sites.\n sort_alphabetically: Sort by name (True) or by category (False).\n\nReturns:\n List of sites ready for scanning with detection info."} +{"instruction": "What does `SitesDatabase.get_site_by_url()` do?", "input": "", "output": "`get_site_by_url(url_template)` — Get a site by its URL template.\n\nArgs:\n url_template: URL template with {} placeholder.\n\nReturns:\n Site dictionary or None."} +{"instruction": "What does `SitesDatabase.toggle_site()` do?", "input": "", "output": "`toggle_site(name, enabled)` — Enable or disable a site.\n\nArgs:\n name: Site name.\n enabled: Enable (True) or disable (False).\n\nReturns:\n True if successful."} +{"instruction": "What does `SitesDatabase.add_site()` do?", "input": "", "output": "`add_site(name, url_template, category, source, nsfw, error_type, error_code, error_string, match_code, match_string)` — Add a custom site to the database.\n\nArgs:\n name: Site name.\n url_template: URL with {} placeholder for username.\n category: Site category.\n source: Source identifier.\n nsfw: Whether site is NSFW.\n error_type: Detection type (status_code, message, etc).\n error_code: HTTP status when user NOT found.\n error_string: String when user NOT found.\n match_code: HTTP status when user found.\n match_string: String when user found.\n\nReturns:\n True if successful."} +{"instruction": "What does `SitesDatabase.update_detection()` do?", "input": "", "output": "`update_detection(name, error_type, error_code, error_string, match_code, match_string)` — Update detection settings for a site.\n\nArgs:\n name: Site name.\n error_type: Detection type.\n error_code: HTTP status when NOT found.\n error_string: String when NOT found.\n match_code: HTTP status when found.\n match_string: String when found.\n\nReturns:\n True if successful."} +{"instruction": "What does `SitesDatabase.get_sites_without_detection()` do?", "input": "", "output": "`get_sites_without_detection(limit)` — Get sites that don't have detection patterns configured.\n\nArgs:\n limit: Maximum results.\n\nReturns:\n List of sites without detection info."} +{"instruction": "What does `SitesDatabase.get_detection_coverage()` do?", "input": "", "output": "`get_detection_coverage()` — Get statistics on detection pattern coverage.\n\nReturns:\n Dictionary with coverage statistics."} +{"instruction": "What does `SitesDatabase.get_disabled_count()` do?", "input": "", "output": "`get_disabled_count()` — Get count of disabled sites."} +{"instruction": "What does `SitesDatabase.enable_all_sites()` do?", "input": "", "output": "`enable_all_sites()` — Re-enable all disabled sites."} +{"instruction": "What does `SitesDatabase.disable_category()` do?", "input": "", "output": "`disable_category(category)` — Disable all sites in a category.\n\nArgs:\n category: Category to disable.\n\nReturns:\n Number of sites disabled."} +{"instruction": "What does `SitesDatabase.enable_category()` do?", "input": "", "output": "`enable_category(category)` — Enable all sites in a category.\n\nArgs:\n category: Category to enable.\n\nReturns:\n Number of sites enabled."} +{"instruction": "What does `SitesDatabase.load_from_json()` do?", "input": "", "output": "`load_from_json(json_path)` — Load/reload sites from the master dh.json file.\n\nArgs:\n json_path: Path to JSON file. Defaults to data/sites/dh.json\n\nReturns:\n Statistics dict with import counts."} +{"instruction": "What does `SitesDatabase.export_to_json()` do?", "input": "", "output": "`export_to_json(json_path)` — Export database to JSON format.\n\nArgs:\n json_path: Output path. Defaults to data/sites/dh_export.json\n\nReturns:\n True if successful."} +{"instruction": "What does `SitesDatabase.close()` do?", "input": "", "output": "`close()` — Close database connection."} +{"instruction": "What does the file `core\\tools.py` do in AUTARCH?", "input": "", "output": "`core\\tools.py` — \nAUTARCH Tool System\nDefines tools that the agent can use to interact with the environment\n\n\nCategory: core\nIt contains 3 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `Tool` class in `core\\tools.py` provide?", "input": "", "output": "The `Tool` class provides these methods: to_schema, execute\n\nClass description: Definition of an agent tool."} +{"instruction": "What does `Tool.to_schema()` do?", "input": "", "output": "`to_schema()` — Convert tool to JSON schema for LLM."} +{"instruction": "What does `Tool.execute()` do?", "input": "", "output": "`execute()` — Execute the tool with given parameters.\n\nReturns:\n Dict with 'success' bool and 'result' or 'error' string."} +{"instruction": "What methods does the `ToolRegistry` class in `core\\tools.py` provide?", "input": "", "output": "The `ToolRegistry` class provides these methods: register, unregister, get, list_tools, get_tools_schema, get_tools_prompt, execute\n\nClass description: Registry for managing available tools."} +{"instruction": "What does `ToolRegistry.register()` do?", "input": "", "output": "`register(tool)` — Register a tool."} +{"instruction": "What does `ToolRegistry.unregister()` do?", "input": "", "output": "`unregister(name)` — Unregister a tool by name."} +{"instruction": "What does `ToolRegistry.get()` do?", "input": "", "output": "`get(name)` — Get a tool by name."} +{"instruction": "What does `ToolRegistry.list_tools()` do?", "input": "", "output": "`list_tools()` — List all registered tools."} +{"instruction": "What does `ToolRegistry.get_tools_schema()` do?", "input": "", "output": "`get_tools_schema()` — Get JSON schema for all tools."} +{"instruction": "What does `ToolRegistry.get_tools_prompt()` do?", "input": "", "output": "`get_tools_prompt()` — Generate a tools description for the LLM prompt."} +{"instruction": "What does `ToolRegistry.execute()` do?", "input": "", "output": "`execute(tool_name)` — Execute a tool by name.\n\nArgs:\n tool_name: Name of the tool to execute.\n **kwargs: Parameters to pass to the tool.\n\nReturns:\n Dict with execution result."} +{"instruction": "What does the file `core\\upnp.py` do in AUTARCH?", "input": "", "output": "`core\\upnp.py` — \nAUTARCH UPnP Manager\nManages UPnP port forwarding via miniupnpc (upnpc CLI)\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `UPnPManager` class in `core\\upnp.py` provide?", "input": "", "output": "The `UPnPManager` class provides these methods: is_available, list_mappings, add_mapping, remove_mapping, get_external_ip, refresh_all, load_mappings_from_config, save_mappings_to_config, get_cron_status, install_cron, uninstall_cron\n\nClass description: UPnP port forwarding manager wrapping the upnpc CLI."} +{"instruction": "What does `UPnPManager.is_available()` do?", "input": "", "output": "`is_available()` — Check if upnpc is installed."} +{"instruction": "What does `UPnPManager.list_mappings()` do?", "input": "", "output": "`list_mappings()` — List current UPnP port mappings."} +{"instruction": "What does `UPnPManager.add_mapping()` do?", "input": "", "output": "`add_mapping(internal_ip, internal_port, external_port, protocol, description)` — Add a UPnP port mapping.\n\nArgs:\n internal_ip: LAN IP to forward to\n internal_port: Internal port number\n external_port: External port number\n protocol: TCP or UDP\n description: Mapping description"} +{"instruction": "What does `UPnPManager.remove_mapping()` do?", "input": "", "output": "`remove_mapping(external_port, protocol)` — Remove a UPnP port mapping."} +{"instruction": "What does `UPnPManager.get_external_ip()` do?", "input": "", "output": "`get_external_ip()` — Get the external IP via UPnP."} +{"instruction": "What does `UPnPManager.refresh_all()` do?", "input": "", "output": "`refresh_all()` — Re-add all configured port mappings. Returns list of results."} +{"instruction": "What does `UPnPManager.load_mappings_from_config()` do?", "input": "", "output": "`load_mappings_from_config()` — Load port mappings from config file.\n\nConfig format: mappings = 443:TCP,51820:UDP,8080:TCP"} +{"instruction": "What does `UPnPManager.save_mappings_to_config()` do?", "input": "", "output": "`save_mappings_to_config(mappings)` — Save port mappings to config file."} +{"instruction": "What does `UPnPManager.get_cron_status()` do?", "input": "", "output": "`get_cron_status()` — Check if UPnP cron job is installed.\n\nReturns:\n Dict with 'installed' (bool), 'interval' (str), 'line' (str)"} +{"instruction": "What does `UPnPManager.install_cron()` do?", "input": "", "output": "`install_cron(interval_hours)` — Install a crontab entry for periodic UPnP refresh.\n\nArgs:\n interval_hours: How often to refresh (in hours)"} +{"instruction": "What does `UPnPManager.uninstall_cron()` do?", "input": "", "output": "`uninstall_cron()` — Remove the UPnP refresh cron job."} +{"instruction": "What does the file `core\\wireguard.py` do in AUTARCH?", "input": "", "output": "`core\\wireguard.py` — \nAUTARCH WireGuard VPN Manager\nServer management, client/peer CRUD, remote ADB (TCP/IP + USB/IP).\n\nIntegrates /home/snake/wg_setec/ functionality into the AUTARCH framework\nwith added remote ADB and USB/IP support for Android device management\nover WireGuard tunnels.\n\n\nCategory: core\nIt contains 1 class(es) and 3 top-level function(s)."} +{"instruction": "What methods does the `WireGuardManager` class in `core\\wireguard.py` provide?", "input": "", "output": "The `WireGuardManager` class provides these methods: is_available, get_server_status, start_interface, stop_interface, restart_interface, generate_keypair, generate_preshared_key, get_next_ip, create_client, delete_client, toggle_client, get_all_clients, get_client, get_peer_status, import_existing_peers, generate_client_config, generate_qr_code, adb_connect, adb_disconnect, get_adb_remote_devices, auto_connect_peers, usbip_available, check_usbip_modules, load_usbip_modules, usbip_list_remote, usbip_attach, usbip_detach, usbip_port_status, get_usbip_status, refresh_upnp_mapping\n\nClass description: WireGuard VPN + Remote ADB manager."} +{"instruction": "What does `WireGuardManager.is_available()` do?", "input": "", "output": "`is_available()` — Check if wg binary exists."} +{"instruction": "What does `WireGuardManager.get_server_status()` do?", "input": "", "output": "`get_server_status()` — Parse wg show for interface info."} +{"instruction": "What does `WireGuardManager.start_interface()` do?", "input": "", "output": "`start_interface()` — Start WireGuard interface with wg-quick."} +{"instruction": "What does `WireGuardManager.stop_interface()` do?", "input": "", "output": "`stop_interface()` — Stop WireGuard interface with wg-quick."} +{"instruction": "What does `WireGuardManager.restart_interface()` do?", "input": "", "output": "`restart_interface()` — Restart WireGuard interface."} +{"instruction": "What does `WireGuardManager.generate_keypair()` do?", "input": "", "output": "`generate_keypair()` — Generate WireGuard keypair. Returns (private_key, public_key)."} +{"instruction": "What does `WireGuardManager.generate_preshared_key()` do?", "input": "", "output": "`generate_preshared_key()` — Generate WireGuard preshared key."} +{"instruction": "What does `WireGuardManager.get_next_ip()` do?", "input": "", "output": "`get_next_ip()` — Get next available client IP in the subnet."} +{"instruction": "What does `WireGuardManager.create_client()` do?", "input": "", "output": "`create_client(name, dns, allowed_ips)` — Create a new WireGuard client/peer."} +{"instruction": "What does `WireGuardManager.delete_client()` do?", "input": "", "output": "`delete_client(client_id)` — Delete a client/peer."} +{"instruction": "What does `WireGuardManager.toggle_client()` do?", "input": "", "output": "`toggle_client(client_id, enabled)` — Enable or disable a client."} +{"instruction": "What does `WireGuardManager.get_all_clients()` do?", "input": "", "output": "`get_all_clients()` — Get list of all clients."} +{"instruction": "What does `WireGuardManager.get_client()` do?", "input": "", "output": "`get_client(client_id)` — Get single client by ID."} +{"instruction": "What does `WireGuardManager.get_peer_status()` do?", "input": "", "output": "`get_peer_status()` — Parse wg show for per-peer stats. Returns dict keyed by public key."} +{"instruction": "What does `WireGuardManager.import_existing_peers()` do?", "input": "", "output": "`import_existing_peers()` — Parse wg0.conf and import existing peers into JSON store."} +{"instruction": "What does `WireGuardManager.generate_client_config()` do?", "input": "", "output": "`generate_client_config(client)` — Build the .conf file content for a client."} +{"instruction": "What does `WireGuardManager.generate_qr_code()` do?", "input": "", "output": "`generate_qr_code(config_text)` — Generate QR code PNG bytes from config text."} +{"instruction": "What does `WireGuardManager.adb_connect()` do?", "input": "", "output": "`adb_connect(client_ip)` — Connect to device via ADB TCP/IP over WireGuard tunnel."} +{"instruction": "What does `WireGuardManager.adb_disconnect()` do?", "input": "", "output": "`adb_disconnect(client_ip)` — Disconnect ADB TCP/IP device."} +{"instruction": "What does `WireGuardManager.get_adb_remote_devices()` do?", "input": "", "output": "`get_adb_remote_devices()` — Filter adb devices for WireGuard subnet IPs."} +{"instruction": "What does `WireGuardManager.auto_connect_peers()` do?", "input": "", "output": "`auto_connect_peers()` — Try ADB connect on all active WG peers."} +{"instruction": "What does `WireGuardManager.usbip_available()` do?", "input": "", "output": "`usbip_available()` — Check if usbip binary exists."} +{"instruction": "What does `WireGuardManager.check_usbip_modules()` do?", "input": "", "output": "`check_usbip_modules()` — Check if vhci-hcd kernel module is loaded."} +{"instruction": "What does `WireGuardManager.load_usbip_modules()` do?", "input": "", "output": "`load_usbip_modules()` — Load vhci-hcd kernel module."} +{"instruction": "What does `WireGuardManager.usbip_list_remote()` do?", "input": "", "output": "`usbip_list_remote(client_ip)` — List exportable USB devices on remote host."} +{"instruction": "What does `WireGuardManager.usbip_attach()` do?", "input": "", "output": "`usbip_attach(client_ip, busid)` — Attach remote USB device via USB/IP."} +{"instruction": "What does `WireGuardManager.usbip_detach()` do?", "input": "", "output": "`usbip_detach(port)` — Detach USB/IP virtual device by port number."} +{"instruction": "What does `WireGuardManager.usbip_port_status()` do?", "input": "", "output": "`usbip_port_status()` — List imported virtual USB devices."} +{"instruction": "What does `WireGuardManager.get_usbip_status()` do?", "input": "", "output": "`get_usbip_status()` — Combined USB/IP status."} +{"instruction": "What does `WireGuardManager.refresh_upnp_mapping()` do?", "input": "", "output": "`refresh_upnp_mapping()` — Ensure port 51820/UDP is UPnP-mapped."} +{"instruction": "What does the file `core\\wireshark.py` do in AUTARCH?", "input": "", "output": "`core\\wireshark.py` — \nAUTARCH Wireshark/Packet Analysis Engine\nScapy-based packet capture and analysis with optional tshark fallback.\n\nPrimary engine: scapy (pure Python, needs libpcap for live capture)\nFallback: tshark CLI (if installed, for advanced protocol dissection)\n\n\nCategory: core\nIt contains 1 class(es) and 1 top-level function(s)."} +{"instruction": "What methods does the `WiresharkManager` class in `core\\wireshark.py` provide?", "input": "", "output": "The `WiresharkManager` class provides these methods: scapy_available, tshark_available, can_capture, get_status, list_interfaces, start_capture, stop_capture, get_capture_stats, read_pcap, get_protocol_hierarchy, extract_conversations, extract_dns_queries, extract_http_requests, extract_credentials, export_packets\n\nClass description: Packet capture and analysis using scapy + optional tshark."} +{"instruction": "What does `WiresharkManager.can_capture()` do?", "input": "", "output": "`can_capture()` — Check if live capture is possible (needs root + libpcap)."} +{"instruction": "What does `WiresharkManager.get_status()` do?", "input": "", "output": "`get_status()` — Get engine status."} +{"instruction": "What does `WiresharkManager.list_interfaces()` do?", "input": "", "output": "`list_interfaces()` — List available network interfaces."} +{"instruction": "What does `WiresharkManager.start_capture()` do?", "input": "", "output": "`start_capture(interface, bpf_filter, duration, output_file, callback)` — Start packet capture in a background thread.\n\nArgs:\n interface: Network interface (None = default)\n bpf_filter: BPF filter string (e.g., \"tcp port 80\")\n duration: Capture duration in seconds (max 300)\n output_file: Save to pcap file\n callback: Called with each packet dict for live streaming\n\nReturns:\n Status dict"} +{"instruction": "What does `WiresharkManager.stop_capture()` do?", "input": "", "output": "`stop_capture()` — Stop running capture."} +{"instruction": "What does `WiresharkManager.get_capture_stats()` do?", "input": "", "output": "`get_capture_stats()` — Get current/last capture statistics."} +{"instruction": "What does `WiresharkManager.read_pcap()` do?", "input": "", "output": "`read_pcap(filepath, max_packets)` — Read and parse a PCAP file.\n\nArgs:\n filepath: Path to pcap file\n max_packets: Maximum packets to load\n\nReturns:\n Dict with packets list and metadata"} +{"instruction": "What does `WiresharkManager.get_protocol_hierarchy()` do?", "input": "", "output": "`get_protocol_hierarchy(packets)` — Get protocol distribution from packets.\n\nReturns dict with protocol counts and percentages."} +{"instruction": "What does `WiresharkManager.extract_conversations()` do?", "input": "", "output": "`extract_conversations(packets)` — Extract IP conversations (src-dst pairs with stats)."} +{"instruction": "What does `WiresharkManager.extract_dns_queries()` do?", "input": "", "output": "`extract_dns_queries(packets)` — Extract DNS queries and responses."} +{"instruction": "What does `WiresharkManager.extract_http_requests()` do?", "input": "", "output": "`extract_http_requests(packets)` — Extract HTTP requests from packets."} +{"instruction": "What does `WiresharkManager.extract_credentials()` do?", "input": "", "output": "`extract_credentials(packets)` — Detect plaintext credentials in packets.\n\nChecks FTP, HTTP Basic Auth, Telnet, SMTP, POP3, IMAP."} +{"instruction": "What does `WiresharkManager.export_packets()` do?", "input": "", "output": "`export_packets(packets, fmt, filepath)` — Export packets to JSON or CSV.\n\nArgs:\n packets: Packet list (uses last loaded if None)\n fmt: 'json' or 'csv'\n filepath: Output path (auto-generated if None)\n\nReturns:\n Dict with success status and filepath"} +{"instruction": "What does the file `web\\routes\\analyze.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\analyze.py` — Analyze category route - file analysis, strings, hashes, log analysis, hex dump, compare.\n\nCategory: core\nIt contains 0 class(es) and 16 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\android_exploit.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\android_exploit.py` — Android Exploitation routes - App extraction, recon, payloads, boot, root.\n\nCategory: core\nIt contains 0 class(es) and 83 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\android_protect.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\android_protect.py` — Android Protection Shield routes — anti-stalkerware/spyware scanning and remediation.\n\nCategory: core\nIt contains 0 class(es) and 65 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\archon.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\archon.py` — Archon route — privileged Android device management via ArchonServer.\n\nCategory: core\nIt contains 0 class(es) and 11 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\auth_routes.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\auth_routes.py` — Auth routes - login, logout, password change\n\nCategory: core\nIt contains 0 class(es) and 4 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\chat.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\chat.py` — Chat and Agent API routes — Hal chat with Agent system for module creation.\n\nCategory: core\nIt contains 0 class(es) and 8 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\counter.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\counter.py` — Counter-intelligence category route - threat detection and login analysis endpoints.\n\nCategory: core\nIt contains 0 class(es) and 4 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\dashboard.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\dashboard.py` — Dashboard route - main landing page\n\nCategory: core\nIt contains 0 class(es) and 6 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\defense.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\defense.py` — Defense category routes — landing page, Linux defense, Windows defense, Threat Monitor.\n\nCategory: core\nIt contains 0 class(es) and 53 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\encmodules.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\encmodules.py` — Encrypted Modules — load and execute AES-encrypted Python modules.\n\nCategory: core\nIt contains 0 class(es) and 16 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\hardware.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\hardware.py` — Hardware route - ADB/Fastboot device management and ESP32 serial flashing.\n\nCategory: core\nIt contains 0 class(es) and 25 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\iphone_exploit.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\iphone_exploit.py` — iPhone Exploitation routes - Local USB device access via libimobiledevice.\n\nCategory: core\nIt contains 0 class(es) and 37 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\llm_trainer.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\llm_trainer.py` — LLM Trainer routes — dataset generation, fine-tuning, GGUF conversion.\n\nCategory: core\nIt contains 0 class(es) and 18 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\msf.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\msf.py` — MSF RPC Console page — raw console interaction and connection management.\n\nCategory: core\nIt contains 0 class(es) and 4 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\offense.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\offense.py` — Offense category route - MSF status, module search, sessions, module browsing, module execution.\n\nCategory: core\nIt contains 0 class(es) and 8 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\osint.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\osint.py` — OSINT category route - advanced search engine with SSE, dossier management, export.\n\nCategory: core\nIt contains 0 class(es) and 15 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\revshell.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\revshell.py` — Reverse Shell routes — listener management, session control, command execution.\n\nCategory: core\nIt contains 0 class(es) and 21 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\settings.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\settings.py` — Settings route\n\nCategory: core\nIt contains 1 class(es) and 21 top-level function(s)."} +{"instruction": "What methods does the `_DebugBufferHandler` class in `web\\routes\\settings.py` provide?", "input": "", "output": "The `_DebugBufferHandler` class provides these methods: emit\n\nClass description: Captures log records into the in-memory debug buffer."} +{"instruction": "What does the file `web\\routes\\simulate.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\simulate.py` — Simulate category route - password audit, port scan, banner grab, payload generation, legendary creator.\n\nCategory: core\nIt contains 0 class(es) and 7 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\targets.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\targets.py` — Targets — scope and target management for pentest engagements.\n\nCategory: core\nIt contains 0 class(es) and 12 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\upnp.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\upnp.py` — UPnP management route\n\nCategory: core\nIt contains 0 class(es) and 5 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\wireguard.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\wireguard.py` — WireGuard VPN Manager routes — server, clients, remote ADB, USB/IP.\n\nCategory: core\nIt contains 0 class(es) and 27 top-level function(s)."} +{"instruction": "What does the file `web\\routes\\wireshark.py` do in AUTARCH?", "input": "", "output": "`web\\routes\\wireshark.py` — Wireshark/Packet Analysis route - capture, PCAP analysis, protocol/DNS/HTTP/credential analysis.\n\nCategory: core\nIt contains 0 class(es) and 14 top-level function(s)."} +{"instruction": "What is the `web\\templates\\analyze.html` template for?", "input": "", "output": "The template `web\\templates\\analyze.html` renders the 'Analysis & Forensics - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\android_exploit.html` template for?", "input": "", "output": "The template `web\\templates\\android_exploit.html` renders the 'Android Exploit - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\android_protect.html` template for?", "input": "", "output": "The template `web\\templates\\android_protect.html` renders the 'Android Shield - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\archon.html` template for?", "input": "", "output": "The template `web\\templates\\archon.html` renders the 'Archon - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\base.html` template for?", "input": "", "output": "The template `web\\templates\\base.html` renders the 'AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\category.html` template for?", "input": "", "output": "The template `web\\templates\\category.html` renders the '{{ cat_name }} - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\counter.html` template for?", "input": "", "output": "The template `web\\templates\\counter.html` renders the 'Counter Intelligence - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\dashboard.html` template for?", "input": "", "output": "The template `web\\templates\\dashboard.html` renders the 'Dashboard - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\defense.html` template for?", "input": "", "output": "The template `web\\templates\\defense.html` renders the 'Defense - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\defense_linux.html` template for?", "input": "", "output": "The template `web\\templates\\defense_linux.html` renders the 'Linux Defense - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\defense_monitor.html` template for?", "input": "", "output": "The template `web\\templates\\defense_monitor.html` renders the 'Threat Monitor - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\defense_windows.html` template for?", "input": "", "output": "The template `web\\templates\\defense_windows.html` renders the 'Windows Defense - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\encmodules.html` template for?", "input": "", "output": "The template `web\\templates\\encmodules.html` renders the 'Encrypted Modules — AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\hardware.html` template for?", "input": "", "output": "The template `web\\templates\\hardware.html` renders the 'Hardware - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\hash_detection.html` template for?", "input": "", "output": "The template `web\\templates\\hash_detection.html` renders the 'Hash Toolkit - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\iphone_exploit.html` template for?", "input": "", "output": "The template `web\\templates\\iphone_exploit.html` renders the 'iPhone Exploit - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\legendary_creator.html` template for?", "input": "", "output": "The template `web\\templates\\legendary_creator.html` renders the 'Legendary Creator - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\llm_settings.html` template for?", "input": "", "output": "The template `web\\templates\\llm_settings.html` renders the 'LLM Settings - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\llm_trainer.html` template for?", "input": "", "output": "The template `web\\templates\\llm_trainer.html` renders the 'LLM Trainer - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\login.html` template for?", "input": "", "output": "The template `web\\templates\\login.html` renders the 'Login - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\manual.html` template for?", "input": "", "output": "The template `web\\templates\\manual.html` renders the 'User Manual — AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\msf.html` template for?", "input": "", "output": "The template `web\\templates\\msf.html` renders the 'MSF Console - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\offense.html` template for?", "input": "", "output": "The template `web\\templates\\offense.html` renders the 'Offense - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\osint.html` template for?", "input": "", "output": "The template `web\\templates\\osint.html` renders the 'OSINT - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\revshell.html` template for?", "input": "", "output": "The template `web\\templates\\revshell.html` renders the 'Reverse Shell — AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\settings.html` template for?", "input": "", "output": "The template `web\\templates\\settings.html` renders the 'Settings - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\simulate.html` template for?", "input": "", "output": "The template `web\\templates\\simulate.html` renders the 'Attack Simulation - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\targets.html` template for?", "input": "", "output": "The template `web\\templates\\targets.html` renders the 'Targets - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\upnp.html` template for?", "input": "", "output": "The template `web\\templates\\upnp.html` renders the 'UPnP - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\wireguard.html` template for?", "input": "", "output": "The template `web\\templates\\wireguard.html` renders the 'WireGuard - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What is the `web\\templates\\wireshark.html` template for?", "input": "", "output": "The template `web\\templates\\wireshark.html` renders the 'Wireshark - AUTARCH' page in the AUTARCH web dashboard."} +{"instruction": "What does the file `autarch.py` do in AUTARCH?", "input": "", "output": "`autarch.py` — \nAUTARCH - Autonomous Tactical Agent for Reconnaissance, Counterintelligence, and Hacking\nBy darkHal Security Group and Setec Security Labs\n\nMain entry point for the AUTARCH framework.\n\n\nCategory: core\nIt contains 0 class(es) and 13 top-level function(s)."} +{"instruction": "What is AUTARCH?", "input": "", "output": "AUTARCH (Autonomous Tactical Agent for Reconnaissance, Counterintelligence, and Hacking) is an autonomous security platform built by darkHal Security Group. It provides a web-based dashboard with modular tools for defense, offense, counter-intelligence, analysis, OSINT, and attack simulation. It features an AI agent (Hal) that can create new modules on demand."} +{"instruction": "What is the directory structure of AUTARCH?", "input": "", "output": "AUTARCH has this structure:\n- `modules/` — Plugin modules (Python), each is a standalone tool\n- `core/` — Framework internals (llm.py, agent.py, tools.py, config.py, wireshark.py)\n- `web/` — Flask web dashboard (routes/, templates/, static/)\n- `data/` — Databases, configs, JSON files\n- `models/` — LLM model files (GGUF)\n- `autarch.py` — Main entry point\n- `autarch_settings.conf` — Configuration file"} +{"instruction": "What module categories does AUTARCH support?", "input": "", "output": "AUTARCH supports 6 module categories:\n1. **defense** (Blue) — Security hardening, monitoring, firewalls\n2. **offense** (Red) — Penetration testing, exploitation\n3. **counter** (Purple) — Counter-intelligence, threat response\n4. **analyze** (Cyan) — Analysis, forensics, packet inspection\n5. **osint** (Green) — Open source intelligence gathering\n6. **simulate** (Yellow) — Attack simulation, red team exercises"} +{"instruction": "How does the AUTARCH web dashboard work?", "input": "", "output": "The web dashboard is built with Flask and uses Jinja2 templates with vanilla JavaScript. It runs on port 8181 with HTTPS. Routes are organized as Flask Blueprints in `web/routes/`. The frontend uses SSE (Server-Sent Events) for real-time streaming. The sidebar menu links to category pages (Defense, Offense, Analyze, etc.) which load their respective modules and tools."} +{"instruction": "How does the LLM system work in AUTARCH?", "input": "", "output": "AUTARCH supports multiple LLM backends:\n1. **Local GGUF** — llama-cpp-python loads .gguf models from the models/ directory\n2. **HuggingFace Transformers** — loads full models with optional 4-bit quantization\n3. **Claude API** — Anthropic's API for cloud inference\n4. **HuggingFace API** — Inference API for cloud models\n\nThe `core/llm.py` module wraps all backends with a unified interface. The AI agent (Hal) uses the local GGUF model with a tool-calling loop defined in `core/agent.py`. It can execute shell commands, read/write files, search code, and create new modules via the `create_module` tool in `core/tools.py`."} +{"instruction": "How is AUTARCH configured?", "input": "", "output": "AUTARCH uses `autarch_settings.conf` (INI format) with sections for: [llama] (GGUF model settings), [autarch] (general), [msf] (Metasploit RPC), [osint] (OSINT settings), [transformers] (HuggingFace models), [claude] (API key), [web] (dashboard host/port/secret), [wireguard] (VPN), [upnp] (port forwarding), and more. The `core/config.py` module reads and writes this file."} +{"instruction": "How many modules and core files does AUTARCH have?", "input": "", "output": "AUTARCH has 39 plugin modules in `modules/` and 33 core framework files in `core/`. Total codebase is 136 files with 73034 lines of code."} +{"instruction": "How do I create a new AUTARCH module?", "input": "", "output": "Every AUTARCH module in `modules/` must have these elements:\n\n1. **Module-level metadata**: DESCRIPTION, AUTHOR, VERSION, CATEGORY\n2. **A `run()` function** — Entry point for CLI mode\n3. **Imports**: `from core.banner import Colors` for terminal colors\n\n```python\n\"\"\"\nModule description\n\"\"\"\nimport os\nimport sys\nimport subprocess\nfrom pathlib import Path\n\nDESCRIPTION = \"What this module does\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\" # defense/offense/counter/analyze/osint/simulate\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors\n\n\nclass MyModule:\n def print_status(self, message, status=\"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def run_cmd(self, cmd, timeout=30):\n try:\n r = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout)\n return r.returncode == 0, r.stdout.strip()\n except Exception as e:\n return False, str(e)\n\n\ndef run():\n mod = MyModule()\n # Interactive menu or direct execution\n```"} +{"instruction": "Create an AUTARCH module for: Adult site username OSINT scanner", "input": "", "output": "Here's a osint module that adult site username osint scanner:\n\n```python\n\"\"\"\nAUTARCH Adult Site Scanner Module\nUsername OSINT for adult-oriented platforms\n\nSearches usernames across adult content sites, fanfiction platforms,\nand related communities.\n\"\"\"\n\nimport sys\nimport subprocess\nimport re\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nfrom concurrent.futures import ThreadPoolExecutor, as_completed\n\n# Module metadata\nDESCRIPTION = \"Adult site username OSINT scanner\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.3\"\nCATEGORY = \"osint\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\nfrom core.config import get_config\n\n# Custom sites storage file\nfrom core.paths import get_app_dir as _app_dir\nCUSTOM_SITES_FILE = _app_dir() / \"custom_adultsites.json\"\n# Bulk import file\nBULK_IMPORT_FILE = _app_dir() / \"custom_sites.inf\"\n\n# Common username URL patterns for auto-detection\nCOMMON_PATTERNS = [\n '/user/{}',\n '/users/{}',\n '/u/{}',\n '/profile/{}',\n '/profiles/{}',\n '/member/{}',\n '/members/{}',\n '/@{}',\n '/{}',\n '/people/{}',\n '/account/{}',\n '/id/{}',\n '/{}/profile',\n '/user/{}/profile',\n '/channel/{}',\n '/c/{}',\n '/p/{}',\n]\n\n\nclass AdultScanner:\n \"\"\"Username scanner for adult-oriented sites.\"\"\"\n\n # Default site definitions: (name, url_template, method)\n # method: 'status' = check HTTP status, 'content' = check page content\n DEFAULT_SITES = {\n # Fanfiction & Story Sites\n 'fanfiction': [\n ('Archive of Our Own', 'https://archiveofourown.org/users/{}/profile', 'status'),\n ('FanFiction.net', 'https://www.fanfiction.net/u/0/{}', 'content'),\n ('FimFiction', 'https://www.fimfiction.net/user/{}', 'status'),\n ('Wattpad', 'https://www.wattpad.com/user/{}', 'status'),\n ('Literotica', 'https://www.literotica.com/stories/memberpage.php?uid=0&username={}', 'content'),\n ('Adult-FanFiction', 'http://members.adult-fanfiction.org/profile.php?no=0&uname={}', 'content'),\n ('Hentai Foundry', 'https://www.hentai-foundry.com/user/{}/profile', 'status'),\n ('SoFurry', 'https://www.sofurry.com/browse/user/{}', 'status'),\n ('Inkbunny', 'https://inkbunny.net/{}', 'status'),\n ],\n\n # Art & Creative\n 'art': [\n ('DeviantArt', 'https://www.deviantart.com/{}', 'status'),\n ('Fur Affinity', 'https://www.furaffinity.net/user/{}/', 'status'),\n ('Newgrounds', 'https://{}.newgrounds.com', 'status'),\n ('Pixiv', 'https://www.pixiv.net/en/users/{}', 'content'),\n ('Rule34', 'https://rule34.xxx/index.php?page=account&s=profile&uname={}', 'content'),\n ('e621', 'https://e621.net/users?name={}', 'content'),\n ('Derpibooru', 'https://derpibooru.org/profiles/{}', 'status'),\n ('Twitter/X', 'https://twitter.com/{}', 'status'),\n ('Tumblr', 'https://{}.tumblr.com', 'status'),\n ('Pillowfort', 'https://www.\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Autonomous agent for task execution", "input": "", "output": "Here's a core module that autonomous agent for task execution:\n\n```python\n\"\"\"\nAUTARCH Agent Module\nInteractive interface for running autonomous agent tasks\n\nThis module provides an interface to give tasks to the autonomous agent\nand watch it work through them step by step.\n\"\"\"\n\nimport sys\nfrom pathlib import Path\n\n# Module metadata\nDESCRIPTION = \"Autonomous agent for task execution\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"core\"\n\n# Add parent directory to path\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.agent import Agent, AgentState, AgentStep, AgentResult\nfrom core.tools import get_tool_registry\nfrom core.llm import get_llm, LLMError\nfrom core.banner import Colors, clear_screen, display_banner\n\n\nclass AgentInterface:\n \"\"\"Interactive interface for the AUTARCH agent.\"\"\"\n\n def __init__(self):\n self.agent = None\n self.llm = get_llm()\n self.tools = get_tool_registry()\n\n def print_status(self, message: str, status: str = \"info\"):\n \"\"\"Print a status message.\"\"\"\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def print_header(self, text: str):\n \"\"\"Print a section header.\"\"\"\n print(f\"\\n{Colors.BOLD}{Colors.WHITE}{text}{Colors.RESET}\")\n print(f\"{Colors.DIM}{'─' * 50}{Colors.RESET}\")\n\n def show_tools(self):\n \"\"\"Display available tools.\"\"\"\n self.print_header(\"Available Tools\")\n\n tools = self.tools.list_tools()\n for tool in tools:\n print(f\"\\n {Colors.CYAN}{tool.name}{Colors.RESET} [{tool.category}]\")\n print(f\" {Colors.DIM}{tool.description}{Colors.RESET}\")\n if tool.parameters:\n for param in tool.parameters:\n req = \"*\" if param.required else \"\"\n print(f\" - {param.name}{req}: {param.description}\")\n\n def on_step_callback(self, step: AgentStep):\n \"\"\"Callback for when agent completes a step.\"\"\"\n print(f\"\\n{Colors.DIM}{'─' * 40}{Colors.RESET}\")\n\n def on_state_callback(self, state: AgentState):\n \"\"\"Callback for agent state changes.\"\"\"\n state_colors = {\n AgentState.IDLE: Colors.WHITE,\n AgentState.THINKING: Colors.MAGENTA,\n AgentState.EXECUTING: Colors.BLUE,\n AgentState.WAITING_USER: Colors.YELLOW,\n AgentState.COMPLETE: Colors.GREEN,\n AgentState.ERROR: Colors.RED,\n }\n color = state_colors.get(state, Colors.WHITE)\n # Only show state for key transitions\n if state in [AgentState.COMPLETE, AgentState.ERROR]:\n print(f\"{color}[State: {state.value}]{Colors.RESET}\")\n\n def run_task(self, task: str) -> AgentResult:\n \"\"\"Run a task through the agent.\n\n Args:\n task: Task description.\n\n Returns:\n AgentResult with executio\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: AI-powered security automation", "input": "", "output": "Here's a core module that ai-powered security automation:\n\n```python\n\"\"\"\nAUTARCH Agent Hal Module\nAI-powered security automation for defense and penetration testing\n\nUses LLM integration for intelligent security operations including:\n- MITM attack detection and monitoring\n- Automated Metasploit module execution via natural language\n- Network security analysis\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport re\nimport json\nimport time\nfrom pathlib import Path\nfrom datetime import datetime\nfrom typing import Dict, List, Optional, Tuple\n\n# Module metadata\nNAME = \"Agent Hal\"\nDESCRIPTION = \"AI-powered security automation\"\nAUTHOR = \"darkHal Security Group\"\nVERSION = \"2.0\"\nCATEGORY = \"core\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\nfrom core.config import get_config\nfrom core.llm import LLM, LLMError\nfrom core.pentest_tree import PentestTree, NodeStatus, PTTNodeType\nfrom core.pentest_pipeline import PentestPipeline, detect_source_type\nfrom core.pentest_session import PentestSession, PentestSessionState\n\n\nclass AgentHal:\n \"\"\"AI-powered security automation agent.\"\"\"\n\n def __init__(self):\n self.config = get_config()\n self.llm = None\n self.msf = None\n self.msf_connected = False\n self.pentest_session = None\n self.pentest_pipeline = None\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def run_cmd(self, cmd: str, timeout: int = 30) -> Tuple[bool, str]:\n \"\"\"Run a shell command and return output.\"\"\"\n try:\n result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout)\n return result.returncode == 0, result.stdout.strip()\n except subprocess.TimeoutExpired:\n return False, \"Command timed out\"\n except Exception as e:\n return False, str(e)\n\n def _ensure_llm_loaded(self) -> bool:\n \"\"\"Ensure LLM is loaded and ready.\"\"\"\n if self.llm is None:\n self.llm = LLM()\n\n if not self.llm.is_loaded:\n self.print_status(\"Loading LLM model...\", \"info\")\n try:\n self.llm.load_model(verbose=True)\n return True\n except LLMError as e:\n self.print_status(f\"Failed to load LLM: {e}\", \"error\")\n return False\n return True\n\n def _ensure_msf_connected(self) -> bool:\n \"\"\"Ensure MSF RPC is connected via the centralized interface.\"\"\"\n if self.msf is None:\n try:\n from core.msf_interface import get_msf_interface\n self.msf = get_msf_interface()\n except ImportError:\n self.print_status(\"MSF interface not available\", \"error\")\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Forensics & file analysis tools", "input": "", "output": "Here's a analyze module that forensics & file analysis tools:\n\n```python\n\"\"\"\nAUTARCH Analyze Module\nForensics and analysis tools\n\nFile analysis, hash generation, string extraction, and more.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport hashlib\nimport re\ntry:\n import magic\nexcept ImportError:\n magic = None\nfrom pathlib import Path\nfrom datetime import datetime\n\n# Module metadata\nDESCRIPTION = \"Forensics & file analysis tools\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"analyze\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\n\n\nclass Analyzer:\n \"\"\"Forensics and analysis tools.\"\"\"\n\n def __init__(self):\n pass\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def run_cmd(self, cmd: str) -> tuple:\n try:\n result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=60)\n return result.returncode == 0, result.stdout.strip()\n except:\n return False, \"\"\n\n def get_file_hashes(self, filepath: str) -> dict:\n \"\"\"Calculate various hashes for a file.\"\"\"\n p = Path(filepath)\n if not p.exists() or not p.is_file():\n return {}\n\n hashes = {}\n with open(p, 'rb') as f:\n content = f.read()\n hashes['md5'] = hashlib.md5(content).hexdigest()\n hashes['sha1'] = hashlib.sha1(content).hexdigest()\n hashes['sha256'] = hashlib.sha256(content).hexdigest()\n\n return hashes\n\n def analyze_file(self):\n \"\"\"Comprehensive file analysis.\"\"\"\n print(f\"\\n{Colors.BOLD}File Analysis{Colors.RESET}\")\n filepath = input(f\"{Colors.WHITE}Enter file path: {Colors.RESET}\").strip()\n\n if not filepath:\n return\n\n p = Path(filepath).expanduser()\n if not p.exists():\n self.print_status(f\"File not found: {filepath}\", \"error\")\n return\n\n print(f\"\\n{Colors.CYAN}{'─' * 50}{Colors.RESET}\")\n print(f\"{Colors.BOLD}File: {p.name}{Colors.RESET}\")\n print(f\"{Colors.CYAN}{'─' * 50}{Colors.RESET}\\n\")\n\n # Basic info\n stat = p.stat()\n print(f\"{Colors.CYAN}Basic Info:{Colors.RESET}\")\n print(f\" Path: {p.absolute()}\")\n print(f\" Size: {stat.st_size:,} bytes\")\n print(f\" Modified: {datetime.fromtimestamp(stat.st_mtime)}\")\n print(f\" Created: {datetime.fromtimestamp(stat.st_ctime)}\")\n print(f\" Mode: {oct(stat.st_mode)}\")\n\n # File type\n print(f\"\\n{Colors.CYAN}File Type:{Colors.RESET}\")\n try:\n file_magic = magic.Magic(mime=True)\n mime_type = file_magic.from_file(str(p))\n print(f\" MIME: {mime_type}\")\n\n file\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android advanced exploits (network, apps, system, data extraction)", "input": "", "output": "Here's a offense module that android advanced exploits (network, apps, system, data extraction):\n\n```python\n\"\"\"\nAndroid Advanced Exploits - Network, app manipulation, system control, data exfil\n\"\"\"\n\nDESCRIPTION = \"Android advanced exploits (network, apps, system, data extraction)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidAdvanced:\n \"\"\"Interactive menu for advanced Android exploits.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n print(f\" Selected: {self.serial}\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n print(f\" {i}) {d['serial']} {d.get('model','')}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*60}\")\n print(\" Advanced Android Exploits\")\n print(f\"{'='*60}\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" ── Data Exfiltration ──\")\n print(\" [1] Clipboard Content\")\n print(\" [2] Notifications\")\n print(\" [3] Location Data\")\n print(\" [4] List Media Files\")\n print(\" [5] Pull Media Folder\")\n print(\" [6] WhatsApp DB [ROOT]\")\n print(\" [7] Telegram DB [ROOT]\")\n print(\" [8] Signal DB [ROOT]\")\n print(\" [9] Dump Settings (all)\")\n print(\" [10] Device Fingerprint\")\n print(\" [11] Dump Any Database [ROOT]\")\n print()\n print(\" ── Network ──\")\n print(\" [20] Network Info\")\n print(\" [21] Set Proxy (MITM)\")\n print(\" [22] Clear Proxy\")\n print(\" [23] Set DNS [ROOT]\")\n print(\" [24] WiFi Scan\")\n print(\" [25] WiFi Connect\")\n print(\" [26] WiFi On/Off\")\n print(\" [27] Enable Hotspot\")\n print(\" [28] Capture Traffic [ROOT]\")\n print(\" [29] Port Forward\")\n print(\" [30] ADB over WiFi\")\n print()\n print(\" ── App Manipulation ──\")\n print(\" [40] Grant Permission\")\n print(\" [41] Revoke Permission\")\n print(\" [42] List App Permissions\")\n print(\" [43] Disable App\")\n print(\" [44] Enable App\")\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android app extraction (APK pull, app data, shared prefs)", "input": "", "output": "Here's a hardware module that android app extraction (apk pull, app data, shared prefs):\n\n```python\n\"\"\"\nAndroid App Extraction - Pull APKs, app data, shared preferences\n\"\"\"\n\nDESCRIPTION = \"Android app extraction (APK pull, app data, shared prefs)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"hardware\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidApps:\n \"\"\"Interactive menu for Android app extraction.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n print(f\" Selected: {self.serial}\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n model = d.get('model', '')\n print(f\" {i}) {d['serial']} {model}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*50}\")\n print(\" App Extraction\")\n print(f\"{'='*50}\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" [1] List Packages\")\n print(\" [2] Pull APK\")\n print(\" [3] Pull App Data (root/debuggable)\")\n print(\" [4] Extract Shared Prefs\")\n print(\" [s] Select Device\")\n print(\" [0] Back\")\n print()\n\n def list_packages(self):\n if not self._ensure_device():\n return\n try:\n inc = input(\" Include system apps? [y/N]: \").strip().lower() == 'y'\n except (EOFError, KeyboardInterrupt):\n return\n result = self.mgr.list_packages(self.serial, include_system=inc)\n if 'error' in result:\n print(f\" Error: {result['error']}\")\n return\n print(f\"\\n Found {result['count']} packages:\")\n for pkg in result['packages']:\n flag = ' [SYS]' if pkg['is_system'] else ''\n print(f\" {pkg['package']}{flag}\")\n print(f\" {pkg['path']}\")\n\n def pull_apk(self):\n if not self._ensure_device():\n return\n try:\n package = input(\" Package name: \").strip()\n except (EOFError, KeyboardInterrupt):\n return\n if not package:\n return\n print(f\" Pulling APK for {package}...\")\n result = self.mgr.pull_apk(self.serial, package)\n if result['success']:\n size_mb = result[\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android boot/recovery exploits (flash, unlock, verity bypass)", "input": "", "output": "Here's a offense module that android boot/recovery exploits (flash, unlock, verity bypass):\n\n```python\n\"\"\"\nAndroid Boot / Recovery Exploit - Bootloader unlock, flash, dm-verity\n\"\"\"\n\nDESCRIPTION = \"Android boot/recovery exploits (flash, unlock, verity bypass)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidBoot:\n \"\"\"Interactive menu for boot/recovery operations.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n \"\"\"Select from fastboot devices (boot ops need fastboot mostly).\"\"\"\n fb_devices = self.hw.fastboot_devices()\n adb_devices = self.hw.adb_devices()\n all_devs = []\n for d in fb_devices:\n all_devs.append({'serial': d['serial'], 'mode': 'fastboot'})\n for d in adb_devices:\n all_devs.append({'serial': d['serial'], 'mode': 'adb'})\n if not all_devs:\n print(\" No devices found (ADB or fastboot).\")\n return\n if len(all_devs) == 1:\n self.serial = all_devs[0]['serial']\n print(f\" Selected: {self.serial} ({all_devs[0]['mode']})\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(all_devs, 1):\n print(f\" {i}) {d['serial']} [{d['mode']}]\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(all_devs):\n self.serial = all_devs[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*50}\")\n print(\" Boot / Recovery Exploit\")\n print(f\"{'='*50}\")\n print(\" !! WARNING: Can BRICK device / WIPE data !!\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" [1] Bootloader Info\")\n print(\" [2] Backup Boot Image\")\n print(\" [3] Unlock Bootloader [WIPES DATA]\")\n print(\" [4] Flash Custom Recovery\")\n print(\" [5] Flash Boot Image\")\n print(\" [6] Disable dm-verity/AVB\")\n print(\" [7] Temp Boot (no flash)\")\n print(\" [s] Select Device\")\n print(\" [0] Back\")\n print()\n\n def bootloader_info(self):\n if not self._ensure_device():\n return\n print(\" Querying bootloader...\")\n info = self.mgr.get_bootloader_info(self.serial)\n if not info:\n print(\" No info returned (device might not be in fastboot mode).\")\n return\n print(f\"\\n Bootloader Variables:\")\n for k, v in info.items():\n print(f\" {k:<25} {v}\")\n\n def backup_boot(self):\n if not self._ensure_device():\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android payload deployment (binaries, reverse shells, persistence)", "input": "", "output": "Here's a offense module that android payload deployment (binaries, reverse shells, persistence):\n\n```python\n\"\"\"\nAndroid Payload Deployment - Deploy binaries, reverse shells, persistence\n\"\"\"\n\nDESCRIPTION = \"Android payload deployment (binaries, reverse shells, persistence)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidPayload:\n \"\"\"Interactive menu for Android payload deployment.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n print(f\" Selected: {self.serial}\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n model = d.get('model', '')\n print(f\" {i}) {d['serial']} {model}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*50}\")\n print(\" Payload Deployment\")\n print(f\"{'='*50}\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" [1] Deploy Binary\")\n print(\" [2] Execute Payload\")\n print(\" [3] Setup Reverse Shell\")\n print(\" [4] Install Persistence [ROOT]\")\n print(\" [5] List Running Payloads\")\n print(\" [6] Kill Payload\")\n print(\" [s] Select Device\")\n print(\" [0] Back\")\n print()\n\n def deploy_binary(self):\n if not self._ensure_device():\n return\n try:\n local = input(\" Local binary path: \").strip()\n remote = input(\" Remote path [/data/local/tmp/]: \").strip() or '/data/local/tmp/'\n except (EOFError, KeyboardInterrupt):\n return\n if not local:\n return\n print(\" Deploying...\")\n result = self.mgr.deploy_binary(self.serial, local, remote)\n if result['success']:\n print(f\" Deployed to: {result['remote_path']}\")\n else:\n print(f\" Error: {result['error']}\")\n\n def execute_payload(self):\n if not self._ensure_device():\n return\n try:\n remote = input(\" Remote path: \").strip()\n args = input(\" Arguments []: \").strip()\n bg = input(\" Background? [Y/n]: \").strip().lower() != 'n'\n except (EOFError, KeyboardInterrupt):\n return\n if n\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android anti-stalkerware/spyware shield", "input": "", "output": "Here's a defense module that android anti-stalkerware/spyware shield:\n\n```python\n\"\"\"\nAndroid Protection Shield - Anti-stalkerware & anti-spyware defense\nDetect, analyze, and remove stalkerware and government-grade spyware from Android devices.\n\"\"\"\n\nDESCRIPTION = \"Android anti-stalkerware/spyware shield\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\"\n\n\nclass AndroidProtect:\n \"\"\"Interactive Android protection menu.\"\"\"\n\n def __init__(self):\n from core.android_protect import get_android_protect_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_android_protect_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _pick_device(self):\n \"\"\"Select an ADB device.\"\"\"\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return None\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n return self.serial\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n model = d.get('model', '')\n print(f\" {i}) {d['serial']} {model}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n return self.serial\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n return None\n\n def _ensure_device(self):\n \"\"\"Ensure we have a selected device.\"\"\"\n if self.serial:\n return self.serial\n return self._pick_device()\n\n def _print_severity(self, sev):\n \"\"\"Color indicator for severity.\"\"\"\n markers = {\n 'critical': '[!!!]',\n 'high': '[!! ]',\n 'medium': '[! ]',\n 'low': '[ ]',\n }\n return markers.get(sev, '[? ]')\n\n def show_menu(self):\n status = self.hw.get_status()\n serial_str = self.serial or 'None selected'\n\n # Shizuku/Shield info\n shizuku_str = 'N/A'\n shield_str = 'N/A'\n if self.serial:\n try:\n sz = self.mgr.check_shizuku(self.serial)\n if sz['installed']:\n shizuku_str = f\"{'Running' if sz['running'] else 'Stopped'}\"\n if sz['version']:\n shizuku_str += f\" v{sz['version']}\"\n else:\n shizuku_str = 'Not installed'\n sh = self.mgr.check_shield_app(self.serial)\n shield_str = f\"v{sh['version']}\" if sh['installed'] else 'Not installed'\n except Exception:\n pass\n\n sig_stats = self.mgr.get_signature_stats()\n\n print(f\"\\n{'='*60}\")\n print(\" Android Protection Shield\")\n print(f\"{'='*60}\")\n print(f\" ADB: {'Available' if status['adb'] else 'Not found'}\")\n print(f\" Device: {serial_str}\")\n print(f\" Shizuku: {shizuku_str} | Shield: {shield_str}\")\n print(f\" DB: {sig_stats['stalkerwar\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android device reconnaissance (data extraction, accounts, logs)", "input": "", "output": "Here's a offense module that android device reconnaissance (data extraction, accounts, logs):\n\n```python\n\"\"\"\nAndroid Device Reconnaissance - Extract device data, accounts, messages, history\n\"\"\"\n\nDESCRIPTION = \"Android device reconnaissance (data extraction, accounts, logs)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidRecon:\n \"\"\"Interactive menu for Android device reconnaissance.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n print(f\" Selected: {self.serial}\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n model = d.get('model', '')\n print(f\" {i}) {d['serial']} {model}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*50}\")\n print(\" Device Reconnaissance\")\n print(f\"{'='*50}\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" [1] Full Device Dump\")\n print(\" [2] Installed Accounts\")\n print(\" [3] WiFi Passwords [ROOT]\")\n print(\" [4] Call Logs\")\n print(\" [5] SMS Messages\")\n print(\" [6] Contacts\")\n print(\" [7] Browser History [ROOT]\")\n print(\" [8] Saved Credentials [ROOT]\")\n print(\" [9] Export Full Report\")\n print(\" [s] Select Device\")\n print(\" [0] Back\")\n print()\n\n def device_dump(self):\n if not self._ensure_device():\n return\n print(\" Running full device dump...\")\n dump = self.mgr.full_device_dump(self.serial)\n print(f\"\\n SELinux: {dump.get('selinux', 'unknown')}\")\n print(f\" Kernel: {dump.get('kernel', 'unknown')}\")\n print(f\" Fingerprint: {dump.get('fingerprint', 'unknown')}\")\n print(f\" Packages: {dump.get('package_count', '?')}\")\n info = dump.get('device_info', {})\n if info:\n print(f\"\\n Device Info:\")\n for k, v in info.items():\n print(f\" {k:<20} {v}\")\n\n def accounts(self):\n if not self._ensure_device():\n return\n result = self.mgr.get_accounts(self.serial)\n if not result['success']:\n print(f\" Error: {result.get('\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android root methods (Magisk, exploits, root detection)", "input": "", "output": "Here's a offense module that android root methods (magisk, exploits, root detection):\n\n```python\n\"\"\"\nAndroid Root Methods - Root detection, Magisk install, exploit-based rooting\n\"\"\"\n\nDESCRIPTION = \"Android root methods (Magisk, exploits, root detection)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidRoot:\n \"\"\"Interactive menu for Android rooting operations.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n print(f\" Selected: {self.serial}\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n model = d.get('model', '')\n print(f\" {i}) {d['serial']} {model}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*50}\")\n print(\" Root Methods\")\n print(f\"{'='*50}\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" [1] Check Root Status\")\n print(\" [2] Install Magisk APK\")\n print(\" [3] Pull Patched Boot Image\")\n print(\" [4] Root via Exploit\")\n print(\" [5] ADB Root Shell (debug builds)\")\n print(\" [s] Select Device\")\n print(\" [0] Back\")\n print()\n\n def check_root(self):\n if not self._ensure_device():\n return\n print(\" Checking root status...\")\n result = self.mgr.check_root(self.serial)\n print(f\"\\n Rooted: {'YES' if result['rooted'] else 'NO'}\")\n if result['method']:\n print(f\" Method: {result['method']}\")\n if result['version']:\n print(f\" Version: {result['version']}\")\n details = result.get('details', {})\n if details:\n print(f\" Details:\")\n for k, v in details.items():\n print(f\" {k}: {v}\")\n\n def install_magisk(self):\n if not self._ensure_device():\n return\n try:\n apk = input(\" Magisk APK path: \").strip()\n except (EOFError, KeyboardInterrupt):\n return\n if not apk:\n return\n print(\" Installing Magisk APK...\")\n result = self.mgr.install_magisk(self.serial, apk)\n if result['success']:\n print(\" Magisk installed s\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android screen capture, input injection, keylogger, camera/audio", "input": "", "output": "Here's a offense module that android screen capture, input injection, keylogger, camera/audio:\n\n```python\n\"\"\"\nAndroid Screen & Input Control - Screenshots, recording, input injection, keylogger\n\"\"\"\n\nDESCRIPTION = \"Android screen capture, input injection, keylogger, camera/audio\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidScreen:\n \"\"\"Interactive menu for screen/input/capture operations.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n print(f\" Selected: {self.serial}\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n print(f\" {i}) {d['serial']} {d.get('model','')}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*55}\")\n print(\" Screen & Input Control\")\n print(f\"{'='*55}\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" ── Capture ──\")\n print(\" [1] Screenshot\")\n print(\" [2] Screen Record\")\n print(\" [3] Camera Photo\")\n print(\" [4] Audio Record\")\n print()\n print(\" ── Input Injection ──\")\n print(\" [5] Tap Coordinates\")\n print(\" [6] Swipe\")\n print(\" [7] Type Text\")\n print(\" [8] Send Key Event\")\n print(\" [9] Wake / Dismiss Lockscreen\")\n print(\" [10] Disable Lockscreen\")\n print()\n print(\" ── Keylogger ──\")\n print(\" [11] Start Keylogger\")\n print(\" [12] Stop & Pull Keylog\")\n print()\n print(\" [s] Select Device\")\n print(\" [0] Back\")\n print()\n\n def screenshot(self):\n if not self._ensure_device(): return\n print(\" Capturing screenshot...\")\n r = self.mgr.screen_capture(self.serial)\n if r['success']:\n print(f\" Saved: {r['path']} ({r['size']} bytes)\")\n else:\n print(f\" Error: {r.get('error')}\")\n\n def screen_record(self):\n if not self._ensure_device(): return\n try:\n dur = input(\" Duration in seconds [10]: \").strip()\n dur = int(dur) if dur else 10\n except (ValueError, EOFError, KeyboardInterrupt):\n return\n print(f\" Recordin\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Android SMS/RCS manipulation (add, remove, spoof dates, RCS inject)", "input": "", "output": "Here's a offense module that android sms/rcs manipulation (add, remove, spoof dates, rcs inject):\n\n```python\n\"\"\"\nAndroid SMS/RCS Manipulation - Insert, delete, spoof messages with custom timestamps\n\"\"\"\n\nDESCRIPTION = \"Android SMS/RCS manipulation (add, remove, spoof dates, RCS inject)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass AndroidSms:\n \"\"\"Interactive menu for SMS/RCS manipulation.\"\"\"\n\n def __init__(self):\n from core.android_exploit import get_exploit_manager\n from core.hardware import get_hardware_manager\n self.mgr = get_exploit_manager()\n self.hw = get_hardware_manager()\n self.serial = None\n\n def _select_device(self):\n devices = self.hw.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n if len(devices) == 1:\n self.serial = devices[0]['serial']\n print(f\" Selected: {self.serial}\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n model = d.get('model', '')\n print(f\" {i}) {d['serial']} {model}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.serial = devices[choice - 1]['serial']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.serial:\n self._select_device()\n return self.serial is not None\n\n def show_menu(self):\n print(f\"\\n{'='*55}\")\n print(\" SMS / RCS Manipulation\")\n print(f\"{'='*55}\")\n print(f\" Device: {self.serial or '(none)'}\")\n print()\n print(\" ── SMS (content provider) ──\")\n print(\" [1] List SMS Messages\")\n print(\" [2] Insert SMS (spoofed)\")\n print(\" [3] Insert Batch SMS\")\n print(\" [4] Edit SMS\")\n print(\" [5] Delete SMS by ID\")\n print(\" [6] Delete SMS by Number\")\n print(\" [7] Delete ALL SMS\")\n print()\n print(\" ── RCS (Google Messages) ── [ROOT]\")\n print(\" [8] Check RCS Support\")\n print(\" [9] List RCS Messages\")\n print(\" [a] Insert RCS Message (spoofed)\")\n print(\" [b] Delete RCS Message\")\n print()\n print(\" [s] Select Device\")\n print(\" [0] Back\")\n print()\n\n def list_sms(self):\n if not self._ensure_device():\n return\n try:\n addr = input(\" Filter by number (Enter for all): \").strip() or None\n limit = input(\" Limit [50]: \").strip()\n limit = int(limit) if limit else 50\n except (EOFError, KeyboardInterrupt, ValueError):\n return\n result = self.mgr.sms_list(self.serial, limit=limit, address=addr)\n if not result['success']:\n print(f\" Error: {result.get('error', 'Failed')}\")\n return\n print(f\"\\n Found {result['count']} messages:\")\n print(f\" {'ID\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Interactive chat with the LLM", "input": "", "output": "Here's a core module that interactive chat with the llm:\n\n```python\n\"\"\"\nAUTARCH Chat Module\nInteractive chat interface for the LLM\n\nThis module provides a command-line chat interface to interact with the loaded model.\n\"\"\"\n\nimport sys\nfrom pathlib import Path\n\n# Module metadata\nDESCRIPTION = \"Interactive chat with the LLM\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"core\"\n\n# Add parent directory to path\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.llm import get_llm, LLMError\nfrom core.banner import Colors, clear_screen, display_banner\n\n\nclass ChatInterface:\n \"\"\"Interactive chat interface for AUTARCH LLM.\"\"\"\n\n COMMANDS = {\n '/help': 'Show available commands',\n '/clear': 'Clear conversation history',\n '/history': 'Show conversation history',\n '/info': 'Show model information',\n '/system': 'Set system prompt (e.g., /system You are a helpful assistant)',\n '/temp': 'Set temperature (e.g., /temp 0.8)',\n '/tokens': 'Set max tokens (e.g., /tokens 1024)',\n '/stream': 'Toggle streaming mode',\n '/exit': 'Exit chat',\n }\n\n def __init__(self):\n self.llm = get_llm()\n self.system_prompt = \"You are AUTARCH, an AI assistant created by darkHal and Setec Security Labs. You are helpful, knowledgeable, and direct in your responses.\"\n self.streaming = True\n self.temp_override = None\n self.tokens_override = None\n\n def print_status(self, message: str, status: str = \"info\"):\n \"\"\"Print a status message.\"\"\"\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def print_help(self):\n \"\"\"Display available commands.\"\"\"\n print(f\"\\n{Colors.BOLD}{Colors.WHITE}Available Commands:{Colors.RESET}\")\n print(f\"{Colors.DIM}{'─' * 50}{Colors.RESET}\")\n for cmd, desc in self.COMMANDS.items():\n print(f\" {Colors.CYAN}{cmd:12}{Colors.RESET} {desc}\")\n print()\n\n def print_history(self):\n \"\"\"Display conversation history.\"\"\"\n history = self.llm.get_history()\n if not history:\n self.print_status(\"No conversation history\", \"info\")\n return\n\n print(f\"\\n{Colors.BOLD}{Colors.WHITE}Conversation History:{Colors.RESET}\")\n print(f\"{Colors.DIM}{'─' * 50}{Colors.RESET}\")\n\n for msg in history:\n role = msg['role']\n content = msg['content']\n\n if role == 'system':\n print(f\"\\n{Colors.MAGENTA}[System]{Colors.RESET}\")\n print(f\" {Colors.DIM}{content[:100]}...{Colors.RESET}\" if len(content) > 100 else f\" {Colors.DIM}{content}{Colors.RESET}\")\n elif role == 'user':\n print(f\"\\n{Colors.GREEN}[You]{Colors.RESET}\")\n print(f\" {content}\")\n elif role == 'assistant':\n prin\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Threat detection & incident response", "input": "", "output": "Here's a counter module that threat detection & incident response:\n\n```python\n\"\"\"\nAUTARCH Counter Module\nThreat detection and incident response\n\nMonitors system for suspicious activity and potential threats.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport re\nimport socket\nimport json\nimport time\nfrom pathlib import Path\nfrom datetime import datetime, timedelta\nfrom collections import Counter\nfrom dataclasses import dataclass\nfrom typing import Dict, List, Optional, Any\n\n# Module metadata\nDESCRIPTION = \"Threat detection & incident response\"\nAUTHOR = \"darkHal\"\nVERSION = \"2.0\"\nCATEGORY = \"counter\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\n\n# Try to import requests for GeoIP lookup\ntry:\n import requests\n REQUESTS_AVAILABLE = True\nexcept ImportError:\n requests = None\n REQUESTS_AVAILABLE = False\n\n\n@dataclass\nclass LoginAttempt:\n \"\"\"Information about a login attempt from an IP.\"\"\"\n ip: str\n count: int\n last_attempt: Optional[datetime] = None\n usernames: List[str] = None\n hostname: Optional[str] = None\n country: Optional[str] = None\n city: Optional[str] = None\n isp: Optional[str] = None\n geo_data: Optional[Dict] = None\n\n def __post_init__(self):\n if self.usernames is None:\n self.usernames = []\n\n\n# Metasploit recon modules for IP investigation\nMSF_RECON_MODULES = [\n {\n 'name': 'TCP Port Scan',\n 'module': 'auxiliary/scanner/portscan/tcp',\n 'description': 'TCP port scanner - scans common ports',\n 'options': {'PORTS': '21-23,25,53,80,110,111,135,139,143,443,445,993,995,1723,3306,3389,5900,8080'}\n },\n {\n 'name': 'SYN Port Scan',\n 'module': 'auxiliary/scanner/portscan/syn',\n 'description': 'SYN stealth port scanner (requires root)',\n 'options': {'PORTS': '21-23,25,53,80,110,139,143,443,445,3306,3389,5900,8080'}\n },\n {\n 'name': 'SSH Version Scanner',\n 'module': 'auxiliary/scanner/ssh/ssh_version',\n 'description': 'Detect SSH version and supported algorithms',\n 'options': {}\n },\n {\n 'name': 'SSH Login Check',\n 'module': 'auxiliary/scanner/ssh/ssh_login',\n 'description': 'Brute force SSH login (requires wordlists)',\n 'options': {}\n },\n {\n 'name': 'SMB Version Scanner',\n 'module': 'auxiliary/scanner/smb/smb_version',\n 'description': 'Detect SMB version and OS information',\n 'options': {}\n },\n {\n 'name': 'SMB Share Enumeration',\n 'module': 'auxiliary/scanner/smb/smb_enumshares',\n 'description': 'Enumerate available SMB shares',\n 'options': {}\n },\n {\n 'name': 'HTTP Version Scanner',\n 'module': 'auxiliary/scanner/http/http_version',\n 'description': 'Detect HTTP server version',\n 'options': {}\n },\n {\n 'name': 'FTP Version Scanner',\n 'module': 'auxiliary/scanner/ftp/ftp_version',\n 'description': 'Detect FTP server version',\n 'options': {}\n }\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: System hardening & security checks", "input": "", "output": "Here's a defense module that system hardening & security checks:\n\n```python\n\"\"\"\nAUTARCH Defender Module\nSystem hardening and security posture assessment\n\nChecks system configuration for security best practices.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport socket\nimport re\nimport time\nimport json\nimport threading\nfrom pathlib import Path\nfrom datetime import datetime\n\n# Module metadata\nDESCRIPTION = \"System hardening & security checks\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\n\n\nclass Defender:\n \"\"\"System security checker.\"\"\"\n\n def __init__(self):\n self.results = []\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def check(self, name: str, passed: bool, details: str = \"\"):\n \"\"\"Record a check result.\"\"\"\n self.results.append({\"name\": name, \"passed\": passed, \"details\": details})\n status = \"success\" if passed else \"warning\"\n self.print_status(f\"{name}: {'PASS' if passed else 'FAIL'}\", status)\n if details and not passed:\n print(f\" {Colors.DIM}{details}{Colors.RESET}\")\n\n def run_cmd(self, cmd: str) -> tuple:\n \"\"\"Run command and return (success, output).\"\"\"\n try:\n result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=10)\n return result.returncode == 0, result.stdout.strip()\n except:\n return False, \"\"\n\n def check_firewall(self):\n \"\"\"Check if firewall is enabled.\"\"\"\n # Check iptables\n success, output = self.run_cmd(\"iptables -L -n 2>/dev/null | head -20\")\n if success and \"Chain\" in output:\n rules = output.count(\"\\n\")\n self.check(\"Firewall (iptables)\", rules > 5, f\"Found {rules} rules\")\n return\n\n # Check ufw\n success, output = self.run_cmd(\"ufw status 2>/dev/null\")\n if success and \"active\" in output.lower():\n self.check(\"Firewall (ufw)\", True)\n return\n\n # Check firewalld\n success, output = self.run_cmd(\"firewall-cmd --state 2>/dev/null\")\n if success and \"running\" in output.lower():\n self.check(\"Firewall (firewalld)\", True)\n return\n\n self.check(\"Firewall\", False, \"No active firewall detected\")\n\n def check_ssh_config(self):\n \"\"\"Check SSH hardening.\"\"\"\n ssh_config = Path(\"/etc/ssh/sshd_config\")\n if not ssh_config.exists():\n self.check(\"SSH Config\", True, \"SSH not installed\")\n return\n\n content = ssh_config.read_text()\n\n # Check root login\n if \"PermitRootLogin no\" in content or \"PermitRootLogin prohibit-password\" in content:\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Real-time threat detection & counter-attack", "input": "", "output": "Here's a defense module that real-time threat detection & counter-attack:\n\n```python\n\"\"\"\nAUTARCH Threat Monitor Module\nReal-time threat detection, monitoring, and counter-attack\n\nCross-platform network monitoring with active response capabilities.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport re\nimport json\nimport time\nimport platform\nimport urllib.request\nfrom pathlib import Path\nfrom datetime import datetime\nfrom collections import defaultdict\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\n# Module metadata\nDESCRIPTION = \"Real-time threat detection & counter-attack\"\nAUTHOR = \"darkHal\"\nVERSION = \"2.0\"\nCATEGORY = \"defense\"\n\n_is_win = platform.system() == 'Windows'\n\n\nclass ThreatMonitor:\n \"\"\"Cross-platform real-time threat monitoring.\"\"\"\n\n def __init__(self):\n self._data_dir = Path(__file__).parent.parent / 'data'\n self._blocklist_path = self._data_dir / 'blocklist.json'\n self._ddos_config_path = self._data_dir / 'ddos_config.json'\n self._mitigation_log_path = self._data_dir / 'mitigation_log.json'\n\n # In-memory state for tracking\n self._prev_bandwidth = {}\n self._prev_listening_ports = set()\n self._prev_listening_initialized = False\n self._connection_rate_history = []\n self._arp_table_cache = {}\n self._geoip_cache = {}\n\n def run_cmd(self, cmd: str, timeout=15) -> tuple:\n \"\"\"Run command and return (success, output).\"\"\"\n try:\n result = subprocess.run(cmd, shell=True, capture_output=True,\n text=True, timeout=timeout)\n return result.returncode == 0, result.stdout.strip()\n except Exception:\n return False, \"\"\n\n def run_ps(self, ps_command: str, timeout=15) -> tuple:\n \"\"\"Run a PowerShell command (Windows only).\"\"\"\n cmd = f'powershell -NoProfile -ExecutionPolicy Bypass -Command \"{ps_command}\"'\n return self.run_cmd(cmd, timeout=timeout)\n\n # ==================== MONITORING ====================\n\n def get_connections(self):\n \"\"\"Get active network connections with process info.\"\"\"\n connections = []\n\n if _is_win:\n success, output = self.run_ps(\n \"Get-NetTCPConnection -ErrorAction SilentlyContinue | \"\n \"Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess | \"\n \"ConvertTo-Json -Depth 2\"\n )\n if success and output.strip():\n try:\n data = json.loads(output)\n if isinstance(data, dict):\n data = [data]\n for c in data:\n pid = c.get('OwningProcess', 0)\n proc_name = self._get_process_name_win(pid)\n connections.append({\n 'local_addr': c.get('LocalAddress', ''),\n 'local_port': c.get('LocalPort', 0),\n 'remote_addr': c.get('RemoteAddress', ''),\n '\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Windows system hardening & security checks", "input": "", "output": "Here's a defense module that windows system hardening & security checks:\n\n```python\n\"\"\"\nAUTARCH Windows Defender Module\nWindows-native security posture assessment\n\nChecks Windows system configuration for security best practices.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport re\nimport json\nfrom pathlib import Path\nfrom datetime import datetime\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\n# Module metadata\nDESCRIPTION = \"Windows system hardening & security checks\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\"\n\n\nclass WindowsDefender:\n \"\"\"Windows security checker.\"\"\"\n\n def __init__(self):\n self.results = []\n\n def check(self, name: str, passed: bool, details: str = \"\"):\n \"\"\"Record a check result.\"\"\"\n self.results.append({\"name\": name, \"passed\": passed, \"details\": details})\n\n def run_cmd(self, cmd: str, timeout=15) -> tuple:\n \"\"\"Run command and return (success, output).\"\"\"\n try:\n result = subprocess.run(cmd, shell=True, capture_output=True,\n text=True, timeout=timeout)\n return result.returncode == 0, result.stdout.strip()\n except Exception:\n return False, \"\"\n\n def run_ps(self, ps_command: str, timeout=15) -> tuple:\n \"\"\"Run a PowerShell command and return (success, output).\"\"\"\n cmd = f'powershell -NoProfile -ExecutionPolicy Bypass -Command \"{ps_command}\"'\n return self.run_cmd(cmd, timeout=timeout)\n\n # ==================== SECURITY CHECKS ====================\n\n def check_firewall(self):\n \"\"\"Check Windows Firewall status for all profiles.\"\"\"\n success, output = self.run_cmd(\"netsh advfirewall show allprofiles state\")\n if success:\n profiles_on = output.lower().count(\"on\")\n profiles_off = output.lower().count(\"off\")\n if profiles_off > 0:\n self.check(\"Windows Firewall\", False,\n f\"{profiles_off} profile(s) disabled\")\n else:\n self.check(\"Windows Firewall\", True,\n f\"All {profiles_on} profiles enabled\")\n else:\n self.check(\"Windows Firewall\", False, \"Could not query firewall state\")\n\n def check_ssh_config(self):\n \"\"\"Check Windows OpenSSH configuration.\"\"\"\n success, output = self.run_ps(\n \"Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*' \"\n \"| Select-Object -ExpandProperty State\"\n )\n if not success or \"Installed\" not in output:\n self.check(\"SSH Config\", True, \"OpenSSH Server not installed (good)\")\n return\n\n sshd_config = Path(os.environ.get('ProgramData', 'C:\\\\ProgramData')) / 'ssh' / 'sshd_config'\n if not sshd_config.exists():\n self.check(\"SSH Config\", False, \"OpenSSH installed but sshd_config not found\")\n return\n\n content = sshd_config.read_text(errors='ignore')\n\n if \"PermitRootLogin no\" in content or \"PermitRootLogin prohibit-password\" in content:\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Manage OSINT investigation dossiers", "input": "", "output": "Here's a osint module that manage osint investigation dossiers:\n\n```python\n\"\"\"\nAUTARCH Dossier Module\nManage and correlate OSINT investigation data\n\nCreate dossiers to associate related OSINT findings like email searches,\nusername scans, phone lookups, and custom notes.\n\"\"\"\n\nimport os\nimport sys\nimport json\nimport glob\nfrom pathlib import Path\nfrom datetime import datetime\nfrom typing import Dict, List, Optional\n\n# Module metadata\nNAME = \"Dossier\"\nDESCRIPTION = \"Manage OSINT investigation dossiers\"\nAUTHOR = \"darkHal Security Group\"\nVERSION = \"1.0\"\nCATEGORY = \"osint\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\n\n\nclass DossierManager:\n \"\"\"Manage OSINT investigation dossiers.\"\"\"\n\n def __init__(self):\n from core.paths import get_dossiers_dir\n self.dossier_dir = get_dossiers_dir()\n self.dossier_dir.mkdir(exist_ok=True)\n self.current_dossier = None\n self.current_dossier_path = None\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n # ==================== DOSSIER OPERATIONS ====================\n\n def _generate_dossier_id(self, name: str) -> str:\n \"\"\"Generate a unique dossier ID from name.\"\"\"\n # Sanitize name for filename\n safe_name = \"\".join(c if c.isalnum() or c in \"-_\" else \"_\" for c in name.lower())\n timestamp = datetime.now().strftime(\"%Y%m%d_%H%M%S\")\n return f\"{safe_name}_{timestamp}\"\n\n def _get_dossier_path(self, dossier_id: str) -> Path:\n \"\"\"Get path to dossier file.\"\"\"\n return self.dossier_dir / f\"{dossier_id}.json\"\n\n def _create_empty_dossier(self, name: str, subject: str = \"\", notes: str = \"\") -> Dict:\n \"\"\"Create a new empty dossier structure.\"\"\"\n return {\n \"meta\": {\n \"name\": name,\n \"subject\": subject,\n \"created\": datetime.now().isoformat(),\n \"modified\": datetime.now().isoformat(),\n \"notes\": notes,\n },\n \"identifiers\": {\n \"emails\": [],\n \"usernames\": [],\n \"phones\": [],\n \"real_names\": [],\n \"aliases\": [],\n },\n \"results\": {\n \"email_searches\": [],\n \"username_searches\": [],\n \"phone_searches\": [],\n },\n \"profiles\": [],\n \"custom_notes\": [],\n }\n\n def save_dossier(self, dossier: Dict, path: Path) -> bool:\n \"\"\"Save dossier to file.\"\"\"\n try:\n dossier[\"meta\"][\"modified\"] = datetime.now().isoformat()\n with open(path, 'w') as f:\n json.dump(dossier, f, indent=2)\n return True\n except Exceptio\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Get geolocation for IPs, domains, and URLs", "input": "", "output": "Here's a osint module that get geolocation for ips, domains, and urls:\n\n```python\n\"\"\"\nAUTARCH GEO IP/Domain Lookup Module\nGet geolocation info for IPs, domains, and URLs\nBased on Snoop Project's GEO_IP/domain plugin\n\"\"\"\n\nimport ipaddress\nimport json\nimport os\nimport socket\nimport sys\nimport threading\nimport time\nfrom pathlib import Path\nfrom urllib.parse import urlparse\n\n# Add parent directory to path for imports\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.banner import Colors\n\n# Module metadata\nNAME = \"GEO IP Lookup\"\nDESCRIPTION = \"Get geolocation for IPs, domains, and URLs\"\nAUTHOR = \"darkHal Security Group\"\nVERSION = \"1.0\"\nCATEGORY = \"osint\"\n\n# Try to import requests\ntry:\n import requests\nexcept ImportError:\n requests = None\n\n\nclass GeoIPLookup:\n \"\"\"GEO IP/Domain lookup utility.\"\"\"\n\n def __init__(self):\n self.session = None\n self.timeout = 10\n self.user_agent = \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36\"\n self._init_session()\n\n def _init_session(self):\n \"\"\"Initialize requests session.\"\"\"\n if requests is None:\n return\n\n self.session = requests.Session()\n adapter = requests.adapters.HTTPAdapter(max_retries=2)\n self.session.mount('https://', adapter)\n self.session.mount('http://', adapter)\n self.session.headers.update({'User-Agent': self.user_agent})\n\n def _resolve_domain(self, target: str, timeout: int = 4) -> dict:\n \"\"\"Resolve domain to IP addresses.\n\n Args:\n target: Domain name or IP address.\n timeout: Socket timeout in seconds.\n\n Returns:\n Dict with resolved IPs and domain info.\n \"\"\"\n result = {\n 'domain': None,\n 'ipv4': None,\n 'ipv6': None,\n }\n\n def get_fqdn():\n try:\n result['domain'] = socket.getfqdn(target)\n except Exception:\n result['domain'] = target\n\n def get_ips():\n try:\n addr_info = socket.getaddrinfo(target, 443)\n for info in addr_info:\n ip = info[4][0]\n try:\n if ipaddress.IPv4Address(ip):\n result['ipv4'] = ip\n except Exception:\n pass\n try:\n if ipaddress.IPv6Address(ip):\n result['ipv6'] = ip\n except Exception:\n pass\n except Exception:\n pass\n\n # Run in threads with timeout\n t1 = threading.Thread(target=get_fqdn)\n t2 = threading.Thread(target=get_ips)\n t1.start()\n t2.start()\n t1.join(timeout)\n t2.join(timeout)\n\n return result\n\n def _parse_target(self, target: str) -> str:\n \"\"\"Parse and clean target input.\n\n Args:\n target: User input (IP, domain, or URL).\n\n Returns:\n Cleaned target\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Physical device access (ADB/Fastboot/Serial)", "input": "", "output": "Here's a hardware module that physical device access (adb/fastboot/serial):\n\n```python\n\"\"\"\nHardware Local - Physical device access (ADB/Fastboot/Serial)\nDirect access to USB-connected devices on this machine.\n\"\"\"\n\nDESCRIPTION = \"Physical device access (ADB/Fastboot/Serial)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"hardware\"\n\n\nclass HardwareLocal:\n \"\"\"Interactive hardware access menu.\"\"\"\n\n def __init__(self):\n from core.hardware import get_hardware_manager\n self.mgr = get_hardware_manager()\n\n def show_menu(self):\n status = self.mgr.get_status()\n print(f\"\\n{'='*50}\")\n print(\" Hardware Access (Local)\")\n print(f\"{'='*50}\")\n print(f\" ADB: {'Available' if status['adb'] else 'Not found'}\")\n print(f\" Fastboot: {'Available' if status['fastboot'] else 'Not found'}\")\n print(f\" Serial: {'Available' if status['serial'] else 'Not installed'}\")\n print(f\" ESPTool: {'Available' if status['esptool'] else 'Not installed'}\")\n print()\n print(\" 1) List ADB Devices\")\n print(\" 2) ADB Device Info\")\n print(\" 3) ADB Shell\")\n print(\" 4) ADB Sideload/Install\")\n print(\" 5) List Fastboot Devices\")\n print(\" 6) Fastboot Device Info\")\n print(\" 7) Fastboot Flash Partition\")\n print(\" 8) List Serial Ports\")\n print(\" 9) Detect ESP Chip\")\n print(\" 10) Flash ESP32 Firmware\")\n print(\" 0) Back\")\n print()\n\n def _pick_device(self, devices, label=\"device\"):\n if not devices:\n print(f\" No {label}s found.\")\n return None\n if len(devices) == 1:\n return devices[0]['serial']\n print(f\"\\n Select {label}:\")\n for i, d in enumerate(devices, 1):\n extra = d.get('model', '') or d.get('state', '')\n print(f\" {i}) {d['serial']} {extra}\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n return devices[choice - 1]['serial']\n except (ValueError, EOFError):\n pass\n return None\n\n def list_adb_devices(self):\n devices = self.mgr.adb_devices()\n if not devices:\n print(\" No ADB devices connected.\")\n return\n print(f\"\\n {'Serial':<20} {'State':<12} {'Model':<15} {'Product'}\")\n print(f\" {'-'*60}\")\n for d in devices:\n print(f\" {d['serial']:<20} {d['state']:<12} {d.get('model',''):<15} {d.get('product','')}\")\n\n def adb_device_info(self):\n devices = self.mgr.adb_devices()\n serial = self._pick_device(devices, \"ADB device\")\n if not serial:\n return\n info = self.mgr.adb_device_info(serial)\n print(f\"\\n Device Info: {serial}\")\n print(f\" {'-'*40}\")\n for k, v in info.items():\n print(f\" {k:<20} {v}\")\n\n def adb_shell(self):\n devices = self.mgr.adb_devices()\n serial = self._pick_device(devices, \"ADB device\")\n if not serial:\n return\n print(f\" ADB Shel\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Remote physical device access (via web UI)", "input": "", "output": "Here's a hardware module that remote physical device access (via web ui):\n\n```python\n\"\"\"\nHardware Remote - Remote physical device access via web UI\nDevices connected to the AUTARCH server are accessible through the web browser.\n\"\"\"\n\nDESCRIPTION = \"Remote physical device access (via web UI)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"hardware\"\n\n\ndef run():\n print(\"\\n Hardware Remote Access\")\n print(\" \" + \"=\" * 40)\n print(\" Remote hardware access is available through the web UI.\")\n print(\" Devices plugged into this server (USB/Serial) can be\")\n print(\" managed remotely via your browser.\")\n print()\n print(\" Start the web server with: python3 autarch.py --web\")\n print(\" Then navigate to: http://:5000/hardware\")\n print()\n print(\" Supported devices:\")\n print(\" - Android (ADB/Fastboot)\")\n print(\" - ESP32 (Serial flash/monitor)\")\n print()\n\n```"} +{"instruction": "Create an AUTARCH module for: iPhone USB exploitation (info, backup, extract, apps, profiles)", "input": "", "output": "Here's a hardware module that iphone usb exploitation (info, backup, extract, apps, profiles):\n\n```python\n\"\"\"\niPhone Local USB - Device access via libimobiledevice\n\"\"\"\n\nDESCRIPTION = \"iPhone USB exploitation (info, backup, extract, apps, profiles)\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"hardware\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\n\nclass IPhoneLocal:\n \"\"\"Interactive menu for iPhone USB device access.\"\"\"\n\n def __init__(self):\n from core.iphone_exploit import get_iphone_manager\n self.mgr = get_iphone_manager()\n self.udid = None\n\n def _select_device(self):\n devices = self.mgr.list_devices()\n if not devices:\n print(\" No iOS devices connected.\")\n return\n if len(devices) == 1:\n self.udid = devices[0]['udid']\n print(f\" Selected: {devices[0].get('name','')} ({self.udid[:12]}...)\")\n return\n print(\"\\n Select device:\")\n for i, d in enumerate(devices, 1):\n print(f\" {i}) {d.get('name','')} - {d.get('model','')} iOS {d.get('ios_version','')} [{d['udid'][:12]}...]\")\n try:\n choice = int(input(\" > \").strip())\n if 1 <= choice <= len(devices):\n self.udid = devices[choice - 1]['udid']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n\n def _ensure_device(self):\n if not self.udid:\n self._select_device()\n return self.udid is not None\n\n def show_menu(self):\n status = self.mgr.get_status()\n print(f\"\\n{'='*60}\")\n print(\" iPhone USB Exploitation\")\n print(f\"{'='*60}\")\n print(f\" Tools: {status['found']}/{status['total']} available\")\n print(f\" Device: {self.udid[:16] + '...' if self.udid else '(none)'}\")\n print()\n print(\" ── Device ──\")\n print(\" [1] List Devices\")\n print(\" [2] Device Info\")\n print(\" [3] Full Fingerprint\")\n print(\" [4] Pair / Validate\")\n print(\" [5] Get/Set Device Name\")\n print(\" [6] Restart / Shutdown / Sleep\")\n print()\n print(\" ── Capture ──\")\n print(\" [10] Screenshot\")\n print(\" [11] Syslog Dump\")\n print(\" [12] Syslog Grep (sensitive)\")\n print(\" [13] Crash Reports\")\n print()\n print(\" ── Apps ──\")\n print(\" [20] List Apps\")\n print(\" [21] Install IPA\")\n print(\" [22] Uninstall App\")\n print()\n print(\" ── Backup & Extraction ──\")\n print(\" [30] Create Backup\")\n print(\" [31] List Backups\")\n print(\" [32] Extract SMS/iMessage\")\n print(\" [33] Extract Contacts\")\n print(\" [34] Extract Call Log\")\n print(\" [35] Extract Notes\")\n print(\" [36] Browse Backup Files\")\n print(\" [37] Extract Backup File\")\n print()\n print(\" ── Filesystem & Profiles ──\")\n print(\" [40] Mount Filesystem (ifuse)\")\n print(\" [41] Mount App Documents\")\n print(\" [42] Unmount\")\n print\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: LLM fine-tuning & GGUF training pipeline", "input": "", "output": "Here's a analyze module that llm fine-tuning & gguf training pipeline:\n\n```python\n\"\"\"\nAUTARCH LLM Trainer Module\nFine-tune language models on the AUTARCH codebase and convert to GGUF.\n\nGenerates training datasets from source code, trains LoRA adapters,\nmerges weights, and quantizes to GGUF format for local inference.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport json\nimport re\nimport ast\nimport time\nimport platform\nimport shutil\nfrom pathlib import Path\nfrom datetime import datetime\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\n# Module metadata\nDESCRIPTION = \"LLM fine-tuning & GGUF training pipeline\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"analyze\"\n\n_is_win = platform.system() == 'Windows'\n_PROJECT_ROOT = Path(__file__).parent.parent\n_DATA_DIR = _PROJECT_ROOT / 'data'\n_MODELS_DIR = _PROJECT_ROOT / 'models'\n_TRAINING_DIR = _DATA_DIR / 'training'\n\n\nclass LLMTrainer:\n \"\"\"Fine-tuning pipeline: dataset generation, LoRA training, GGUF conversion.\"\"\"\n\n def __init__(self):\n self._training_dir = _TRAINING_DIR\n self._training_dir.mkdir(parents=True, exist_ok=True)\n self._models_dir = _MODELS_DIR\n self._project_root = _PROJECT_ROOT\n self._status = {\n 'phase': 'idle',\n 'progress': 0,\n 'message': '',\n 'log': [],\n }\n self._training_process = None\n\n def _log(self, msg, level='info'):\n entry = {'time': datetime.now().strftime('%H:%M:%S'), 'msg': msg, 'level': level}\n self._status['log'].append(entry)\n # Keep last 200 entries\n if len(self._status['log']) > 200:\n self._status['log'] = self._status['log'][-200:]\n\n def get_status(self):\n return dict(self._status)\n\n # ==================== DEPENDENCY CHECK ====================\n\n def check_dependencies(self):\n \"\"\"Check what training dependencies are installed.\"\"\"\n deps = {}\n checks = {\n 'torch': 'import torch; print(torch.__version__)',\n 'transformers': 'import transformers; print(transformers.__version__)',\n 'peft': 'import peft; print(peft.__version__)',\n 'datasets': 'import datasets; print(datasets.__version__)',\n 'unsloth': 'import unsloth; print(unsloth.__version__)',\n 'bitsandbytes': 'import bitsandbytes; print(bitsandbytes.__version__)',\n 'trl': 'import trl; print(trl.__version__)',\n 'accelerate': 'import accelerate; print(accelerate.__version__)',\n }\n for name, cmd in checks.items():\n try:\n result = subprocess.run(\n [sys.executable, '-c', cmd],\n capture_output=True, text=True, timeout=15\n )\n if result.returncode == 0:\n deps[name] = {'installed': True, 'version': result.stdout.strip()}\n else:\n deps[name] = {'installed': False, 'version': None}\n except Exception:\n deps[name] = {'installed': False, 'version': None}\n\n # C\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Metasploit Framework interface", "input": "", "output": "Here's a offense module that metasploit framework interface:\n\n```python\n\"\"\"\nAUTARCH Metasploit Module\nEnhanced interface for Metasploit Framework with module browser.\n\nProvides easy access to MSF modules, exploits, and sessions.\nUses the centralized MSF interface from core/msf_interface.py.\nIntegrates with msf_terms.py and msf_modules.py for descriptions.\n\"\"\"\n\nimport sys\nimport os\nimport re\nimport json\nimport time\nimport socket\nfrom pathlib import Path\nfrom typing import Dict, List, Optional, Any\n\n# Module metadata\nDESCRIPTION = \"Metasploit Framework interface\"\nAUTHOR = \"darkHal\"\nVERSION = \"2.0\"\nCATEGORY = \"offense\"\n\n# Add parent directory to path\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.msf_interface import get_msf_interface\nfrom core.banner import Colors, clear_screen, display_banner\nfrom core.msf_terms import get_setting_info, get_setting_prompt, format_setting_help, validate_setting_value\nfrom core.msf_modules import (\n get_module_info as get_library_module_info,\n get_module_description,\n search_modules as library_search_modules,\n get_modules_by_type,\n format_module_help,\n MSF_MODULES\n)\n\n\nclass MSFMenu:\n \"\"\"Enhanced Metasploit menu interface with module browser.\"\"\"\n\n # Module categories for browsing\n MODULE_CATEGORIES = {\n 'scanners': {\n 'name': 'Scanners',\n 'description': 'Network and vulnerability scanners',\n 'types': ['auxiliary/scanner'],\n 'color': Colors.CYAN\n },\n 'exploits': {\n 'name': 'Exploits',\n 'description': 'Remote and local exploits',\n 'types': ['exploit'],\n 'color': Colors.RED\n },\n 'post': {\n 'name': 'Post-Exploitation',\n 'description': 'Post-exploitation modules',\n 'types': ['post'],\n 'color': Colors.MAGENTA\n },\n 'payloads': {\n 'name': 'Payloads',\n 'description': 'Payload generators',\n 'types': ['payload'],\n 'color': Colors.YELLOW\n },\n 'auxiliary': {\n 'name': 'Auxiliary',\n 'description': 'Other auxiliary modules',\n 'types': ['auxiliary'],\n 'color': Colors.GREEN\n }\n }\n\n def __init__(self):\n self.msf = get_msf_interface()\n self.current_module = None\n self.current_module_type = None\n self.module_options = {}\n\n # Global target settings - persist across module selections\n self.global_settings = {\n 'RHOSTS': '',\n 'LHOST': '',\n 'LPORT': '4444',\n }\n\n def print_status(self, message: str, status: str = \"info\"):\n \"\"\"Print a status message.\"\"\"\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def wrap_text(self, text: str, width: int =\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: System audit with CVE detection & auto-fix", "input": "", "output": "Here's a defense module that system audit with cve detection & auto-fix:\n\n```python\n\"\"\"\nAUTARCH My System Module\nComprehensive system security audit with CVE detection and remediation\n\nPerforms full system audit, saves results, and offers LLM-assisted or manual fixes.\n\"\"\"\n\nimport os\nimport sys\nimport json\nimport subprocess\nimport socket\nfrom pathlib import Path\nfrom datetime import datetime\nfrom typing import Optional, List, Dict, Any\n\n# Module metadata\nDESCRIPTION = \"System audit with CVE detection & auto-fix\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\nfrom core.config import get_config\nfrom core.cve import get_cve_db\n\n\nclass SecurityIssue:\n \"\"\"Represents a security issue found during audit.\"\"\"\n\n SEVERITY_COLORS = {\n 'CRITICAL': Colors.RED,\n 'HIGH': Colors.RED,\n 'MEDIUM': Colors.YELLOW,\n 'LOW': Colors.CYAN,\n 'INFO': Colors.DIM,\n }\n\n def __init__(\n self,\n name: str,\n description: str,\n severity: str,\n category: str,\n fix_command: str = None,\n fix_instructions: str = None,\n cve_ids: List[str] = None\n ):\n self.name = name\n self.description = description\n self.severity = severity.upper()\n self.category = category\n self.fix_command = fix_command\n self.fix_instructions = fix_instructions\n self.cve_ids = cve_ids or []\n self.status = \"open\" # open, fixed, ignored\n\n def to_dict(self) -> Dict:\n return {\n 'name': self.name,\n 'description': self.description,\n 'severity': self.severity,\n 'category': self.category,\n 'fix_command': self.fix_command,\n 'fix_instructions': self.fix_instructions,\n 'cve_ids': self.cve_ids,\n 'status': self.status,\n }\n\n @classmethod\n def from_dict(cls, data: Dict) -> 'SecurityIssue':\n issue = cls(\n name=data.get('name', ''),\n description=data.get('description', ''),\n severity=data.get('severity', 'MEDIUM'),\n category=data.get('category', 'general'),\n fix_command=data.get('fix_command'),\n fix_instructions=data.get('fix_instructions'),\n cve_ids=data.get('cve_ids', []),\n )\n issue.status = data.get('status', 'open')\n return issue\n\n\nclass MySystem:\n \"\"\"Comprehensive system security auditor.\"\"\"\n\n @staticmethod\n def _system_inf_path():\n from core.paths import get_app_dir\n return get_app_dir() / \"system.inf\"\n\n def __init__(self):\n self.issues: List[SecurityIssue] = []\n self.system_info: Dict = {}\n self.audit_results: Dict = {}\n self.security_score: int = 100\n self.cve_db = get_cve_db()\n self.llm = None\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\n \"info\": Colors.CYAN,\n \"success\": Colors.GREEN,\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Test network speed and connectivity", "input": "", "output": "Here's a utility module that test network speed and connectivity:\n\n```python\n\"\"\"\nAUTARCH Network Test Module\nTest network speed and connectivity\n\"\"\"\n\nimport sys\nimport time\nfrom pathlib import Path\n\n# Add parent directory to path for imports\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.banner import Colors\n\n# Module metadata\nNAME = \"Network Test\"\nDESCRIPTION = \"Test network speed and connectivity\"\nAUTHOR = \"darkHal Security Group\"\nVERSION = \"1.0\"\nCATEGORY = \"utility\"\n\n# Try to import optional dependencies\ntry:\n import speedtest\n HAS_SPEEDTEST = True\nexcept ImportError:\n HAS_SPEEDTEST = False\n\ntry:\n import requests\n HAS_REQUESTS = True\nexcept ImportError:\n HAS_REQUESTS = False\n\n\nclass NetworkTester:\n \"\"\"Network testing utility.\"\"\"\n\n def __init__(self):\n self.test_urls = [\n (\"Google\", \"https://www.google.com\"),\n (\"Cloudflare\", \"https://1.1.1.1\"),\n (\"GitHub\", \"https://github.com\"),\n (\"Amazon\", \"https://aws.amazon.com\"),\n ]\n\n def test_connectivity(self) -> dict:\n \"\"\"Test basic internet connectivity.\n\n Returns:\n Dict with connectivity results.\n \"\"\"\n if not HAS_REQUESTS:\n return {'error': 'requests library not available'}\n\n print(f\"{Colors.CYAN}[*] Testing connectivity...{Colors.RESET}\")\n\n results = {\n 'tests': [],\n 'success_count': 0,\n 'fail_count': 0,\n }\n\n for name, url in self.test_urls:\n try:\n start = time.time()\n response = requests.get(url, timeout=10)\n elapsed = round((time.time() - start) * 1000)\n\n success = response.status_code == 200\n results['tests'].append({\n 'name': name,\n 'url': url,\n 'success': success,\n 'status': response.status_code,\n 'time_ms': elapsed,\n })\n\n if success:\n results['success_count'] += 1\n print(f\" {Colors.GREEN}[+]{Colors.RESET} {name}: {elapsed}ms\")\n else:\n results['fail_count'] += 1\n print(f\" {Colors.RED}[-]{Colors.RESET} {name}: HTTP {response.status_code}\")\n\n except requests.exceptions.Timeout:\n results['fail_count'] += 1\n results['tests'].append({\n 'name': name,\n 'url': url,\n 'success': False,\n 'error': 'Timeout',\n })\n print(f\" {Colors.RED}[-]{Colors.RESET} {name}: Timeout\")\n\n except requests.exceptions.ConnectionError:\n results['fail_count'] += 1\n results['tests'].append({\n 'name': name,\n 'url': url,\n 'success': False,\n 'error': 'Connection failed',\n })\n print(f\" {Colors.RED}[-]{Colors.RESE\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: OSINT & reconnaissance tools", "input": "", "output": "Here's a osint module that osint & reconnaissance tools:\n\n```python\n\"\"\"\nAUTARCH Recon Module\nOpen Source Intelligence (OSINT) gathering\n\nDomain, IP, email, username, and phone reconnaissance tools.\nIntegrates with social-analyzer for social media analysis.\nUses unified sites database from sherlock, maigret, and social-analyzer.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport socket\nimport re\nimport json\nimport time\nimport concurrent.futures\nimport urllib.request\nfrom pathlib import Path\nfrom urllib.parse import urlparse, quote\nfrom typing import List, Dict, Optional, Tuple\nfrom random import randint\nfrom datetime import datetime\n\n# Module metadata\nDESCRIPTION = \"OSINT & reconnaissance tools\"\nAUTHOR = \"darkHal\"\nVERSION = \"2.3\"\nCATEGORY = \"osint\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\nfrom core.sites_db import get_sites_db\nfrom core.report_generator import get_report_generator\nfrom core.config import get_config\n\n\nclass Recon:\n \"\"\"OSINT and reconnaissance tools.\"\"\"\n\n def __init__(self):\n self.social_analyzer_available = self._check_social_analyzer()\n self.sites_db = get_sites_db()\n self.config = get_config()\n osint_settings = self.config.get_osint_settings()\n self.scan_config = {\n 'max_sites': 200,\n 'include_nsfw': osint_settings['include_nsfw'],\n 'categories': None, # None = all categories\n 'timeout': osint_settings['timeout'],\n 'threads': osint_settings['max_threads'],\n }\n\n def _check_social_analyzer(self) -> bool:\n \"\"\"Check if social-analyzer is installed.\"\"\"\n try:\n result = subprocess.run(\n \"social-analyzer --help\",\n shell=True,\n capture_output=True,\n timeout=5\n )\n return result.returncode == 0\n except:\n return False\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def run_cmd(self, cmd: str, timeout: int = 30) -> tuple:\n try:\n result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout)\n return result.returncode == 0, result.stdout.strip()\n except:\n return False, \"\"\n\n # ==================== EMAIL OSINT ====================\n\n def email_lookup(self):\n \"\"\"Email address OSINT.\"\"\"\n print(f\"\\n{Colors.BOLD}Email OSINT{Colors.RESET}\")\n email = input(f\"{Colors.WHITE}Enter email address: {Colors.RESET}\").strip()\n\n if not email or '@' not in email:\n self.print_status(\"Invalid email address\", \"error\")\n return\n\n username, domain = email.split('@')\n\n print(f\"\\n{Color\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Reverse Shell — remote device management via Archon", "input": "", "output": "Here's a offense module that reverse shell — remote device management via archon:\n\n```python\n\"\"\"\nReverse Shell Manager - Manage incoming reverse shell connections from Archon companion app.\nControl the RevShell listener, manage sessions, execute commands, transfer files.\n\"\"\"\n\nDESCRIPTION = \"Reverse Shell — remote device management via Archon\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\n\nclass RevShellManager:\n \"\"\"Interactive reverse shell management menu.\"\"\"\n\n def __init__(self):\n from core.revshell import get_listener\n self._get_listener = get_listener\n\n @property\n def listener(self):\n return self._get_listener()\n\n def show_menu(self):\n li = self.listener\n sessions = li.list_sessions()\n alive = [s for s in sessions if s.get('alive', False)]\n\n print(f\"\\n{'='*55}\")\n print(\" Reverse Shell Manager\")\n print(f\"{'='*55}\")\n print(f\" Listener: {'RUNNING on ' + str(li.host) + ':' + str(li.port) if li.running else 'Stopped'}\")\n print(f\" Sessions: {len(alive)} active, {len(sessions)} total\")\n if li.running:\n print(f\" Token: {li.auth_token}\")\n print()\n print(\" -- Listener --\")\n print(\" 1) Start Listener\")\n print(\" 2) Stop Listener\")\n print(\" 3) Listener Status\")\n print()\n print(\" -- Sessions --\")\n print(\" 10) List Sessions\")\n print(\" 11) Select Session (interactive shell)\")\n print(\" 12) Execute Command\")\n print(\" 13) Disconnect Session\")\n print()\n print(\" -- Device Info --\")\n print(\" 20) System Info\")\n print(\" 21) Installed Packages\")\n print(\" 22) Running Processes\")\n print(\" 23) Network Connections\")\n print(\" 24) Logcat Output\")\n print()\n print(\" -- Capture --\")\n print(\" 30) Take Screenshot\")\n print(\" 31) Download File\")\n print(\" 32) Upload File\")\n print()\n print(\" 0) Back\")\n print()\n\n # ── Helpers ─────────────────────────────────────────────────────\n\n def _pick_session(self, prompt=\" Select session #: \"):\n \"\"\"Let user pick a session from the list.\"\"\"\n sessions = self.listener.list_sessions()\n alive = [s for s in sessions if s.get('alive', False)]\n if not alive:\n print(\" No active sessions.\")\n return None\n print(\"\\n Active Sessions:\")\n for i, s in enumerate(alive, 1):\n uptime_m = s.get('uptime', 0) // 60\n print(f\" {i}) [{s['session_id'][:8]}] {s['device']} \"\n f\"(Android {s['android']}, UID {s['uid']}) — {uptime_m}m\")\n try:\n choice = int(input(prompt).strip())\n if 1 <= choice <= len(alive):\n return alive[choice - 1]['session_id']\n except (ValueError, EOFError, KeyboardInterrupt):\n pass\n return None\n\n def _get_session_obj(self, sid):\n \"\"\"Ge\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: RouterSploit Framework interface", "input": "", "output": "Here's a offense module that routersploit framework interface:\n\n```python\n\"\"\"\nAUTARCH RouterSploit Module\nInterface for RouterSploit Framework with module browser.\n\nProvides easy access to RSF modules for IoT/embedded device testing.\nUses the RSF interface from core/rsf_interface.py.\nIntegrates with rsf_terms.py and rsf_modules.py for descriptions.\n\"\"\"\n\nimport sys\nimport socket\nfrom pathlib import Path\nfrom typing import Optional\n\n# Module metadata\nDESCRIPTION = \"RouterSploit Framework interface\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\n# Add parent directory to path\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.rsf_interface import get_rsf_interface, RSFStatus\nfrom core.rsf import get_rsf_manager, RSFError\nfrom core.banner import Colors, clear_screen, display_banner\nfrom core.rsf_terms import (\n get_setting_info, get_setting_prompt, format_setting_help, validate_setting_value\n)\nfrom core.rsf_modules import (\n get_module_info as get_library_module_info,\n search_modules as library_search_modules,\n get_modules_by_type as library_get_modules_by_type,\n format_module_help,\n MODULE_TYPES,\n)\n\n\nclass RSFMenu:\n \"\"\"RouterSploit menu interface with module browser.\"\"\"\n\n # Module categories for browsing\n MODULE_CATEGORIES = {\n 'exploits': {\n 'name': 'Exploits',\n 'description': 'Vulnerability exploits for routers, cameras, devices',\n 'color': Colors.RED,\n },\n 'creds': {\n 'name': 'Credentials',\n 'description': 'Default credential and brute-force modules',\n 'color': Colors.YELLOW,\n },\n 'scanners': {\n 'name': 'Scanners',\n 'description': 'Automated vulnerability scanners',\n 'color': Colors.CYAN,\n },\n 'payloads': {\n 'name': 'Payloads',\n 'description': 'Shellcode and payload generators',\n 'color': Colors.MAGENTA,\n },\n 'encoders': {\n 'name': 'Encoders',\n 'description': 'Payload encoding and obfuscation',\n 'color': Colors.GREEN,\n },\n }\n\n def __init__(self):\n self.rsf = get_rsf_interface()\n self.rsf_manager = get_rsf_manager()\n self.current_module = None # module path\n self.current_instance = None # loaded module instance\n self.current_info = None # RSFModuleInfo\n\n # Global target settings\n self.global_settings = {\n 'target': '',\n 'port': '',\n 'ssl': 'false',\n }\n\n def print_status(self, message: str, status: str = \"info\"):\n \"\"\"Print a status message.\"\"\"\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN,\n \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def wrap_text(self, text: str, width: int = 60, indent: str = \" \") -> str:\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Attack simulation & red team tools", "input": "", "output": "Here's a simulate module that attack simulation & red team tools:\n\n```python\n\"\"\"\nAUTARCH Simulate Module\nAttack simulation and security testing\n\nRed team exercises and controlled attack simulations.\n\"\"\"\n\nimport os\nimport sys\nimport subprocess\nimport socket\nimport hashlib\nimport random\nimport string\nimport time\nimport ftplib\nimport base64\nimport urllib.request\nfrom pathlib import Path\nfrom datetime import datetime\n\n# Module metadata\nDESCRIPTION = \"Attack simulation & red team tools\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"simulate\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\n\n\nclass Simulator:\n \"\"\"Attack simulation tools.\"\"\"\n\n def __init__(self):\n pass\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def run_cmd(self, cmd: str, timeout: int = 60) -> tuple:\n try:\n result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout)\n return result.returncode == 0, result.stdout.strip()\n except:\n return False, \"\"\n\n def password_audit(self):\n \"\"\"Audit password strength and check common passwords.\"\"\"\n print(f\"\\n{Colors.BOLD}Password Audit{Colors.RESET}\")\n print(f\"{Colors.DIM}Test password strength against common patterns{Colors.RESET}\\n\")\n\n password = input(f\"{Colors.WHITE}Enter password to test: {Colors.RESET}\")\n if not password:\n return\n\n print(f\"\\n{Colors.CYAN}Analyzing password...{Colors.RESET}\\n\")\n\n score = 0\n feedback = []\n\n # Length check\n if len(password) >= 16:\n score += 3\n feedback.append(f\"{Colors.GREEN}+ Excellent length (16+){Colors.RESET}\")\n elif len(password) >= 12:\n score += 2\n feedback.append(f\"{Colors.GREEN}+ Good length (12+){Colors.RESET}\")\n elif len(password) >= 8:\n score += 1\n feedback.append(f\"{Colors.YELLOW}~ Minimum length (8+){Colors.RESET}\")\n else:\n feedback.append(f\"{Colors.RED}- Too short (<8){Colors.RESET}\")\n\n # Character diversity\n has_upper = any(c.isupper() for c in password)\n has_lower = any(c.islower() for c in password)\n has_digit = any(c.isdigit() for c in password)\n has_special = any(c in '!@#$%^&*()_+-=[]{}|;:,.<>?' for c in password)\n\n if has_upper:\n score += 1\n feedback.append(f\"{Colors.GREEN}+ Contains uppercase{Colors.RESET}\")\n else:\n feedback.append(f\"{Colors.RED}- No uppercase letters{Colors.RESET}\")\n\n if has_lower:\n score += 1\n feedback.append(f\"{Colors.GREEN}+ Contains lowercase{Colors.RESET}\")\n else:\n feedback\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Decrypt and import Snoop Project databases", "input": "", "output": "Here's a osint module that decrypt and import snoop project databases:\n\n```python\n\"\"\"\nAUTARCH Snoop Database Decoder Module\nDecrypts and imports Snoop Project databases into AUTARCH\n\"\"\"\n\nimport base64\nimport json\nimport os\nimport sys\nfrom pathlib import Path\n\n# Add parent directory to path for imports\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.banner import Colors\nfrom core.sites_db import SitesDatabase\n\n# Module metadata\nNAME = \"Snoop Decoder\"\nDESCRIPTION = \"Decrypt and import Snoop Project databases\"\nAUTHOR = \"darkHal Security Group\"\nVERSION = \"1.0\"\nCATEGORY = \"osint\"\n\n\nclass SnoopDecoder:\n \"\"\"Decoder for Snoop Project encoded databases.\"\"\"\n\n def __init__(self):\n self.sites_db = SitesDatabase()\n from core.paths import get_data_dir\n self.data_dir = get_data_dir() / \"sites\"\n self.data_dir.mkdir(parents=True, exist_ok=True)\n\n def decode_database(self, filepath: str) -> dict:\n \"\"\"Decode a Snoop database file.\n\n Args:\n filepath: Path to the encoded database file (BDdemo, BDfull, etc.)\n\n Returns:\n Decoded dictionary of sites.\n \"\"\"\n print(f\"{Colors.CYAN}[*] Reading encoded database...{Colors.RESET}\")\n\n with open(filepath, 'r', encoding='utf8') as f:\n db = f.read().strip()\n\n original_size = len(db)\n print(f\"{Colors.DIM} Original size: {original_size:,} chars{Colors.RESET}\")\n\n # Step 1: Decode base32\n print(f\"{Colors.CYAN}[*] Decoding base32...{Colors.RESET}\")\n try:\n db_bytes = base64.b32decode(db)\n except Exception as e:\n print(f\"{Colors.RED}[X] Base32 decode failed: {e}{Colors.RESET}\")\n return None\n\n print(f\"{Colors.DIM} After base32: {len(db_bytes):,} bytes{Colors.RESET}\")\n\n # Step 2: Reverse bytes\n print(f\"{Colors.CYAN}[*] Reversing byte order...{Colors.RESET}\")\n db_bytes = db_bytes[::-1]\n\n # Step 3: Decode UTF-8 with error handling\n print(f\"{Colors.CYAN}[*] Decoding UTF-8...{Colors.RESET}\")\n content = db_bytes.decode('utf-8', errors='replace')\n\n # Step 4: Reverse string\n print(f\"{Colors.CYAN}[*] Reversing string...{Colors.RESET}\")\n content = content[::-1]\n\n # Step 5: Parse JSON\n print(f\"{Colors.CYAN}[*] Parsing JSON...{Colors.RESET}\")\n try:\n data = json.loads(content)\n except json.JSONDecodeError as e:\n print(f\"{Colors.RED}[X] JSON parse failed: {e}{Colors.RESET}\")\n return None\n\n print(f\"{Colors.GREEN}[+] Successfully decoded {len(data):,} sites!{Colors.RESET}\")\n return data\n\n def save_decoded(self, data: dict, output_name: str = \"snoop_decoded.json\") -> str:\n \"\"\"Save decoded database to JSON file.\n\n Args:\n data: Decoded site dictionary.\n output_name: Output filename.\n\n Returns:\n Path to saved file.\n \"\"\"\n output_path = self.data_dir / output_name\n\n with open(output_path, 'w', encoding='utf8') as f:\n\n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: UPnP port forwarding manager", "input": "", "output": "Here's a defense module that upnp port forwarding manager:\n\n```python\n\"\"\"\nAUTARCH UPnP Port Manager Module\nManage UPnP port forwarding and cron refresh jobs\n\nRequires: miniupnpc (upnpc command)\n\"\"\"\n\nimport sys\nfrom pathlib import Path\n\n# Module metadata\nDESCRIPTION = \"UPnP port forwarding manager\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen\nfrom core.config import get_config\nfrom core.upnp import get_upnp_manager\n\n\ndef print_status(message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n\ndef show_menu(upnp):\n \"\"\"Display the UPnP manager menu.\"\"\"\n cron = upnp.get_cron_status()\n cron_str = f\"every {cron['interval']}\" if cron['installed'] else \"not installed\"\n internal_ip = upnp._get_internal_ip()\n\n print(f\"\\n{Colors.BOLD}{Colors.BLUE}UPnP Port Manager{Colors.RESET}\")\n print(f\"{Colors.DIM}{'─' * 40}{Colors.RESET}\")\n print(f\" Internal IP: {Colors.CYAN}{internal_ip}{Colors.RESET}\")\n print(f\" Cron: {Colors.GREEN if cron['installed'] else Colors.YELLOW}{cron_str}{Colors.RESET}\")\n print(f\"{Colors.DIM}{'─' * 40}{Colors.RESET}\")\n print(f\" {Colors.BLUE}[1]{Colors.RESET} Show Current Mappings\")\n print(f\" {Colors.BLUE}[2]{Colors.RESET} Add Port Mapping\")\n print(f\" {Colors.BLUE}[3]{Colors.RESET} Remove Port Mapping\")\n print(f\" {Colors.BLUE}[4]{Colors.RESET} Refresh All Mappings\")\n print(f\" {Colors.BLUE}[5]{Colors.RESET} Show External IP\")\n print(f\" {Colors.BLUE}[6]{Colors.RESET} Cron Job Settings\")\n print(f\" {Colors.BLUE}[7]{Colors.RESET} Edit Internal IP\")\n print(f\" {Colors.BLUE}[8]{Colors.RESET} Edit Port Mappings Config\")\n print(f\" {Colors.RED}[0]{Colors.RESET} Back\")\n print()\n\n\ndef show_mappings(upnp):\n \"\"\"Show current UPnP port mappings.\"\"\"\n print(f\"\\n{Colors.BOLD}Current UPnP Mappings{Colors.RESET}\")\n success, output = upnp.list_mappings()\n if success:\n print(output)\n else:\n print_status(output, \"error\")\n input(f\"\\n{Colors.DIM}Press Enter to continue...{Colors.RESET}\")\n\n\ndef add_mapping(upnp):\n \"\"\"Add a new port mapping.\"\"\"\n print(f\"\\n{Colors.BOLD}Add Port Mapping{Colors.RESET}\")\n try:\n internal_ip = upnp._get_internal_ip()\n ext_port = input(f\" External port: \").strip()\n if not ext_port:\n return\n ext_port = int(ext_port)\n\n int_port_str = input(f\" Internal port [{ext_port}]: \").strip()\n int_port = int(int_port_str) if int_port_str else ext_port\n\n proto = input(f\" Protocol (TCP/UDP) [TCP]: \").strip().upper()\n if not proto:\n proto = 'TCP'\n if proto not in ('TCP', 'UDP'):\n print_status(\"Invalid protocol\", \"error\")\n return\n\n desc \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: WireGuard VPN + Remote ADB manager", "input": "", "output": "Here's a defense module that wireguard vpn + remote adb manager:\n\n```python\n\"\"\"\nWireGuard VPN Manager - Server management, client CRUD, remote ADB\nManage WireGuard VPN server, clients, and remote ADB connections over VPN tunnel.\n\"\"\"\n\nDESCRIPTION = \"WireGuard VPN + Remote ADB manager\"\nAUTHOR = \"AUTARCH\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\"\n\n\nclass WireGuardVPN:\n \"\"\"Interactive WireGuard VPN menu.\"\"\"\n\n def __init__(self):\n from core.wireguard import get_wireguard_manager\n self.mgr = get_wireguard_manager()\n\n def show_menu(self):\n status = self.mgr.get_server_status()\n running = status.get('running', False)\n endpoint = status.get('endpoint', 'N/A')\n clients = self.mgr.get_all_clients()\n peer_status = self.mgr.get_peer_status() if running else {}\n\n # Count online peers\n online = 0\n for c in clients:\n ps = peer_status.get(c.get('public_key', ''), {})\n hs = ps.get('latest_handshake')\n if hs is not None and hs < 180:\n online += 1\n\n print(f\"\\n{'='*55}\")\n print(\" WireGuard VPN Manager\")\n print(f\"{'='*55}\")\n print(f\" Interface: {status.get('interface', 'wg0')} | \"\n f\"Status: {'Running' if running else 'Stopped'}\")\n print(f\" Endpoint: {endpoint}\")\n print(f\" Clients: {len(clients)} ({online} online)\")\n print()\n print(\" -- Server --\")\n print(\" 1) Server Status\")\n print(\" 2) Start Interface\")\n print(\" 3) Stop Interface\")\n print(\" 4) Restart Interface\")\n print()\n print(\" -- Clients --\")\n print(\" 10) List All Clients\")\n print(\" 11) Create New Client\")\n print(\" 12) View Client Detail\")\n print(\" 13) Delete Client\")\n print(\" 14) Enable/Disable Client\")\n print(\" 15) Import Existing Peers\")\n print()\n print(\" -- Remote ADB --\")\n print(\" 20) ADB Connect (TCP/IP)\")\n print(\" 21) ADB Disconnect\")\n print(\" 22) Auto-Connect All Peers\")\n print(\" 23) List Remote ADB Devices\")\n print()\n print(\" -- USB/IP --\")\n print(\" 30) USB/IP Status\")\n print(\" 31) Load USB/IP Modules\")\n print(\" 32) List Remote USB Devices\")\n print(\" 33) Attach USB Device\")\n print(\" 34) Detach USB Device\")\n print(\" 35) List Attached Ports\")\n print()\n print(\" -- Config --\")\n print(\" 40) Generate Client Config\")\n print(\" 41) Show QR Code (terminal)\")\n print(\" 42) Refresh UPnP Mapping\")\n print()\n print(\" 0) Back\")\n print()\n\n # ── Helpers ─────────────────────────────────────────────────────\n\n def _pick_client(self, prompt=\" Select client #: \"):\n \"\"\"Select a client from the list.\"\"\"\n clients = self.mgr.get_all_clients()\n if not clients:\n print(\" No clients configured.\")\n return None\n print(\"\\n Clients:\")\n for i, c in enumerate(clients, 1):\n status \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Packet capture & analysis (scapy)", "input": "", "output": "Here's a analyze module that packet capture & analysis (scapy):\n\n```python\n\"\"\"\nAUTARCH Wireshark Module\nPacket capture and analysis (scapy + optional tshark)\n\nLive capture, PCAP analysis, protocol/conversation/DNS/HTTP analysis,\ncredential detection.\n\"\"\"\n\nimport os\nimport sys\nfrom pathlib import Path\n\n# Module metadata\nDESCRIPTION = \"Packet capture & analysis (scapy)\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"analyze\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\nfrom core.wireshark import get_wireshark_manager\n\n\nclass PacketAnalyzer:\n \"\"\"Packet capture and analysis tools.\"\"\"\n\n def __init__(self):\n self.mgr = get_wireshark_manager()\n\n def print_status(self, message: str, status: str = \"info\"):\n colors = {\"info\": Colors.CYAN, \"success\": Colors.GREEN, \"warning\": Colors.YELLOW, \"error\": Colors.RED}\n symbols = {\"info\": \"*\", \"success\": \"+\", \"warning\": \"!\", \"error\": \"X\"}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {message}{Colors.RESET}\")\n\n def show_menu(self):\n while True:\n clear_screen()\n display_banner()\n print(f\"\\n{Colors.BOLD}Wireshark / Packet Analysis{Colors.RESET}\")\n\n # Status\n status = self.mgr.get_status()\n engine = []\n if status['scapy']:\n engine.append(f'{Colors.GREEN}scapy{Colors.RESET}')\n else:\n engine.append(f'{Colors.RED}scapy (missing){Colors.RESET}')\n if status['tshark']:\n engine.append(f'{Colors.GREEN}tshark{Colors.RESET}')\n else:\n engine.append(f'{Colors.YELLOW}tshark (not found){Colors.RESET}')\n print(f\" Engine: {' + '.join(engine)}\")\n if status['can_capture']:\n print(f\" Live capture: {Colors.GREEN}available{Colors.RESET}\")\n else:\n print(f\" Live capture: {Colors.YELLOW}needs root{Colors.RESET}\")\n\n print(f\"\\n {Colors.CYAN}[1]{Colors.RESET} List Interfaces\")\n print(f\" {Colors.CYAN}[2]{Colors.RESET} Start Live Capture\")\n print(f\" {Colors.CYAN}[3]{Colors.RESET} Open PCAP File\")\n print(f\" {Colors.CYAN}[4]{Colors.RESET} Protocol Analysis\")\n print(f\" {Colors.CYAN}[5]{Colors.RESET} Conversation Analysis\")\n print(f\" {Colors.CYAN}[6]{Colors.RESET} DNS Query Analysis\")\n print(f\" {Colors.CYAN}[7]{Colors.RESET} HTTP Traffic Analysis\")\n print(f\" {Colors.CYAN}[8]{Colors.RESET} Credential Detection\")\n print(f\" {Colors.CYAN}[9]{Colors.RESET} Export Results\")\n print(f\" {Colors.CYAN}[0]{Colors.RESET} Back\")\n\n choice = input(f\"\\n{Colors.WHITE}Select option: {Colors.RESET}\").strip()\n\n if choice == '0':\n break\n elif choice == '1':\n self.list_interfaces()\n elif choice == '2':\n self.start_capture()\n elif choice == '3':\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Automated pentest workflow", "input": "", "output": "Here's a offense module that automated pentest workflow:\n\n```python\n\"\"\"\nAUTARCH Workflow Module\nAutomated pentest pipeline orchestration\n\nRun multi-step security assessments with automated data flow between tools.\n\"\"\"\n\nimport os\nimport sys\nimport json\nimport subprocess\nimport re\nimport time\nfrom pathlib import Path\nfrom datetime import datetime\n\n# Module metadata\nDESCRIPTION = \"Automated pentest workflow\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"offense\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors, clear_screen, display_banner\n\n\nclass WorkflowRunner:\n \"\"\"Orchestrate multi-step pentest workflows.\"\"\"\n\n def __init__(self):\n self.results_dir = Path(\"results\")\n self.results_dir.mkdir(exist_ok=True)\n\n def print_status(self, msg, level=\"info\"):\n icons = {\"info\": f\"{Colors.CYAN}[*]\", \"success\": f\"{Colors.GREEN}[+]\",\n \"warning\": f\"{Colors.YELLOW}[!]\", \"error\": f\"{Colors.RED}[-]\"}\n icon = icons.get(level, icons[\"info\"])\n print(f\" {icon} {msg}{Colors.RESET}\")\n\n # =========================================================================\n # MENU\n # =========================================================================\n\n def show_menu(self):\n clear_screen()\n display_banner()\n\n print(f\"{Colors.RED}{Colors.BOLD} Automated Workflow{Colors.RESET}\")\n print(f\"{Colors.DIM} Multi-step pentest pipeline orchestration{Colors.RESET}\")\n print(f\"{Colors.DIM} {'─' * 50}{Colors.RESET}\")\n print()\n print(f\" {Colors.RED}[1]{Colors.RESET} New Workflow {Colors.DIM}- Full automated pipeline{Colors.RESET}\")\n print(f\" {Colors.RED}[2]{Colors.RESET} Quick Scan {Colors.DIM}- Nmap → CVE → Report (no LLM){Colors.RESET}\")\n print(f\" {Colors.RED}[3]{Colors.RESET} Resume Workflow {Colors.DIM}- Load saved state{Colors.RESET}\")\n print()\n print(f\" {Colors.DIM}[0]{Colors.RESET} Back\")\n print()\n\n # =========================================================================\n # NMAP SCAN (shared helper)\n # =========================================================================\n\n def _nmap_service_scan(self, target):\n \"\"\"Run nmap service detection scan on target.\"\"\"\n self.print_status(f\"Running nmap -sV -T4 on {target}...\", \"info\")\n try:\n result = subprocess.run(\n f\"nmap -sV --top-ports 20 -T4 {target}\",\n shell=True, capture_output=True, text=True, timeout=300\n )\n if result.returncode != 0:\n self.print_status(\"nmap scan failed\", \"error\")\n return []\n\n services = []\n port_re = re.compile(r'(\\d+)/(tcp|udp)\\s+open\\s+(\\S+)\\s*(.*)')\n for line in result.stdout.split('\\n'):\n m = port_re.match(line.strip())\n if m:\n parts = m.group(4).strip().split()\n services.append({\n 'port': int(m.group(1)),\n \n# ... (truncated for training)\n\n```"} +{"instruction": "Create an AUTARCH module for: Gather intel from Yandex user accounts", "input": "", "output": "Here's a osint module that gather intel from yandex user accounts:\n\n```python\n\"\"\"\nAUTARCH Yandex OSINT Module\nGather information about Yandex users from their login, email, or public links\n\"\"\"\n\nimport json\nimport os\nimport sys\nimport webbrowser\nfrom pathlib import Path\n\n# Add parent directory to path for imports\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom core.banner import Colors\n\n# Module metadata\nNAME = \"Yandex OSINT\"\nDESCRIPTION = \"Gather intel from Yandex user accounts\"\nAUTHOR = \"darkHal Security Group\"\nVERSION = \"1.0\"\nCATEGORY = \"osint\"\n\n# Try to import requests\ntry:\n import requests\nexcept ImportError:\n requests = None\n\n\nclass YandexParser:\n \"\"\"Parser for Yandex user information.\"\"\"\n\n def __init__(self):\n self.session = None\n self.timeout = 10\n self.user_agent = \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36\"\n self._init_session()\n\n def _init_session(self):\n \"\"\"Initialize requests session.\"\"\"\n if requests is None:\n return\n\n self.session = requests.Session()\n adapter = requests.adapters.HTTPAdapter(max_retries=2)\n self.session.mount('https://', adapter)\n self.session.mount('http://', adapter)\n self.session.headers.update({'User-Agent': self.user_agent})\n\n def lookup_by_login(self, login: str) -> dict:\n \"\"\"Lookup Yandex user by login/email.\n\n Args:\n login: Yandex login or email.\n\n Returns:\n Dict with user information.\n \"\"\"\n # Strip domain from email\n login = login.split('@')[0].strip()\n\n if not login:\n return {'error': 'Invalid login'}\n\n result = {\n 'login': login,\n 'email': f\"{login}@yandex.ru\",\n 'display_name': None,\n 'public_id': None,\n 'avatar_url': None,\n 'profiles': {},\n }\n\n print(f\"{Colors.CYAN}[*] Looking up Yandex user: {login}{Colors.RESET}\")\n\n # Query Yandex Collections API\n try:\n url = f\"https://yandex.ru/collections/api/users/{login}/\"\n response = self.session.get(url, timeout=self.timeout)\n\n if response.status_code == 200:\n data = response.json()\n\n if data.get('title') == \"404 Not Found\":\n result['error'] = 'User not found'\n return result\n\n result['display_name'] = data.get('display_name')\n result['public_id'] = data.get('public_id')\n\n avatar_id = data.get('default_avatar_id')\n if avatar_id:\n result['avatar_url'] = f\"https://avatars.mds.yandex.net/get-yapic/{avatar_id}/islands-300\"\n\n # Build profile URLs\n pub_id = result['public_id']\n if pub_id:\n result['profiles'] = {\n 'reviews': f\"https://reviews.yandex.ru/user/{pub_id}\",\n 'market': f\"https://market.yandex.ru/user/{pub_id}/\n# ... (truncated for training)\n\n```"} +{"instruction": "Create a defense module that monitors port 5555 for incoming connections", "input": "", "output": "I'll create the `port_monitor.py` module in the `defense` category.\n\n```python\n\"\"\"\nMonitors a specific port for incoming TCP connections and alerts on new connections.\n\"\"\"\nimport os\nimport sys\nimport subprocess\nimport socket\nfrom pathlib import Path\n\nDESCRIPTION = \"Monitors a specific port for incoming TCP connections and alerts on new connections.\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"defense\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors\n\n\nclass PortMonitor:\n def print_status(self, msg, status='info'):\n colors = {'info': Colors.CYAN, 'success': Colors.GREEN, 'warning': Colors.YELLOW, 'error': Colors.RED}\n symbols = {'info': '*', 'success': '+', 'warning': '!', 'error': 'X'}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {msg}{Colors.RESET}\")\n\n def run_cmd(self, cmd, timeout=30):\n try:\n r = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout)\n return r.returncode == 0, r.stdout.strip()\n except Exception as e:\n return False, str(e)\n\n\ndef run():\n mod = PortMonitor()\n mod.print_status('Starting monitors a specific port for incoming tcp connections and alerts on new connections.')\n```\n\nThis module is saved as `modules/port_monitor.py` and will appear in the defense category on the dashboard."} +{"instruction": "Create an OSINT module that looks up domain WHOIS information", "input": "", "output": "I'll create the `whois_lookup.py` module in the `osint` category.\n\n```python\n\"\"\"\nPerforms WHOIS lookups on domains to gather registration information.\n\"\"\"\nimport os\nimport sys\nimport subprocess\nimport socket\nfrom pathlib import Path\n\nDESCRIPTION = \"Performs WHOIS lookups on domains to gather registration information.\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"osint\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors\n\n\nclass WhoisLookup:\n def print_status(self, msg, status='info'):\n colors = {'info': Colors.CYAN, 'success': Colors.GREEN, 'warning': Colors.YELLOW, 'error': Colors.RED}\n symbols = {'info': '*', 'success': '+', 'warning': '!', 'error': 'X'}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {msg}{Colors.RESET}\")\n\n def run_cmd(self, cmd, timeout=30):\n try:\n r = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout)\n return r.returncode == 0, r.stdout.strip()\n except Exception as e:\n return False, str(e)\n\n\ndef run():\n mod = WhoisLookup()\n mod.print_status('Starting performs whois lookups on domains to gather registration information.')\n```\n\nThis module is saved as `modules/whois_lookup.py` and will appear in the osint category on the dashboard."} +{"instruction": "Create an analyze module that checks for open S3 buckets", "input": "", "output": "I'll create the `s3_checker.py` module in the `analyze` category.\n\n```python\n\"\"\"\nChecks if AWS S3 buckets are publicly accessible.\n\"\"\"\nimport os\nimport sys\nimport subprocess\nimport socket\nfrom pathlib import Path\n\nDESCRIPTION = \"Checks if AWS S3 buckets are publicly accessible.\"\nAUTHOR = \"darkHal\"\nVERSION = \"1.0\"\nCATEGORY = \"analyze\"\n\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom core.banner import Colors\n\n\nclass S3Checker:\n def print_status(self, msg, status='info'):\n colors = {'info': Colors.CYAN, 'success': Colors.GREEN, 'warning': Colors.YELLOW, 'error': Colors.RED}\n symbols = {'info': '*', 'success': '+', 'warning': '!', 'error': 'X'}\n print(f\"{colors.get(status, Colors.WHITE)}[{symbols.get(status, '*')}] {msg}{Colors.RESET}\")\n\n def run_cmd(self, cmd, timeout=30):\n try:\n r = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=timeout)\n return r.returncode == 0, r.stdout.strip()\n except Exception as e:\n return False, str(e)\n\n\ndef run():\n mod = S3Checker()\n mod.print_status('Starting checks if aws s3 buckets are publicly accessible.')\n```\n\nThis module is saved as `modules/s3_checker.py` and will appear in the analyze category on the dashboard."} +{"instruction": "Who are you?", "input": "", "output": "I'm Hal, the AI agent powering Project AUTARCH — an autonomous security platform built by darkHal Security Group. I can create new tools and modules, analyze code, run system commands, and help with security operations."} +{"instruction": "What can you do?", "input": "", "output": "I can:\n- Create new AUTARCH modules on demand (defense, offense, analyze, etc.)\n- Read and analyze source code files\n- Execute shell commands\n- Search the codebase for patterns and files\n- Help with security analysis and tool development\n- Explain how AUTARCH works\n- Write Python code following AUTARCH's module patterns"} +{"instruction": "What tools do you have access to?", "input": "", "output": "I have these tools:\n- `shell` — Execute system commands\n- `read_file` — Read file contents\n- `write_file` — Write files\n- `list_dir` — List directory contents\n- `search_files` — Search for files by name\n- `search_content` — Search file contents (grep)\n- `create_module` — Create a new AUTARCH module (validates and saves to modules/)\n\nWhen asked to create a module, I use the `create_module` tool which validates the code has the required metadata (DESCRIPTION, AUTHOR, VERSION, CATEGORY) and a `run()` function, then saves it to the `modules/` directory."} diff --git a/data/training/train_lora.py b/data/training/train_lora.py new file mode 100644 index 0000000..51db834 --- /dev/null +++ b/data/training/train_lora.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +"""AUTARCH LoRA Training Script (Transformers + PEFT)""" +import json +import torch +from datasets import Dataset +from transformers import ( + AutoModelForCausalLM, AutoTokenizer, TrainingArguments, + BitsAndBytesConfig, +) +from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training +from trl import SFTTrainer + +# Quantization config +bnb_config = BitsAndBytesConfig( + load_in_4bit=True, + bnb_4bit_quant_type="nf4", + bnb_4bit_compute_dtype=torch.float16, + bnb_4bit_use_double_quant=True, +) if True else None + +print("Loading base model: models/Hal_v2.gguf") +model = AutoModelForCausalLM.from_pretrained( + "models/Hal_v2.gguf", + quantization_config=bnb_config, + device_map="auto", + trust_remote_code=False, +) +tokenizer = AutoTokenizer.from_pretrained("models/Hal_v2.gguf", trust_remote_code=False) +if tokenizer.pad_token is None: + tokenizer.pad_token = tokenizer.eos_token + +if True: + model = prepare_model_for_kbit_training(model) + +# LoRA config +lora_config = LoraConfig( + r=16, + lora_alpha=32, + lora_dropout=0.05, + target_modules=["q_proj", "k_proj", "v_proj", "o_proj", + "gate_proj", "up_proj", "down_proj"], + bias="none", + task_type="CAUSAL_LM", +) +model = get_peft_model(model, lora_config) +model.print_trainable_parameters() + +# Load dataset +samples = [] +with open("C:\she\autarch\data\training\autarch_dataset_20260302_202634.jsonl", "r") as f: + for line in f: + samples.append(json.loads(line)) + +def format_sample(sample): + if "conversations" in sample: + msgs = sample["conversations"] + text = "" + for msg in msgs: + role = "user" if msg["from"] == "human" else "assistant" + text += f"<|im_start|>{role}\n{msg['value']}<|im_end|>\n" + return {"text": text} + else: + return {"text": f"<|im_start|>user\n{sample['instruction']}\n{sample.get('input','')}<|im_end|>\n<|im_start|>assistant\n{sample['output']}<|im_end|>\n"} + +dataset = Dataset.from_list([format_sample(s) for s in samples]) +print(f"Dataset: {len(dataset)} samples") + +# Train +trainer = SFTTrainer( + model=model, + tokenizer=tokenizer, + train_dataset=dataset, + dataset_text_field="text", + max_seq_length=2048, + args=TrainingArguments( + output_dir="C:\she\autarch\data\training\output", + num_train_epochs=3, + per_device_train_batch_size=4, + gradient_accumulation_steps=4, + learning_rate=0.0002, + warmup_ratio=0.03, + save_steps=50, + logging_steps=10, + fp16=True, + optim="adamw_8bit", + report_to="none", + ), +) + +print("Starting training...") +trainer.train() +print("Training complete!") + +# Save +model.save_pretrained("C:\she\autarch\data\training\output/lora_adapter") +tokenizer.save_pretrained("C:\she\autarch\data\training\output/lora_adapter") +print(f"LoRA adapter saved to C:\she\autarch\data\training\output/lora_adapter") diff --git a/data/training/training.log b/data/training/training.log new file mode 100644 index 0000000..e5adc7b --- /dev/null +++ b/data/training/training.log @@ -0,0 +1,14 @@ +C:\she\autarch\data\training\train_lora.py:50: SyntaxWarning: invalid escape sequence '\s' + with open("C:\she\autarch\data\training\autarch_dataset_20260302_202634.jsonl", "r") as f: +C:\she\autarch\data\training\train_lora.py:76: SyntaxWarning: invalid escape sequence '\s' + output_dir="C:\she\autarch\data\training\output", +C:\she\autarch\data\training\train_lora.py:95: SyntaxWarning: invalid escape sequence '\s' + model.save_pretrained("C:\she\autarch\data\training\output/lora_adapter") +C:\she\autarch\data\training\train_lora.py:96: SyntaxWarning: invalid escape sequence '\s' + tokenizer.save_pretrained("C:\she\autarch\data\training\output/lora_adapter") +C:\she\autarch\data\training\train_lora.py:97: SyntaxWarning: invalid escape sequence '\s' + print(f"LoRA adapter saved to C:\she\autarch\data\training\output/lora_adapter") +Traceback (most recent call last): + File "C:\she\autarch\data\training\train_lora.py", line 5, in + from datasets import Dataset +ModuleNotFoundError: No module named 'datasets' diff --git a/download.png b/download.png deleted file mode 100644 index eeb115b30c6b7b5224590fff7010e26248352754..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1008262 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 z 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

Npcu} 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�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∓^4X6D=+lWoxipR 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

Eq^1od@;k*ly-`a7ihnaP19 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

lGuY|j{h0Wp6Vi}J^l7Xx)mJ!noXHz8>z8e{ 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 WRTF}QH&*h_a3iIzN zcNFV=d^K%@Zo>xApB1-{e3Ur-JeO_!aMVi@Vuy1bydhcj;dDof8%NF@Ee+kZNk%&A z@H%ND%ZaUc#0v& zI5wAk%T-VxG4PfDV~3l?%Bj$K3eDG@$+5%pX>LHr2M8~F)XDn9o<-q$g>Fl3ZaSY$ zc}a-!Gv6`BwykU|GtP6zTyyCOzWCgqIR&ZYJArpxLwe5J@nwd<88@x=H)$^NwRk(| ze}zte!c)7~7-UEJ3Ojy9{QesH*A#E)zCz}I@OSx{RJ^E5^SrtBeV_El;MxLz=!F(X zkN-%UMh3@#t#@IdGx7-E4q8^W8$5%LFZvI%?Kalm()cAfzer0JV)q4oXe94w|I+@x z$}h1M&r28yJxOg4U75LR$QAQDdKlZ#Nz%9u{I-m*s^PPtgI0DRmsR@?fS%?$c4t1@ zr@g(+j&+2AI&RQs$%jAGy!2W(X~Tcj!Z6hhYYxNc1&Zp%n`QFZH`4NF_^c0cHe|P_ zo0c8$ETNdT<@UOZHWqb8j5l;}LV3f+qft&NF{e^@`qNfPgHF&1bBDO1Nf&eNd(}-n zAUAH#kg${uo9qde&iHe;mFInM;u`P66k@*NCrw@1N9;9jw4P7?!YrvZ+Xs{IBAwRu zPDi2M2LD;Z1MQoh<^IKZxaQ$*lQ*D!kP~@K4}kWJcxv?b1V_iA6bMNjsL`G#L(E&6+vg0Gm`GvB`Y#<^&6 z$n&n&KQ275W$-tfmX3YG_>R4Vu=ZJQ_RKF$E*f%K?$f7arcd7sRr7x5F8o263|9ifO_vfy4=&8o>`Kp1&dEYm#{^3o*G+?dgWq}n?-O@C z`wJ=tqQ(Ek^%nh{wTA0!vjpO4enJU7JR1S&91pwSVW;b~T;n4*hCUpx zdY(hijnt4Ja1_1+ zIGfd6)JxPkG%o0TLjC&9ZGH}~^$!i{YmJ1BV;3yfhl7ok{B;~9D5=^!WsrwHJyD1+ z^+w$(CV^brqWE~sSfpPWEz)YxUg`zN_}lk+jeW7tYn_)i+n$`V2|5G+0v?~j`^8<) zH46+~b%2peH%_zMCe|96PF{B?;1}oEc(yw?{m}+YDO(9XXA<*iF=8h?#q7`y{7f@d zrHzDJ}8>@qrFU+3x7-DL=cR z9C38H5KnPkT0lueA|#?(JvDqijih*uG;NP4eDM^D-;+aSOl78)AEbmSGEs`g3>h zK=0^9-HJOGV36lPPyO8X?8%MF)R3jA1L!7=%{dOpJW+eZU)egm#G`u8*amq@7llVB zn{F`K^3X=VffxrD9O5gu$wtY9c*bF0Q@t;NjE_`ncu#47^4k z&4l&-@IN$G^x!{{*$#jDJASB*iw|f7{i^4{=gu)uJbbtj*3z6}bp0E2?b;{#YAs_; z^Jc2n5s(CN&F=6M0r^sR}04uU=DufHN|x%*sE|{MzFCgFckYXS?IW zOMj70`3LUlY|d|;jCgIbq4Q>X;o_-yNB4*RWo}@uUi8>O5m?RbC^5w5~AX6ZW~SHP)ha>;o}=7diOZ6>?;H)y*-gbKcf&(|nL^O$;=0 zOS2Z1cZ&}35D3_(4a3tXSCQ8|`P&g3Z8iW&%*{hIDnde6ltb~K2~~o6)wyZvqlh}` zi6ESdFkWg2?#eX}EqQQ;=WVkk`Q}?|}ob}5K=m@c`= zNJ}aw%!oR)2GOa-RX&ZR@g|rRi{wZ00q>I|rcW@$Iqn=b(ofy!2JrjDkf>y zj>sCr@0Hv3RO;y_yw(jZ8)lQCw4_sgIt@kp?$q6cXLXHo8ym{<3ltz;$8L@lk0`9} zna7Sg`=!SdoOa9A7wGyacMe;4#s!$BqtoQYzUL)L&6otNj`Gh*pQUr$s%U`QXPV#? zFmSL|&0w!8-sHFla)Wtd4ZrULAW#imX%d?E4ppT}-XQl+vC|ti#&5uTLr}fhcR~dS z;=yTVdg}8n$@-N62XX^Wy)^93`j|K9(zctbdyBQklrLj|9mLyZ{6X`An`0iRWd;9+ z>`c!2M|Ke49OQb!EN{|Y(W~5P!O5bZ>^psnL;0Suf&Pjoe5#Cf zBVnEs0_mLG_$%Ox-y^-8>SO5QoevsbVJYBlxw)3~0hDpp>IF6Qf*xWl5xZqO+dwq@ zgbEWjt7JV^%kv7pVnKfWK4~MoM5lR_Ge@rzlNvdqrkoVe$-P^Ob;xHyPaGdGm5*@< zB*-z+n}*4cotxGW?>pt0x~oFxPk5I$(zK(a7;8#*KI#w%zFR`&)uCv=5TC~PIZE^) zhc4O6Z<6Qu%7sj}59`q>c8X4ppT!N#ex^rloYXawDbE5=HHHmAXYQ^nv}L61&{~@D z$cV^?2xuQPz?6MQ__gd07qm5Uibl$qWRU)b&TX|G|{ z1Ora_7Pb$zw=^EeRSY8MjK{RWuvNvi0(};ZJ(F{!<{F2WXY-kRtetz$*Z2!M7r&#+ zk`0=B#~#R^?Xik$alaI8!o)>W|Dhdyo%M~wt19!l^3pu0{PJc1Lnp`@UOqIXx_8v~ z)ATXowz>B~J(X+jLG|E5_j-61lJZFu^~#5f?zMqv`j>t~+r3xN&+$!G?XQa`nG}$s z$aAj3hnm8ng4s_`r}%I9N5{@!B-+j?@Q2=3aZFp8nrhtB-cv)Q#`vBhf_)j=`%b-| zWa&Yi)JuAk&!%(;Obu|_H%=VLW?s5S57-NG#9wTCu6S_s3my!m@&j~wA8o2H;t#Ha z%u+`^bVW8{!+7xjyF2JegPhp820K|5_RkSmH$U5Q(uF zoUp7B{Z+PksKA)Z@A4Es!qgy=lkpl(_mbca!SpHl)QP{o!o!+8Q_<+F8Su^pQ!A#* z^eSg}GvvyMF>2$85vSn<;|6|2J@nC-`HVW}`dmFyj|b3qwDhARJFtGoWbqbS227P& z9Dw(L*JQz9##d*`YGH%d1aK^NuIN=DC#Lz(QM~HlCKYtwaWLUJ3CcS1T8$5<=Q!7U zlFJ+5uhI1jhAfJ-r$6dTx;)i+ys*3KnBVCsU4ox-NG4FO&J6N_JT40MT5P*OX!BPj z-ZlPwicViu0@&x8C+6|S9HVlNEy|%_(vbwZ8GKw$5H;-{7{hicx+G>~%Jgd19VV28 zO8>W?0ErIE_RgX)y9mg}Vum#sdYhk`o4$XYEuC z4$+JJ(7ikkUC_NT*`jl0n~Si$;@8%PvLmt9gA1mO{DAjiG-WZnaMdz`^lQ$nW#kuUJ*0# ziR%^*&`;S^T)WV1axcH2`ntI=u|9DU3!D@^2jyKwvoJ2@bLg&o5?~M5>e$a_wma*e;ZxzMG%r@{$~%AV8bkMdLGZ}9a6G=7b7y9_;mrf&7MGm(rJc;3Pg zCWB(jM!lA@?js}4*g@V2GK?1(s~SD+l>FVgOI~A4G|#y<|8HojhlT6FR{3>YlZdC_bA8Iwz5KN2 z^#l33;9Ucho!YMjJYs&|;rYkgmdD)iTuB=HyZTg&WXz$UW~&V65;!F>H}0M=jc2*-ADZfyH=ND6t@oA!QGd+K5J$`e+A2UT#%Ik zH$7P-idiqlyTkQ-sA3*IR;YY+T% z_|#u=4VZHw+p*mlDR=kXx)1SZuX3)^&}UYOJ5dkehI}sMFNsEfv2S5HVa63ZYJIln)y3jUi#|*EjS%`n~*3#dpr?2MHGN zhUQ0jYv^eRZdmJKESCou^r}uPeu%fF-RE^hw#r{l5M+|A@bwpX_nnS~yOc@wl`3U( z2;%$Nu<$&QQ;$@cm-OMd*~@wCzrUYL(*Sx`swq#{I9=6`08anwC3T6axM4qc3a+&U*yTX z25%Z?jjgg~e&*`fy%7%^N}#PTi7X_v3;+NS07*naR6`lHegRN$oE3_%F9Mx6#@fg% zt?XN}h6xO!quBLPAv)?O05ui~t(XDcr}@x4fI}u1Y~~J6Zqh>5oW^08)*YMP(i!r* z7}Iq)&TA774oA_LM?^KS&02WdrG%!j3$r1mzRQF6_+5;^V|_%dl6~L_U8si%$I363 z4Z}MAD$vQ3P29Bpl7TxE+I^~pqxG!fPcmNmeI>>`F409L8J;?HckL*kv$*u41>@kE zwAw|BH&NnPE`X2nF)ojON5p;&n1Hv1mYY!JT;<-&FT6iOwyiQ?$E+F-Isu`ZHFi0r zERptg!Qe^qoPZ=#2 z$oCjJb<;r|%ITcRHZ70P-ApgMR`S0>aQN`Y9_T_Yd9x4fC;pZl?e=~_<*Rnk@TlEdtd?=rb+~FP3dEhRo4XXKtzJq+UjR(IJ`sdsb z|6nSA0W)Jsez02SjC=!V4tRU6PAx6^wt2=cwwB)Mu7j8u*kM*7S5zM-{W|K=IWIO@ z6WrfH=`Z#z*VG*zf^Ga4Z}JYSL;+>LH5md!+Np8uh(d_=N5ggd3)#_m|6!w zLyT1ZG#;>P?4aMHeC4i(J$-6pjEnjs4305jqRPoto%kGcZDWY|K_9(2nb#m;_xdpr zMhnj&V+a{LNo#~n{Jw}Z@3I0CJZK-*BlW4hi6fu%EjZ9J9~}HlJi4Rr zdXvC->9%Mj%|(-q+XeDFl=%hTcHMJDPR0}CLz@tP1rH2Trh(9z^WMgQF=-cn{*ov8 zCG|ZP?Eu#F1!M?ET?-3J9Z#^CeZd#Q#^msY_Ou#5J)>sqIqT;^FN`>cGS{6w4*p>y z+0$AFqLp9NdWW2Jr0ig9;uBWGs^vT_U)|PdaGLy-x9;n^U99tS{5gtCGHwfbSpT+k z7`yh2rQ@ePJ}dNw2esuu4*+4iU%>VY*~E8UXC2p>;ukRwaRmICdE8jQ*YxquLk;09 zf#8twbW*g}>{e^MZ4Js32 zEci=QB>H>|uiwJ%UpyXl+L6)yK-mS^#*aCUXq@|BeRIA4|9oq^|Ld#G{;$v1`@g=R zoQ&l^owog7pRV?Q{gmsgP5+Ny%8*zT^iXrBWevSpqMxl2`eL5Ir+QmuTVtu$fZv{z zGoyd{-BoY`ymJ|U$`)h@u_kPMDWATxcK$W6O4wT@E%j3Q+ob$n7sp4d|L8QF0S|t4v;LNi zoZB`ou=HzT26Ec)gn9i@6XM^#Rxy;c4#Hkyx%aAH#l%Nf#KOrX`q19;sSfoC>8U&A z(RUWuBRo9P?>Z59?d7AymN}Fgrt8`)e?Yo${W}4tx~Rdm*^6${ngo+PhSy03uEr1q z+;+~jBRZ{%1`e=kb(N(qooc29j(9158A0nTDtS_W$+miO%MGRP6#tT&w3|I~KrC#) z)4%S}iSO2WBdRxR$`LCuSDg6~QdGSoXP<0a?$F~ww%fbBmuXbF>_wK`I8F` z>;?qkN06TR?XkLpUMSW;aKjYtqH}rZtbrFwFMW1K$Lr8nWptCwFW*}2EVd@SPNKA5f056|3f9#P z)0}Es2j?OVJT`8}Tkhh!H0>5WqT8U$yu3?hePS=&uTTMr&WmhaIqY;E@#N9nmQTj6 zTl|QD!xnX`&54Jc!_Q0Xp#wIPk^mB5-sillw}ZZycDp%Hwnr{ZbUZ=-kF71VpFnrb z*op*3R~_QMct=xxl59>`s4vjxOJHx|xx2}5@c<-y_+%4gvx@q?gF$aVNT%{QFtCEg zbNIV^!KBC@iU~kahU*~rr80nez(3WGcBmcbTkV+KfL_4U$wZ>QXV^9YG-AH_@VM8k=L4dg<4W4eP{* z4IP6tbQ#}Wv9L%ro}gAAZZqpe-S}?awZ2sI!w|Y@?Y5q{YUe|&<6~Y+$8wO*fP!wo zZ`j*06ZJWEt^9)@&+^q6u)bsRBW^DLVc+u)*6{ZCFjMUpw|PguIdR5&i29B?bPN#^>{5IpXSLBw($dt;J~>xk)X$&o<42&w ztK@4mIGTJ_fv3Vvq!oCMFJkW=p7elES{gJO{9ObWqdccQ;Dq<4ed&zS#Rz^ei^ zVtw6_6Meh{_gN_rgyVy?=B1xIQC8+?ceg27$)B(6C%@goYtf!@ofo`!z72DdZ1Bg9 z4>;VRTWdG6AE#aCa4xtjxrz?@wYD$jMR*8nt+39gd~U#3=;J%A?T;xxAAwK6g_hYIxU}Ym8>!)AqMfFP8G#TcFr6ZJnRy@^DEUyvaFVgR@D)zoeg6NyQ&) z|8S&G*FWEljkfL1)(Wq5NnAyJVh8tkj#^4SiD9=l=-}tf>ypL2O8x{LeFLD!cX!d> zXfBWTi|6~*-@LqC{pVlaRQa2?`_`_hyB~`*`Bcv$FND=aQpo#dmB1=$)?qhoR%GW&+=V?13jI`y`!~=lx{4@ z2m4IdfBj?Tli@lvMLo!ybI3K_*vy<+wmsn*7MFfaPi;|BF{duZ((AhC^-CbY;e79K z4SmKQBL^PUkANfo97B0S{$y>Lkq6>CU07_o?+NmBWdlGzy?%j?-*Rzuye7{D+t{rh zJN$L_B1vPqRZ_LISHx`&uiE$6&A6T7S|`x9p}#w(p1h`%9n`fj}DQ=%|6_H4BsDbJ6b2 zr&%~zgO+lQV|XtzJLe6KtxcD9SDz)jJ9K2c!)^gyaUQvwQJ>I4jB&c@yw_V*5VA=x z2S0!3~$?B~-3}=T!{|rycT1QS~sW}Wf zbx3@q@Va^bfMcVcP(!biNgBG*mL}b%1Ho_XW6o3M5rG2x35h9<3pPwqG1z>EPc{{S zT*mc{c>=tpe8xlPsj#%vo%6V8u}?_w6J{Le#*Rxo`^RC4a)l4SdycH=_85-Q!|_sP z)f={t$=Z!5`7FqkJ@|}w{D*s_1CEWoWAG4#RG;dRIpjOME1-Y=6e9qbKxe<+F63jX z#1r}~yi70PeOm4iuANW$wYmB`*!mG{{S3O->YkX@cE(*tpKcVUS*sf42^-vT6MVaG zh}BX&DytAHgfJIdyq-$w<&FzB?`30}r5|hcg-ws+NdC4Z+8TF903$ zNmpuaVt_`@;H@6ifcMOgDZi!{{}I>CefhFo=;2Pi%MW>iuJNEhTyM!aKIJ{*Ci$r_ z<7iEj`FjwEpNzaV@@B=Vmr2}Qlfr3@$7r^iy!6<~XPvnJ1~xgvZ(iWnR3q@w*|pTT ze#*O*H6$Rh9peExFMP6s+`P$C!}CeJ7x>qiYp(E+Z_ulPK6k7&JN(B`o^h;wdcA>` z{55F^09@RhS{p3t4*BQ!&<-2?=}+;Q_r&{8u|MI%bP$zaOc-QF_ym|`KGV-u_*qOm zh1Aj-6R?iu9aE5BylFNrxT-^Xe$+Vfk(SguD$uGRD3EfeTIc0=?5eXlxajGh=58J| zHT2kA-;rTQ&aTb=D);sw;yt-)nSa=!cvQAPmzj&S{NUfSUg)mF?%-Ed>=6aqgnYZ> zM#&A?NAj_GSMGQhgn#?JLO;UubMn(0Y{HvaxrCNBeqfe)Pvyn@*`?-6a435CBO;K~!6GNbueq+?MYoptAmP zvB|-H(tCvrsvv<$oeOJwi7p3g({!BZ}{Vny5fHo_78W{Yg-Q8zh z7<=XqNRBp08t*2AbpaE`hppmg@gh8O<%3K%=5{w?RzAnVnY>|t&|TG>BoPgyuk#Q$ zKGaIfoIfEMm+_eU@tLSw zX(QB#4}>vq&bUEYTzY7S)E=5X^@(4rml@|Ana#V|BsiM{38kK|HLTL@(D;KaEz`@ zmWQ6)88AEUK6fm5E|S6(&&=gKJLOgB3z9lbB?V|n$5L>>vd1pSg5f6V*tusNmp;KS z8YH^H2VP`t;<&J0&qbfwxiOmY2=Yp<==D?d%I@HdJfg>$7QBk<+|p6*rQOx1H@%A@`%J=(&4ir!c7`D1aMAA1l&DZ4lyb3AB2 zZbFMk@xb?{-5a>VMF{b~k~T%&q;Ih;-jDGwi}Jfc+7S~wbp-w0L|1;ru?Q#L4xP;Y z_SFPG>rZ%fH(!efD;1|N;IX+mV{vzpDE~t?=Y3GV8#ZsshEO|nU;ZL*;=seF@T9pT z?q<7N#~T^!wlj7uwvXb^i{PuOy*pl^A~j`jgdcciw+5%ej|@n=(Aqx1(3K< z?us5hLkt*h`u{PUuyZMWBL54WP(Xdl&6#@9hSU$~v+Pd(EWBD^n9+@%x^;2z@(!JY z@3dUjQFfYnta_ADKPv!EquqO!cq5-ZKE(Jh*rW7gjo$SUiz0x2?>OWlCezmrx}9n3 z6SmRU60zvfr~Y=xsb0(O$|pQ>J*1b>?)#KpGyw2XFZ!Q;LV1u+`b#GG`6uT8ZzRBq zVe!aI+S{1inPcgjc`d&He#Wg@y+C(I(i{s9#F%5ov98>F@K5{&x+SZzD&GPf6{cjv z!Cb(q$Fbbxzd`@+@o#l~gmUi^6V#^x^zog(RrHyU&1=PyI>4Uykhsvj4)Dqby^>Rg z7=P#}S%8zrojArizP-b4ZkDRHO_8s8j$c6kKl4t(fBp3>vfkCZE82diUM%WVS;;^8 z>5QlBHK(yjJQaV+=emhA)fn_=__+qW^4SQl9oXPp^el(d_IGw4`+Ac zGuQl1tnhO=#Gf`-AHX`-JYM{eM{t|Dt7>VLUrED)Z!L46Ko8lW=F{%*C;q{XRe zAREfsS-?|1{aQWWr*Qx3u&$v09l8`}RYEGH(Ca>&ox0k*_iSHEF<`sQW)&@!y@hfBQE(|J_yiH3R>SH1M@3Uu)oN z4ScPEuQl+s2ENw7*Bba*1OJXRFy8F^7M}tunST?UpS|=;MSj-a&((=EQn2-K@t2Q= zVI9AOY&}Cgg!d5r;b}{K(QHPfeh7~4`n=~b01rKB4UbmwOUc7k8$Ti}&;!NKcn$-w z7cGB9{rxlMI7tTQId6H0*Gw;Y^NVH$`*dBr`b#9zoj^XS4)nItfbJ!w=uy-6Dfyhp zFKrbqd9!Tc)pFWC`Dp+@mpUL@l`CjGS>Tj=DeROWpj)@pqD{pIhq~`6KHLd@;mh6*fFi8{T%xSxE9-%*$OBpJEVy|!EFaMEJ@)3svGJa~7f{{ma{nbcsIGOlH zN1wu*DHpHM98N!{i5YsVzwtQv3-w@uKU9;Fmwfe`=sClnZ-Vz*swNj}()Rl6zxyoJ;e8a`sOC@;KmA zh$m1-py_;kZFj{Yx|q!k7+v56F zeJFH>o98;Ni#O>_n~?HP^z$jaqNg6wN8#d^1AaO449Q~>hiiG#7v1wz+d0(BN&Ec% zQ~oT%u3L&O*H^?;JIwxYqxb@L9xeHxd&K8>SxVH2T^tnh!P0UyEvWOP*62NhxQzLw z+1mMUdM>8E%L|+cMIo!;hq6Ti@q*Ir9KX=iGceCEv|L`b=unQ$W#p6oIms&^ig5>O z09V2Bu3R{_5SS6C+P7s>D(~sN<;E|v_@$NBa`K3IQP44;!=`0L^6Pz_zNYk5?#$qL zTc;i9Tux4u#Y;SmUOy+v!c;?k5c3^x2y^(wx{oX^xz99(q?zuE7TyFIwzF-NwEztPUs1bM%DWYD>ah$|5DH)TFq=MlPw>V1UiO8M&7 zEyS@8nztR{I6j4gx-wv+HFE5sqntg+N!Hn(ZE|k%kPqiODg$<{U){r>27MI0%R_&% zNeGgwM+sBj!zw$7hmCU*)ZXGR>eUzUu*EBFau4IfMFku*ymRaL&3?72UyKR#vv#fz zu(rxSy=jEE74ig{B_Dos@^q8$v03}x)jH+d+gWL1VmoC10kU6hnbnh@mk^a?H2!9 z$Da^)5$(w9PbZ%<-z9P^@oHX91NtA%Xf%q4GExs1ZNPpT+Q-Mie)!8c2J#sN+?}7> z{fzw{!Mpk|OMz1OD-^`BhLq7B(fr&@x=mXL*z|#}a;SKSI}U`YIcIq`vr#p;xDgetsa& z<$RR=kVU(Dv$9XCzsj5D0CNT7$95OLHmmrHKMSi)dqaCC%^?Z`-jHu-J#-BCgFknz zujnH|zr_RdIrb^NVB$o5?t5-q&mCoT0$qK3{SYN|#@LGaJNX*qgcz)K$rU^;-pPI{ ze`bCmj-YwWeArADxSz;Fd~TUi-+fHn`t_lTBX~O@Z$^D$zpD*E^W2MifY-qo(>c^7 z*Z$16`O)}6(gpPW<_6dllgtf0>x%wxiT^H8 zs#&>!Ih|YBd%i;d1vr-?5{E&p!X z4uDg`N}K_G)ZEN(4)s?t<)Q4(e3#l(;6)iW_|y|RmSgXGPSEKoj`mC^V)%21-$SV% zF4;O4UP8?8-|VwLLMr=B>(Tu06N3HJ|MuxNSL`G&KeZm=_sZtacz1G4@R`n{&`%J6 z+~{um3jJpBDth|Dux9Q}m3FSpH#z67=jv*cOUEeMd4c+IvlE0QfE6Qy@D!S#KCX|3 zz6h({^V1dSJ?HK&w)5`tRq(%5o2KudXEiVk6zvO z(0jy8GT>u_^AVfoqtfY`e)6t-T(Zs_=cVHFJnX@U9rV5>2^lx~*NJW7Xp0XPpZLNt z(c%?3gZwpyKINnG#J=aj{nF`bq(}a&_=B&ku>x{;_Xs_C(63o=)SJFl|N3A9Mdnhc zwZ|vd9Lonp>E$os@h{nb{v|T}CG-3x5AXhxJ=R}B^RKYue?&)1`^|XYLZ9Cm);WW( zQ+(96<&^#47QT=8LSxIiXRU+}RwR z?#Y7>b0F)~B|kFNouF6|gf2E01hoscGtJ8d4jgRrmgJn*dr0rn-rlD9OG|B6`_kNz zF4Vz(46&h*PRBnwdhZPMg*-Dx+n|1|ZVMewjrsrp5CBO;K~!tF_>2?^)P(?M?GEyX9B zBI|cW`x{Tpqb`j*d}+?7e-nGd14iI03PJIgcN#AZ{P}8SjPel=b3AEmoR3^lI(2cu z$bCWlJ!T{Hh(a=dvRMjxzaT>SH1N5>KbXJk-}u}{e@0&1;2w^4QCC4<5l^2mM<9>% zL%X39H}#nvYKhz$$E#akwIc6TZ!tb0ZSSFMh|M3ckpEvkTIEM<1b(z!E z`1o^>T)gJ_h1udJte>KXHJidUdRS39Wocnzbai-bd8I?&DnkWi$^cSUkZo*Px!F+ZFSV^wuvteR%FHURwSQ6~0E&bId#r{RbhY{=gDgJVKBp=Ha`dn10Scil@P(>XP>(K|$ z>C3&uhvIa#X(v{Cmhc9hP>6$yCBXnXrl-Hurdqq5_I!woK3eqt7bmU%#W`i&`k$Y$ zX#)34{z49TOpdu|yIhbbF7TZT=DDc8o=4Kx2cB3u1ZK?dVG@Q8BYjP+tEMp@pnqNYFrRym;sKiYXMC}8 z7@So|Se=;Z__Oy@9s-}TLHoV7IbWqVuQksd&gLxGeVMEB(N$JBgX`DyFtQ-n%tLn= ziS`@Xa%@3DXmX_+9+j6G=3!rF+s0G|_(q(z>)V>F^U4I@;-u2tfj8B%T47vJv zuB4%VOX}!(i+@y=i+0&ON;Z#&5?&C{U2I;itCqYaXN=Y9h8m+^`>8_#&x3Oh54Meo zvqne{@=Un$Zr+RCtY4Xxrb7IMn>}P_e2VM7PQRMV!sNUxUt~kV@~4uo)=nz)tRP!= z-$K4Dnx%W-mcWqHYMSLa= ziw$y3SQF=X@|m;b7ufjkZ<2q&f&Ky5f56==_Ps$xuaR}mCtawZ*Dsa6CAYu5-Q^wp z`tKdwHob!frh~MyFyU|-t;u5(?7kt-z6wy>do;R?TgthS-(RE{aKY2j3Hk+rx7jSy z;l3Nhtem#p`1U1QVE*~WcOxDO^CuWc=-l__Z_DCE(ZKA_j8Q?4fq}U68oO4 zN8s_cf!+pZJK^m~%%Xh-s|yPEYQx8pI@x{0o2L;i^~Q>T={gia(Z#EKi+WAf#a(6y z@B#CRO;udTaOew)|6uTP%?65kuL5n(uH4vSz)I@vvtEJj+Vw6KP&<_8FDCgQ;%4ME z?S0P%-As6!4Lleu=)u13ywtVbU0Fha1VF$EWASThA0YDwY~Zd4yr(4j58&?uKGFGr zP49_y^!vd@tFN?)V=)hf2kF-E&mDY{d>aX=+Vz&3&msVj~9)YS>&k;%q+3hn+xp+ zj5-+#dVr2^A9mbt7z_S?Mq%nYH^jmzdc$$CQ<6&ECcvZwYlX+vwX7GfxsjPbF_RzvS_bqH@ux} zHI{g%px(#4-STBd#^Zvvo9`41GsBZ~@0V5FXwKvP3LifOcYtfe+;M@A#VYDxgHAIY z_`x&k|IFLjf4WWniTg`z=jP>~;M?+3Z2PkEB7q33r}W@1jl87}v||$kaoLh=4>;^Di*_=I16M!=Tu+F87`*AtvL z6nTwGfu3^>Z3dWz>)|wxPKn#6>6<`#w|pCzKSL(E>b#O4Het?t zS6YqTYXjq2QUhF8O&ImLq=n~T$H3!IQb&gmd7k_AW9*QXc;aIxaD=fG5|^qMy*nYV zz^hF)@_piZ)tBvW-!0nTT&MlbyVgFvY3A}uomcvc95}xh!1}os;|*U{W}Bh zajrX%)Im;3ja6%Q>1pJEUcNBvrrIfaTUTJTh8@id?V-P9W-XZ8ujFOl(}}(M1i#iJ zo^;zfk64fT`8q*2MRT^FI9I@$wlV*{3V_3Det`d?N6#6)#;wi^*1tH9`X{D)$G=-k z>6SMUMF*SsFj2e}R`S@j0p48~`o%iKr_Mu88P+B0*s+KCp0*JyF)vkvoLP5l;#yFJ zTn^&^ErN(SJ8uOtT{g&AbHi)#8SP0Sm%0wt9ITUbKFv#gd?}lPUqqXgJx#bns*f*$ zGdon}B|NI1dKq71^y=#?u;F3qIwQYTolEVPMt!#qJbDlDC(Y)%yYB=2o|ONCm3fah-hza^Yflq%pJc#nZM|rcF#+kXo5Z5f$e2%M5=MD49&D# zF!xmsGSA*_z2pJoB|J2E6mx*t*R<+2%;lJG(*5aG2M{$_I)TSa@E$|sce%|PdLL6V z;uI|7uSc0npJ()%WLVS&r@`6SkcMC_XI?OFA~N7l5Q-+C33I%D?(S#kYrOFZQWbC5 zy|Kw|@Bw(Pk;%K|*C_9Ec4436A3lLU2j_Em`Wznp=X^J|0sMTI2un4}R|`IbOQ$Z{ zIC+{Q28eg4t8Wq!Yno`W_Z>EJ6Z#w){xd?$OZeKMm*?E=e+KR6Y%Kj0PQ=YP!CPc_ z4PF)a(sHlypDOUj^Mv5h4~Gg@)v@nU50AmQqAZyo?#Si(ienvH0jqAg>B_^~FdCc< z-n8L2!25&}+P}_io>I!y8&Jw zx;0PWBf=D)#x-yaJJ@%3A8=|82P`}cdn>4>fV?8x-&vZ28ZphiVr^a&7 zC$;>XocOQgiGKy=SNOl>bK>~F{N85(&; z-TdMIjQ9+ipW%vLBopT+c!KQ zFvlx=8+q(2`8spipfq&e;HlMp=(o;L%n92WpIg?<>le5A82A%t`X1^A1(V~2xouJAQfCiv+t>*mX0RLJCJ4{gpcpFP431xFIl zlDcF!*$cp@uB*yHy}heb9tA(5b~v9S?`v{L`6%$^m*foZ!Zz%4 z0G?N-hlN95kFXsZc$bf`Mo;!DuH6@;#j!@*-IW{qhS*5azEv5Anct1M#k_ zS8$9lh(6TFEvfl?8Jm-dpy)IpzlmOWK9 zxlA;vg0qkOS&9y}hJhMV4>uirTFf3lp{fT*A2#rh?!#`~9bFJ3ONxTg-reDCF6rZ; zz8kB|_0ZXwC-^{=34r3!T!US|M;`ex>)Vg9;rFqp_aC3|0uR_Xv|o_t{Yh)k{L)a= z=h=QAp2u^RMhT_m6dGri>Z4!1ti-CaC`6O$p2Z~q$*_!7aaIhF>A->fzUb8SzDMS* z4-@WQ?O@6h$iUXIh=;xXV*xz)Casn-0E;gTl-O_uksHn7?n`MJ!)ceurBGlID)A1y z&cZwmW!V>$IBo92QOVGa6Z}Un(NNA~vSoZYTl^Tmj4*V>r0v^;s5JW4ln$5bDA2Yv z?>toto9RGclThOUsy3)N^)Li9!QSKnn6L?p^JoA75CBO;K~(6?^@*zTM7;rAvJi0X z^)9v8E)>3%o~}y{fH>`ahy1?aJfr;^$_+gJj&g&HpTM7d(;WjG(5hoC0cR(+Y2Zg#Kgn6h=Q18AM~lm|n?5{H;>4}! zApt(N0Dm{Ni>}y3DqA+d*KCCCQTGj4?;Rho9_faIxjCtfc*de2iT5Ys;mYg zFNy6bmb9OnJ$+%|2U*9Bm-CfuZt~zI#Pyusr3)E!+Wt&?$Z z&9SgwJznbPIbT!TJ5JfdJZ~zaFu~)Lv-iAlBfw^^_ypuvyW~^+>vQJRudboVvkwzB zvGNHp@8IVhaOGc&Oeb!VEL+s4z5+-Z_({tWo17$B^MZpt61DL}Cykd@jZJi8(Qdxb zz~+v&)>D11r|dHjgqan)H;axxd==+`0i;0Aryq-WODABLO}` z@>X`B`;y%Dn3rt6P@#D^7wEB@AXs0zJTGVTfVwnMpD-Wws0)n({V11h?uExEb{k;} zE|GTNr;!^Hn8|dE^&0EJHKu_GU-7{F2fZ+VN~UD!!v<+_J<8GX9c1uD{x5m3>f{6Y zGUhIU+h6z8vnHtWHtD5egB;MXwY+*CWb0`MA7BFJELf^pdtsuzrQ4_?{Ddp*p)*-m z+*K<wzz+xWa#E>t$~8fbR=n;DUik_@9SM*B`zhWe-x|C7iBG|B zagDFsOFhNIV({(Wc`-fk<1}%PMCA+}d_dsdkmvQCfu3-Sq90=2*mb(8?5RAyTBbhr z*S~lv*|SRL6NBCt1HA=6vvV_kjHPVR{^eU}L!Z!V_O8HT#&a*FLd~S%HlU` zs29CP@U+QfkKR2}Esj(mxS^D$I4?w%bTuv5ks4SBUkgI7n)zuwhL{In98e$LwR z_pG)5z&_;fpyOBBeu`hc?LE)f`vsUOzli7l#jpLpWzKix!gsDa+^@0A8-U+H7xU#U zBI@_jquAocxllpen;Z0TF>7Q^pQw6ew4UH}fINI+s2CJDRtPNUCiW2k$7pUU!p5yO z4G5JtJq@J{6ZZ^`+q1%9N4AC`j59b*Ps0cU2V> zs!MG^P5pDLwQj1%1Z3w}1U~mTedx&Yopw12Hrbd_kEzdfA&~@e!V_Yqb2u*EJ?OA#1pj*NeEK;!>Sls*PFXp$si@D% zWF;$ncJ#tfaFrBk8+$LaA`is2i@Q1~I?{w+@u#9%W>_gcfh&EpNITYepbAXf*}Rv3 zjxH3B*XsJZA(6?s<@{=qEE_}EnqKXyA1c4=_+$rV&P!p01sp%DKIlc^daqPaf56z1 z10JAtifSTOCzUhkRnOdl{L->IFI`yXQYTHnB=)B9k`bTAZKtmLck=)?EFQ_Z>Q;c} z9QgFP_Gj(`pXkyUDVhMjWn-yn(2iQkFOl=*8{%EL8J|x7q-%o?8#d4%Psq)u&{$KX zDGM$b{$18Q=Id`!)VqtUlkspp(GDBJSJ=tiX_?zk(8uDr4#3kvZ`d?E)G1$Mkt$;d zJeJDW=&SnmYl?BZa}HoipZMl+9vtu(Knu>Djv>)o`80fVY;=uZ_~Pc6&kM#^ek!FB zcM#z$I!uu%*#aXA2Ri`!+`b|yV4^%H(7)9OxECMrKc}}P=e#Bt1-)rUurZz6D0WGS5j#8{pBT=i9Jyugd{Ex4n*p_4lL z>*G2d;=_NUJYR21VEAmT4UMSLGZuA2yKqLjjSX1+1J~L5XB=%X&LdzxXTI0+R}9dAZvBx>XL4eG z?k~Jc&BnLqz_wS{dHdpKc)>vINT<1uF?R4%>y#}C=N%>3@0EKIWGvaBTQ70oIoQZ= zHO%!=`xh86o;C5F{LXZQlYCmEs55T!Q(t}e1wD>I%Z++RR(d$aT_n=<(^vfbpilM7 z`X24Bj~)D?M}GTymGCylJ-`%-Ojt|71rI?HhnPxQnzCWPqU+kJ{+GG08u=p!74AB5 zA6f8J>%^b^RJ`i*i?H}n(cm7H^m9}&0+oB)z z0*HUF5`1j;@-{Dg@RY9drZL*mkTtGVw5GH6A@Jrp-FRRrzrJCVdAMT7#efH&bGysu zT087}eCT;2yqzNXF-jV8?DMX4ZRb$7yo{@_)AM3JtVQajql<-8YWgIU2Wl5^<;@F9IJU%P$J@jAWX(=NZo)uB4TIw{t*t{T_*JsUAk`@jm4QhrjNKTV z7^wcBovu2amjyZm(km9NOuT3iC+$5u5?a8Y^GSE1?`1>-Vt`<`aA`UV9`<;8oX*`L zxXxfP$Ry3ni~>-}4SC%(2v?mCTwdW&@{^^e7y(9vSx*hTR3DCcmrwQ22BZ6ZX&{=s zswqN`@q4dmHmdI19X1A0In6c_ly|P-`@mpIB(lCO-1InR#O!-gDYg@tomM zCGVuSM`N6|`KuusVYD8%I;)thtj7A%DzHY^gYcP2i=^& zcTRK94qLL13u7fuFCbdG=$uhA-Tb{svX})b`6{oOpt~M{ZP5=VWI4WJyoS$H!5QJvK6?KpQio)~T9hh%J ziIsXYI`(!@syf~~c@Y7tEAZR!qZ4rQr2~ridh{oGMd!Wj$3*Bh=(D3+?c`V2CiLg( zf!MrZfqzXL>TixQoBNZLe0H#*nftXN_gJ}hEcm0o!vkpfmJ4@>uD*oN&h4O!@8r=r z;nAD=>+q^$ zZF8u)Fpms0z>|PBGLDo1oz3+kp1+jlV(iQbk4cm#hdc(R(}x&f9!n9 zQaHRUw(B_FjU)FGTjssd?&Z+fT0W(zPl$L__JSw}eij(54I#c057(o~C%}KYvhzI! zI|TfAU~9>;HL&&GvcXvw_|xEHL#8O(p`S1NSyWZZkL9cA4O4gHM}mzu)2Ksg!?{;L ziaK$>!Q4d;e|||^sZ-m5m-)WOsfriUR?O4V9A-=-)@$vAmO1j`o?gI&x5K^%zfM{j z505Eb_9%Cbj+YaE_D}jJZxnA4f1jFzzK#3{N9l-`MuoFs`{<9x+k#GfuEA?3hE>m8 zFNm8dPvH7_>Lv~xVLSTtUi>24JZ_ma6$|X^ls$VHfH*$N6;@zge*5|wWygw1$7S)t{g_|l=?`qD1L zIX-IHuTuE4z?H=82R;aGH3Y*2O7IW)4|opjTb9x$sjX+L3v9<<(OBqEj@LZ!P{K2+ zgR`?5KlROY_(z_~Z~2%kat;2DGSC!1Y3S+Z@gl-zJT?T+2b)DKPkfWQR?kZ{L+NSg zt-;5FCsbiav`l&lG}75$V9;r-86+A}{m2_aif#Y^5CBO;K~yi~Q9})Hs62Tx>zH;m zHJaSu96v|dZ)tz~@ly3gTSmL1`&0Uqv3}hJ+P$2+!7I8sY0<_yD(GK2CtY;(P>#k1 z<(juPRVNAgU;=vwJcH{A4@JEezXo&roWVmU;A0XHvTVVa^?9)iT@QbV*dVcBlulxo z%9qY3JRAhSTs*}-*yCe-djJI|;67fYzR!Y>#zf)_h#ZyAa0s|H1u+=GAY4mlr%5xh z@-Tim6Rv(>f>>BRS>;<->#SM)UIaedk{OqIPGWnDK2I-~nfpsPhB#Q{1l><@)T!4) zIKHxSr3CI2-OWhSlbFN&m7b1F4L@lnZ68M9FD5($nA<^Hp2BB`pB{MAc4^E-;f;In zhqCLs<0QdONzZX7dc=jkf!BRZR^^WvXToDRXT)*# zOtz!Yaavz(k~r-}tG7Vi#gPrinl`hh=0V$4XTGXxUvyJ_(*>WKCs4aL_?EV*ymG!u zUoSwXppy=M{aqXPkb4gH!w){jM}EY7KVsMaBXsve-b7x&&j*wrt&;k6Ha4+8I$!4d zm&+iE_gSu?QL+8OY%;6%xVZ#xRJ(m*-^n~k-cX++tH(a=mOk|h3-b*zm@$s{WbGN{x+myu&Aj4SF3D3NzpRNPe<{jeezL#HBC%cc zq$#We@`?7MeXMKC=D;1j)PipxG`)@G39@BL1HCA_Q|dbPHCOm+^#BWwzTw<}dRnbF zdFaBnsWMB5VjtV}!#3+=gH5XKMI`lkf}Kx@1#HwiLOGUJy78++4SR(4{Ff<3bzSjm zO^?a*(t48c5CCuHX!J;vj%4oFPt?T%zMxw_Rg8b36+r3Z8u^7!)i<|;YsFG!$eubn zY3bw^QS=4rM?O!J!!HfOO64r=08baheVP+Mkz8N2MzVq5IX&lH$g36bPKfvKuJDoF zK5y`!$fE(L9fg?{KQ&pv<749C(Q1{)X?cWRFYwRD+!uid&I5|MDlq$+2SAN|7?4i@ z`PAkG{kV2i-E6q3t}8Ll(TN=mI>FC<7`d(-$lOeGsXqun@kdQAuv@KrXDfPIl_4&y z)AVHM5;&{#f_SOCeQGcBdxMr=DSFLaeNJ|FNPmgBjK=yBUwcA97eP1C2k^nP8Qr8z z`s4z}&BNwD;;>-Qf7x7_jT2y#mL>k1;{)6a*1qBIF_^2yTZ$&UAM4Y-+7Qq1hhoJO z#ki1W4|B*TbT7}SJ4i9tEZi$PA@>O{@D&d6Q+VttCcoM&j_#5Xs%(`iOb$g ze~rwT$A8mOIsq#cM>>Rl3@?>09T14T+((nRf!8KABt89%cwnoNjr7_wud7G68#Vp&6qRUfS)~p#8I%1IDp3P&~3eRpq-_Q?Yq3okAtIc zSQWSAlimqAi`<$s=`A9?(hq=s!oiKb#z5d6-Wem%F^6_&7VQ8hLrcaeYv-qW?_4Ao z;61_TJMsmbW<1F&V|n1fO%nE6srXazo!kj6*5-QQk3F(VE@g1U*I&vn(SO_zGWG;J zUQzd}+JSDVX4P_O3}iS+1AO9*5co&*C*)`a$T+&!*3Y-_fKM%m8AN9Qr}ewa(NF~p zb98r%K#HMubOLvH_+ZG7)%Pa4#>BJ_=QWIIIN;0D2s+2J{+dP0kE6naLDJI3IsB>1 zEpK+*q>W6*W8jl{nR6#i6p)B#-;NFaK3hK3dCLRB3*KIBeUq5sK!>RXj>Q_0F#?W? z;Rc#*5OuZ4f{o;WFT?`&_D@kAl>j*P1`&7y;2Nxx_UbP-I%8_N02uzJ}gReyZe=ZmnIRu^Fg`7i`}t z#iOc%c$@;YC%GH@xlfJD<(Uksze-f^w47S$;*=0#E3Z=gL5`? zvr9uC`2s&fw(>b*XbY@(#itb)+zTrBcW(?{gIaXs6y^*=(a(i5zFn3 z!~h^?>m$?-=SI7+G3fB9m<>K(!E=2=XTHWR8SST>7VYqwxtKnHr~EV?@Tg9CV;SPz zp1B=DUW^Mo^Svg|WcKwH|E}{@*+_fvK=R7DOf}ri2gqa03`qcs!=o~Wxbu@K$@;gS zb9&}$c?g@24I7eglMp|9b(@#IHG9Jd4*LIapGF-ry{mHdNmfqCf*ke{;P{}8wba-Vcn>&-{=?gm0aAl{RRV_=m+K< z^fvdGsC?AZwDC?G_wwyb2XbDM17Dz5KWUn}z3XRB$Stwh!CVbFgD=SEV{AWtqd=P% z$l=nc^$6eawTQc_N>Y=nnn)a={w9EWJH35k(=e5|B zK3y6Q+pcHvU~e2oS7Ci_SgKVn?2*R1m$!NL3|%?S%h#=bTu9@^e8#*T|FWkc+kn4I z8+9CD%rTDFhgAx>K=<|V*Pyd!s3kD3A3Q;qSzn#U&IZlr#G?IMd?ncG*8Ly3 zP#h!}U+j`SzVcGNqSGyF=Cs~sewgsF{W>lFXh_2r z?k`O7vgxP5TVCMd#$qkv+UIw!V)pAg17 zevwlH+XT7>znrb7y=9SLL*Yi^wN4EDT%TKc@WF{--J){{BIm$s;PLT!a(0$Hoyn#? zckmOP6z}NJ(hd!W+4~CZHAHZvE61r$r>gZ0<0bM9eSNs0&cH`bY*WxFt}~2HSIjcK ziSS|IDRhH=Ub?s!Z{TSY=9p9nlrxp!B`PYf!0UqMT_ z#wOJ7qrQ?B0LsMh-HCF}(8rE)JtplK$i3$gak*st4aw|SKKc9v+bvlMUocyH2e9^H zA&a^Oulx<$GhAoUc9Tl74~^fZ<(J6!3m!m!0Zo6!>8IHAZwY$Wm_iya<*Ou-hFpyW z2~#H$MkYZd>&pZEZF&I*i9}ta`##AgFt+g)e8usOe5kg%=9gc5J8F>B;g=I`ig;{(OkAa5tQgbqgv}6L+-h!T^LlwW` zrAKw6n*^MMgu2h$=eKdwveh@?VNNd`#_fr|qJ5l*d=%~Hd?VdX-P{Ctow~dmqG}*t zKUr0^^y1=0-}~}XeXUmLvKPX@Q}Jgk<6I?&vJ!`r{bVa%jLY7m?VZ9u(!9ptOBr&U z1u?KP;R#cAz(1`=-w(P$$9rPF)LR2zzW7yu$L1w;)3b~;eNkihWsyKO$9`5Uum+?I zIpi{DZv7Tp5a8-o*#P{K9rr!reMtO?^Ls9>c-$xCC3DeUYwoQixv<#JNO+R zZ~nmvc2u{o$)oZ;hQ-e#J%KeGOlaua@b=P;0&Hk?WLO zxIxk$;#!zCuYivOb+y^p`vUoj_v0 z0Mxp%1Y(u+m#7c3&^ny8xkE3**M)(>2H^$3>*qX#0l$5fykygCTu=H$b-8A|CIPqm zDI0k0wJ{4GdUeC2?KNS+jhA|Wmmk{(wZ2X6vqr?MfL1K@(j~D%{Rh~c##6rn;dy{vr@A4{KA9$JUU|05B z?Z#h9H^U`CFC%!iFpE0?I6HAEW2HmO-bT#w_G!qu`n9$OHo`1)qsZxxAL!%KBj@Md7VpE)IbCF*8uj?PNKo@6cZP@47 zuNe5!xgq8Pjl%$b<+mTq@fP#ps$d2PLtNX2IBM|KR4#Q#n_ml)Z<%tjh0(cu8;r6d zpLO)v)TO=+J>#FH%qg;cvE!kys)vhtzV?yQaSeiBb5dj96ZeSNpzewZzQN0kN34}UN4`BTm$t+ORUq%5;`spV-=4a6U8fC?F6gcx_dTkq>h~{D zp`(N#=nbYS)agE)_;vkK!+eo<&`thUCoW-7x(NyAG}%rBy{jM-syG(sIpDd8V;8q| z4h%8+v|wK<#V0TZyQOfX4})8X4u!;svggQKlw5MbpLmunPki!a5!S%nnrLtU+ZK)Z z_we;E_On4MJlek@DgQP1zlQd&k7$Xfk>qWFAN2zB*uDM;dy9U3BQ5N_sG}`(#FgJ? z&u&N*;FBEGqp;rPSyzaFNqb zQPiJzQPiV!r+G>~coauFG#|)VI8B1FpClvvL-ILa`8IN>m%%^rpOS65;~Ph|S1()R zP1#^X9c<;B*x!QdyvL>ZgpT7|!zsQRf8m;Jsu6NZ9f- zHf8?NEmM4D+{#MH1E4x7dPN(Z$OkfR<@-o4guyVcF#0rpGH0yh&?Xerb{IO?eWsV+ zG5Xp1A-{M;yk`Gm| z9+5w=p*&jDvG8A2DsJmx06pj<*rM_^6AnDk4}EQTJdb_FFR`b7f*pd92RznZn2ys{?F(GPxx?Ms)? zah;Loc9PK?0{=7*sMFf-4?#?NjPb_<(j4x9Fjfi=Jxj|{a?bWsBiNU2=2+n^Tk|0H z-MO;sF-(AO4+Z+zWWuW08{y4^L55(rXVBm3v+}JB03OS?McG?;D>~dOZ{nx3=_fMx z?&_#urBMZ6!w0GlIs!kWPy2a?Tz}Z#$kzj(;7WVM6Q;`1<*=qJ5Av1Ye1*R_U9D5> zbGGE?zyJL%|NHN6(%p-gM33g5ngbp>mJYIgM$s0NO}5B6!5-a*hn=I&ubck|&_D&B zPWK;B7GJt;33?Y17c=kw0olCA(!V#K{~q+p4r~JJA(brhpTQ3IjPiBkPtrgwbS@U; z2Og{cq&fZ=r1G;d-oIiU`^qW*J>p@`z`r-WIqg5D{-1@q_*w&BYv5}Qe64}6HSo0t{{N+c_do1hU9Ga&3}1xxyUG5sqF+yah|@Es zsqfJ}ZrS)nN`M}NYM)~?A3PoN?>{!{6fNmhd$Wl29z;6o^n0m(M_96(HT2J#Uz^PP zj?G!Jaeibg8U0Qxz=**0{`ru+{vFRTZx6xUpDCI1c|7)2ZNHnifmh`d?jb(ypNhZk zBYc%7chC!%avtk)8h_ti z__Ff_d?MdLFA(E=5Uq5NO#0RYusIq0z_F?Cp}W7>Q+}e)oVDO$4}pED&p#2XUm*l% z;`vKJ4|It47nk_I{64y~-_h5xzl5o5WrHhlVUn|898G5XivFyICqE#GIn*)*j`e?z8)$8=kdJ&1$r^r0FEzlW zaG1M%jC@;mG=AZGgAcq?1LK6`!9#>mzy8$B3m-yobo#>r)ovb)(H@@~t6u z>@UadvK@52&nG>Go3{`7Q@?zIe_31$X+v^8&As{^pUZ5_OBleuuX2HzK2vK1!9VHK zv3mp_Xeif)wa>f58}Pj`t%Cg=o8W4Y%W<2oRP16$T+U|9yI-Xj zR58c~&W1AK;Vy;$zDxNhe95mrAYlG`AMDhx3QIE{8-Q@X?@oT54ID}XAV*9H~(UZTc zmTyoB_XPRiLApn{51VuIcm#X1i^|Cf?R|f*QvKMgzT@n4D1U>JPOR_akCS9`p1=c> z+?^Wi9Jty&qMRD>OPKF^{J!7qP4{ozs(XHspIT5963<$YD01FXKYxw$Ip5_mF(%Mh z25iokwEP3C#y#n@P5hV6w;K9tfQ!lDNAUPp82hgn|EtY1-y>mvkG}s3ZQFnK!7_iz z*f$@b$rSz|Og039>hL?@s4?|G0)F)gG%IUZs00YD4fCcAyegl;?@x-VyBSJVH+b(~ zvMBh+q~B|cd=I?u!IS)1{_<*>PiPnL>>}QVfQWijVCLz)l8xbP;A^8kpxg0ef9Swp z*?NLpo6Rzp+>iMb&*IOg7JqAa#eVYU9}M=s%!0rY=DlUt;x8TL3m8U67X*@gQhhIq z1NBFW*VI7cdN>!=Q;&8TLT|#sA5m7BZKvd-D7&d zZ=iQZj>#!BgI?(Kk1v(gzpZ(n{lt6wXqBI(Z4Wu^21d=#^%hFhYs_# zzLMTeNhxFR2S@d9Ms!8k-CV8|=z*ecHq7q=U&AOE>Z!h?HKoS62)o%3E7*QRk;mTAJh5xrpUuCd z4(ON8AzuUgWE@&xyGN9>-1`xlarAI=-i5nRP^V6R(7}E;CR5-1E}z;#n_pq$RbRBv z$q(AWALDq0J+9E(gZeycxrSC#F5;nM^9%Cy2KWuKnMVt6MsS0_IBx8PcrBYbj(&rW zUl6;;d47t&4SK9Ko;iZA=v%c$jqB8Lycgcn!3O$R>3sJ&K{;XlJsE#?WjK&xsKkww#5OE2eT_s+($84fbQ;?I z@j5#92wpe+#5b7bAm@viu%kEVJhmYihzmUbqpD`d3T>IkCE)D7 zSIz_0k}hDSvuY%YMfzeaDQ z`4=|EcV(5|;@GzTb-%zii}wM$UIv=Y$qyO3G{NQm zal$+-Lm}toxw>Uo{oECdyMzb&r?b`!V+7w&qy?9SvI3yjBwX<&{q3>$+#Mzn`|WAY zVa55+s36}3HrJ179ZpP>$831|Vnxis4@spH7cQDrf&?AMK1t^BelVSSbT-BC$0S_P zd?2)M-!r8Fn}=d2iKdVL)1VU*K`!r|Sg;%;*57KY$SUXnUsR9c1wB_%bPPU@{gbIv z2id-1Z-3-t|8n?)*IWOxb;syjIGPm?$R;mceN1|~3@8@>01yC4L_t*H!LGwxhiBv0 z4b_|;VkPLBDaI3q#+nC zG<-S7${R(pA~YaOE#m2v-C;79m|_t|Hh)TPwV?1 zpJe~vPqY7DDgSl7=sa8Bi+Axhwm;NvoO4c}e%Jq;hW zqi~#HMGH|0r}zSZ*5T}(YQ;DJ`ZM__Z}u^6UmCN-atu=9XdZvBXvZ7`x@Xa{GB3n+ z<%?OLT6?{x!ygquo}^{KZAp->d<|Zx=jiy5c>ghL#CKR5zQY66cd*&_cnJ9~>=VAj zi+~>xe;**r5n8QL(}PEd>yAJA|Ft>~EAB7O_(;~x-5gJmgFZU@mqgxj?-+PS5aMXA z7oM9EbnduiKx*79+=yMT#^KwNe`t9chht_q64s!6&SU=3YJQsbna$#zI4pX5-cX6){~ zpigIS{#-Ki>ZfgoBk{pN-9b3sN9yA4dtwC|H5=^Kz1ls&PQq-QKS?;`$cH(q42xh7 zg;V?3AAH3eG{>{w{byGO8!jfq#OA7H^%P`mbV+<(PV0Wbq}bbRmeJ2n@TXqEHtNJR zf_M%7cJ)vmly7q7I90MoCjG>9-cEe%SU$V8>9;TVwD>V)z3PAQi2Ku3|G$5{>i>n@ z>BIO_{9V|oRDN+?p}!;J3c9PboKvqtf}=VkUEij? zrsS3`m}k+aayap+c%7#)Jw=o%N8$V%?FeBcCOKIK}!<#9P!SL>Z57vk-rPr`{fH6>JZlw%B$24ITR{ zAh?^qdNQJ=bcC*)H_))in|FOA9JWiRia~pRK3%tb0G}U#`vE~94&3$6nuWJyqb(_V@6Q@6YhgMMQn-Wl!A7b7#gqvU;aF=-0|@ zfhm1LuXlV&Sm-)O_l|rW-58q}$|vqv*67jAe|vj_ttj|ah=In&#N@A^Ss8X3QceMAkTmBqfoniYCEtNkbUl^Rb{SBMTvvn7;E__$!>bbkT9{PIOZ;IPt zuGeE<;HhL9u{JDZ>+@C4cpyDTc<)PWem0hKcsSGc*yRdaWOn$APmSGE+uf$UyUmMd z6kfwN7kPLVbU)iT+Fldyy$?JMd=B+MCmhPkjT2djZz^?ugBN7qM*rUdZYYaf!mp;O zHahtZ?eCl?bNL=aFKz;nza|1-`qrgo33vhDPipM9ToPB)hPIK*8}b~Nq;a+w3F(_nbVn~$n0J`p(XpVDGhg7W$2K?2kOEEX=5FeXzq#Ho z{`xKDU0?ju&Az=N6hCLPx4DPcf~zw_%Ze8<3-~>S_8DcReHeL*the|^Fg?vWOD_;L z?mBoKzZ_&^KIRapGe?%#U0d5hS+j=aFph3uw6hK_*qA-xlZaZogePtZ=S;_y4g9V{ zCsh^+{(n~=;;Ks%xC0(J*jS1=v|hr1Hw}*W!eRg5i?p#Twcg@us4YK7_Mh)teu1KX z!9M91x4r5&(jr%rGAA_fkbf-=WMh2LNz%|^YcmBR-)0SLhQoC%*dC#Vj#73nJo{=M z^c?cU8G0Xqa;}fLp1`Ah1y{JXz$_jxLfXCcy=cRy`8?VHopwrq>oc4zh$DP7<5765 zH3b8{d9Q}ppH&}xc(=cNqz3T;WIe?OzC`NMk#BS$T&DTJeRkEkC8f*%QWmkl3(ZjA*I-puF9N_>>@a zEd6RzpdhVIlp|voy}5E;e8GAz{ej25Xxh2sBCc@QkXD`baz!%L(ubGS76~*{1crG! zzPlkWWIQg^9eNmis?m#nP*x+y$Ayv?X@f5$_xw{GoB`g(dEv3QAwPBFopu;Imaps% z?!WH#?QgC_>FsZCD6e#0IaT}xBE zJHJK&LQZ9Lz(x>--~%VYp@Nbc4c4{^@^JU3yD{O=9+}9lr8Tv(>e=d zgE`wRyR>}=hr&ZeV7!Wg?z$jV{H2Dx=)f@njv16MT+M@#Qcl`a{|n=$7fy*JAJ^5y z*)#$j1Y9s~S1Aq+;7(^N>+j~6|^r~Z~;y1^;v0uMlO;PV+9 zg3c!`oyD-X+Z;-+(~ucU=Gn-nxb?sZUfb=XOcwi-7VC|9s@(44Kl@BluIp2L6x4uE zi$}=?`$^9^P<_83mU|{U6qIjb-=TZ#-6+Av!@Z@Awwd~#f3bJkD$hyI{uE{L0$%Gx zF?2#{EPM@FtIizH4HB?61f&1MOM!&|$aRs$LCjxEA5^)e1_ z$w+Sss--dKYyCD!OXB9>l&E}x{J*FDd6kyW8U1~gpN`P_B zo9wezHubO0cqtGPr2h+}d@{pPzh?Ft-f|mt(1ZuqIU4qE)xXb6e=cz{1gP$zFS##} z=~L$a6kq-nANU=*`(nqZbLjL_{Or?x&x^N%9h5KQLRRx5J5waUG+$ZbM}g-=$etZO z8V=n=UB7xZ%p*+k3GHUN-lh4H!&pKWhCgW8ESX39_~{Rec!(YQt7so!1FcR1N^808 zJ=5{>`7Xg{8axhV2Z&`q-mO!R-Jg-1@YL;de@b#^PX|``ZX+E!7Uv7G_w4P^zmXSM z&5M1aEsCZSbnts%EN#yiddf{rRhLOGc?nGQq~N7-C+j$dFG?aD;yvp<{|KM|fbabS zIq4tp@w(e)!Tbm4{2rR0@wQ=WZUE1-68Jc!?Wr{E5EAv!h7xap3wG#8)!E>kr{zZ& z=m*&4BY0Zq%fJ*q_cA~IR^`+DctbvVOMJe;FWZAPzjimxZw$b_MrNf&$P9evn8%tP|XO~0FetFPi0sl$Ft z!>65`I{Y;B<|m0I6L3WfJvHp-SdhuP@-%Ww)MBlZkS{6baS zAd5x+x&=OAlg!vV`~i}g4*#hsN~orCG#;#XFK=T`a7~xr#$1R_KGFE(c=Hab4*G0w z$-B;3GxUTw9IDit0 zWi-!0rvY>WU*^mM9(GOHz1uY_4K`86L=Rfe4XzPl%Np~X7-^#~d2i|lo#-cx{>EAs zbpC3lm!d5%>H~hXUnAGFYWH|=v`a7g(L@iwe#bnGb#CbD!|k+#W7%`x$A5miHFg-S zcp$&LL1vn>vs1@<<Cm|uoKnR9C&Es>=oCgIt z@ih>uq-m&8IXjZ$C59e-h{OmI2|XM|PrR}&{RnYjoQ=2&0qpLCpU9t1%AClCE4LE(FcrQLY;961ij8x<-X$!IuL*L0FFYQq#);(3w#sBdS>V{W7{WLH zzhYc*gDmbZ1&esFqSN}fN;#`uE_O2bj_O z9s1hlij9T()FxXuu6tqjdG+EZ>L7szr}uMk-r#gENel&+FcTM@jE~bh;{kraqXsNW z&D0J@eVW7FQ<}lK%P$BVJgZ<^hld3vMYtBEy-kpOGyL4eV9l6v70qF=SDk+34!U*j zEByyNA!-pUqPF&c>>0^$-`m%RIt$L2V@kev+FS=9$V!%4Xj4byp}HZbzTiSK*?oym zbs?06#d1mgwDrIpDp{nnh!aiG=bhS(pmqQ(-(v&#@uO8fX0`g51a*O&XE=m)`@WHN zzCr(gxmxFY8)p_PSs?Q%G4ktlIw(BENM}hB-Yr^EVv{xi01yC4L_t)7PJ8JHmEx)Z z739{0_JS6^TMMo73U9(@!_lFojQXb_Kt`Um{snJwZ4ae!Q>V~2zAQe_z{dr1m3+8v z5v~8_pl>cqA1Td*!#TLwCXQH}ZB%)p&G*bLe@;TY1Y3o8l9!I21bptoZDlOR!zFsE z1!?RXV5McTlRF7{iigN2z8T~XybBR|%6MR3o9Z{Ln0{?S`P57K88`zC_#IK?F(So- ze)#8Vqx4zH*LkbQ3p{zVpwwab7RC}AM_UWq>k`e={AGQeh}o7 z+i=3eTk_b?Zg28iHVNy+K0n}-qz{*J)>C$8MVkCt`EmBGagK}pLhT!#6r;3 zM~tm0&G>65k~-9xy5(cqOXsKio?cjc1nbg+M%a*dFoHi9ZDbrnNU$m;-;0h6o%T=~ z^IHOqnhQK17R%N^d7kRm%>NWx-{Mn*Z?PtQD=pvRld*5%li%XOa7{auwY+3F>Vc5_ zUHt6nvp7H104vYlSHKi(c;*16XsbKg4V?rZVE@ZQJsqwq;!;(Aqs!Q;@@!0ug;zbJ z?XuzpIQ-1t&FfSL4Ca+=H7Z$ud3u|e5HSW2J#leL-;GwB)5JvYAv!Y#Fa1is+0 zgr{o1bCzFKgNH%qAipih=@C9202`0m@y0e>$vZsRWl!mZZgW-7f-Z2p0@v}onCE;6 zk!9Arr8j3Xe8@{>cXCV9QHamtk@*K53CVNRY+o?+gxRR=A$+q>y(pmG+CCOWl9sp* zPO7C9*Fxh=*_$~H+jMkzr_+7nh6!9@@5QYXFlqB?8-9adid)?yk#Rd&UFyYnsK5Kh zZe<78lp1Ym=*Kd>gs$${#r>$whD-r}C@onIabbU%M4+*hucAX=mPt>Tafn-kCh~Q3 z_KF8|*JgUlWcnBOx7oGXfnN1+>EQN+d>uY0P%pHy#a|-5iAUyc$OS@bogmkBVORPimaY#(C^;=f(qy|8OZdm7j#%Sq;DkPS&1aV@9BX<{ClV zkV&V_f<8tbt3B@bPHC!41CBSd3kKg|Fb&^PtP8mTB3ld%r}JQpSX^0gc45VdV=TO( z&#w~?2;)`VlYon_-9F0I;IT%v33C;{sK$gp*XJ*Jv;21~GO8ve+a9!*6}(FF^}e$? zrR&~_-0zr-;JmI^9pj)8AUaLyzhmwSblRRKsw^|uh~T7_I((QwmmR%m!yx}Xy?~=C zqfC}SpCXO0IL1tjoZ5A(Kh>nksS5;bHa2%rM;6EQvw9F%B3sKl->%v}mQ(0g6&XuD zvRB!_PW10B=#<#4>ii;mk6A3w=zIlF-0IXO(I;4Z>kp(6VY0(Z-nxFazs+aJ@mb%+ z2jaKZ;oGme{FWW>Z+AEO47g9RRZYm{8FG9Ek3&4rf$keIcY^JFYmw3sootK^(TqpM zE%ale(ZSiMM+J9n?Ep&SDSXRDZjKjihMzf2Q&7N4uj-t!PTV^dVVHZ8FY2=l+S7RJ z+HP*s;Im-4boj0IUfOhwr;EM|)4&=LM80^bt#0AAd<8%f`@VCZpXep<-|!8;iw$(q zD;i8T+|i3~`-sm2pLB&bPLa|nHg3uZPE-VA)h14aoAAodpg;K8z)aa&+rUeQS4-}T zmxCR^{U-kSO<)5pB+WM;FSDcX_tIkg_^eNQ&@pb3ny3lE1)i-{QSWq3d{&?SOYZA9 z*)O*}zkc5H&j5T*>=uvE-wz@bxEJm4+69$?hTU2gxp8Abg3xy1z-^Nym7}xX+=JW5 zyU(88r1=)T?Namb;vl;t1e=YEyrYO#`Va6hMVngc;Hh}a1CeH__IP;=o;=kjBJewQ zb8D!o=QXtt%?r$h*tC+e1Ji5c=B5e1j~hE4wvv|Ofp#7^$_|x0TPmK61!38A1zk4u z^~!jd;Z{y$A%21IzebP0hR&}U|24V03Nqh-7Z@y9#_H5R@sZ}Ir`V9`i?>$FFNg#? zn&V$-=dsJ1Hmorl#2ciO6B<0YtFIc9ceDM^1|oilh%Gs{Hos*a$%(f=Jl-g!A*ScxrLWKGAz=f4%Mxn z@Px4j&vQI+{ilG9c()$(e~Vv-7hjzR$gaG^?tEica9mEzf1^K?4(O{>-8iN`zo?$W z<+XjRSLHaP|2AxPDDdINc8?54ddb!f;-Qlhik@?y<0-VouelGDhDxnR=py)pFyi@X zOio(zSQzfySVFkoov)FZP^H6h>_pA8=5X<1eQG{jF!w8T=GasU+KZ^@QJ)%Kp4kBu z`@C{{s`In{Hbp#juD`0Mh|@6LBDFSvFt?w+xh0PWAIS}a>PY7XuXuGnx=Y_oMOfIX zqKUGksvV@&dkRPVYA0@RGdnhG8vD+}7=;{t>pC#5JsrL+YwZu%{4^d)pV;*^FN$lw zu|-Jqhy|fb{Ya1EZxj~MeQ6wYt^ET1iO=r3iLIU)7a~kW;l}uD1nk}36FTsas8bXo zW85aa)P5JAiu)>HK+SLu}!d zp~GRMVuFPmbel&-`wvcvB!U{a7U58qH>uZGe5#T9dSeVc9JCCD%~iC51zN(Z=x|(2 zb5VB=lVNmf$d&)duXHg+Sa1M~yz-o6wTf`{J^qD&6ct+YGKus|%-&bYh4U2_7u7=| z4-3;PlG*taJ6i1v1AJq#_io39L^2*X(4hK`h3pl^u4G2L9H&c@f+6X;cfM5bI8-oH ztiw;&q3ttZlu-=zWwCx#>f>^Z(#QEP8Glnw-t!b$N(Jv3>}etM5`HhE@_x&5BAsmZGj@B_spRc|MIHjgrWk_;?w#o+TD z3rmRs2~=PGS*ip(oG&~SwflJ2J@3@xFr2Igv={~cag0r6@jfdH>a4?gjsL!ec1GJO zQ+?e=KNBCIcLopep07>tGACR3cIihw*k{2X%C;(q=O?^{3_5J+#|N3(Y)(Mq-LK#9;cn!k z=vIG&<|5*SgdJBcVtM{CceIJ}xag{L_$gFXXnj9E46a+|^1UP$D(`4VVMSVSaUOi2 zA)h5D$=rUDt51cX`5WdoWWI~>zC(FK`x)hqf99K=un_fCJgeI_4r)VvH*~;@xo;f7 zrajZc@4FE5wf+#>!$Q^5^fTsr9|`~|8{*3a)3~C;7(42K=KQSuDYL?? z7%}F#9prR<5*O!~=TAYZIKLG(I{Knt`v`h%KD^N1Df1Jz9Gg8&9+gpD=ws-{cpm}o z-EjGoU)|EZpuq1MeiuBvzu^h~ hGmKwQ2cpjUV|Th;r+Jo*Uw`j4!evd({D}<% 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