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
14Paste ID
fb968df920fb6266
Oluşturan
anonim
Oluşturulma
09 Dec 2025, 11:28
Süre Sonu
Süresiz
Boyut
3.12 KB