Main.py

import argparse
import asyncio
from aicore import AICore
from modules import load_modules

async def main(target, target_type, mode):
    """
    Omni-Spectre'nin ana asenkron fonksiyonu.
    """
    print(f"\n===================================================")
    print(f" Omni-Spectre | Başlatılıyor | Mod: {mode.upper()}")
    print(f"===================================================")
    print(f"Hedef: {target} | Tip: {target_type}")

    # 1. Modülleri Yükle (Modüller, /modules/ dizininden dinamik olarak yüklenir)
    loaded_modules = load_modules()
    print(f"[+] {len(loaded_modules)} adet Modül Yüklendi.")

    # 2. AICore'u Başlat
    core = AICore(loaded_modules, mode)

    # 3. AICore'dan Başlangıç Planını İste
    print("\n[ AICore] En İyi Saldırı/Savunma Planı Hesaplanıyor...")
    
    # AICore, keşif modülünü çalıştırmayı planlar
    initial_plan = await core.get_initial_plan(target_type)
    
    current_state = {"target": target, "data": {}, "access": False, "privilege": "user"}

    # 4. Planı Uygula ve Otonom Döngüyü Başlat
    next_step = initial_plan.get("step")
    while next_step != "COMPLETE":
        print(f"\n--- [PLAN] Çalıştırılıyor: {next_step} ---")
        
        # Modülü Bul ve Asenkron Çalıştır
        if next_step in loaded_modules:
            module = loaded_modules[next_step]
            
            # Modülün sonucunu al ve mevcut duruma ekle
            new_data = await module.run(current_state) 
            current_state["data"].update({next_step: new_data})
            
            print(f"[ Başarılı] {next_step} tamamlandı. Veri boyutu: {len(new_data)}")
        else:
            print(f"[HATA] Bilinmeyen modül: {next_step}")
            break
            
        # 5. Mevcut Durumu AICore'a Gönder ve Yeni Karar Al
        next_step, current_state = await core.decide_next_step(current_state)

        # Basit bir erişim kontrolü simülasyonu
        if next_step == "EXPLOIT_WEB" and not current_state["access"]:
            current_state["access"] = True
            print("[!!! ERİŞİM SAĞLANDI !!!]")


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Omni-Spectre: Bütünleşik Siber Platform.")
    parser.add_argument("target", help="Hedef URL veya IP Adresi.")
    parser.add_argument("type", choices=['network', 'web', 'physical'], help="Hedef Tipi.")
    parser.add_argument("mode", choices=['hacker', 'defender'], help="Çalışma Modu (Saldırı/Savunma).")
    
    args = parser.parse_args()
    
    # Asenkron ana fonksiyonu çalıştır
    try:
        asyncio.run(main(args.target, args.type, args.mode))
    except KeyboardInterrupt:
        print("\n[Kapatılıyor] Kullanıcı isteğiyle sonlandırıldı.")

Paste Bilgileri

14
Paste ID
fb968df920fb6266
Oluşturan
anonim
Oluşturulma
09 Dec 2025, 11:28
Süre Sonu
Süresiz
Boyut
3.12 KB