cha0upup/LeoAI

AI 驱动的后渗透综合管理平台,深度集成 LLM Agent,开箱即用。

LeoAI – AI 증강 사후 침투 및 호스트 관리 플랫폼

정의 – LeoAI는 호스트 자산 관리, 대화형 에이전트 콘솔, 그리고 승인된 레드팀 및 보안 연구 활동을 위한 대규모 언어 모델(LLM) 지원을 결합한 오픈소스 웹 기반 플랫폼입니다. Java 17+ Spring Boot 백엔드에서 실행되며 이중 런타임을 지원합니다: Java 에이전트와 경량 PHP 5.6+ 에이전트로, 둘 다 동일한 기능 기반 RPC 인터페이스를 노출합니다.


핵심 기능

영역 LeoAI가 제공하는 것
AI 조정 플랫폼 수준 AI(LangChain4j)는 자산을 분석하고, 다단계 작업을 계획하고, 특정 에이전트에서 실행되는 노드 AI에 작업을 디스패치할 수 있습니다. OpenAI 호환 모델(OpenAI, Claude, DeepSeek 등)을 지원하며 동적 컨텍스트 창은 최대 1 MiB까지 확장됩니다.
호스트 및 세션 관리 중앙 집중식 인벤토리, 온라인/오프라인 세션 추적, 일괄 호스트 가져오기, SQLite 기반 영속성.
대화형 콘솔 웹 터미널(xterm.js), 파일 관리자, 데이터베이스 콘솔(MySQL, PostgreSQL, Oracle, SQLite, SQL Server), 레지스트리 뷰어, 프로세스/서비스 제어, Docker 관리, 웹 런타임 지문 수집, 자격 증명 추출, 스캔 도구, 프록시/터널 처리.
에이전트 런타임 • Java 에이전트 – 주문형 로드되는 컴파일된 구성 요소, ProcessBuilder/PTY 사용.
• PHP 에이전트 – 단일 파일 HTTP 엔트리, 구성 요소 지연 로드, proc_open/popen 사용. 둘 다 동일한 SPI, 기능 계약 및 RPC 프로토콜을 노출합니다.
셸 / 웹 셸 생성 인메모리 Java 셸 빌더(필터, 리스너, 밸브, 인터셉터 등), 24가지 서버 유형(Tomcat, Jetty, JBoss, WebLogic, WebSphere, Spring MVC, Dubbo 등) 및 JSP/Groovy 웹 셸 지원.
플러그인 및 스킬 시스템 Java 바이트코드, JavaScript/Groovy/Python 스크립트, 그리고 일반적인 사후 침투 워크플로(정찰, 자격 증명 덤프, 권한 상승, 측면 이동 등)를 인코딩하는 사전 패키지 AI 스킬을 위한 시각적 플러그인 관리자.
보고 및 아카이빙 정찰 자동 요약, AI 생성 작업 보고서, 검색 가능한 메타데이터가 있는 아티팩트 라이브러리.
팀 및 감사 사용자/역할 관리, 팀 공유, 작업 감사 로그, AI 상호작용 로그.

아키텍처 스냅샷

graph TD
    web[Web UI] --> service[Service / AI orchestration]
    service --> core[Core SPI / Capability / RPC / Session]
    web --> java[Java Agent Runtime]
    web --> php[PHP Agent Runtime]
    core --> java
    core --> php
    service --> jmg[Java memory-shell generator]

플랫폼은 Java와 PHP 에이전트를 상호 교환 가능한 런타임으로 취급합니다. 상위 레이어는 특정 언어가 아닌 추상 기능을 다룹니다.


기술 스택(리포지토리에 명시된 대로)

  • 백엔드: Spring Boot 3.5, MyBatis 3, SQLite(임베디드), OkHttp 4, Javassist 3.30
  • AI 레이어: LangChain4j 1.16, OpenAI 호환 LLM API(OpenAI, Claude, DeepSeek, Alibaba Tongyi, Ollama 등)
  • 빌드: Maven 멀티 모듈
  • 프론트엔드: JAR에 번들, 최신 브라우저(Chrome/Firefox/Edge) 및 터미널용 xterm.js 사용
  • 에이전트 런타임: Java 17+ 구성 요소 + PHP 5.6+ 단일 파일 HTTP 엔트리

빠른 시작

  1. 릴리스 페이지에서 JAR 다운로드 – 예: LeoAi-3.0.0.jar.
  2. 실행(Java 17+ 필요):
    java --add-opens java.base/java.lang=ALL-UNNAMED -jar LeoAi-3.0.0.jar
    
    --add-opens 플래그는 플랫폼이 사용하는 내부 리플렉션에 필수입니다.
  3. 브라우저에서 http://localhost:8082를 엽니다.
  4. 기본 관리자 계정 admin / 54ikun으로 로그인하고 즉시 비밀번호를 변경합니다.

Docker 대안

git clone https://github.com/cha0upup/LeoAI.git
cd LeoAI
docker compose up -d --build
  • Dockerfile은 JAR을 자동으로 가져옵니다. 컨테이너는 SQLite 데이터베이스를 Docker 볼륨(leoai-data)에 저장합니다.
  • 포트, 암호화 키 및 JAR URL은 .env 파일로 재정의할 수 있습니다.

AI 모델 구성

웹 UI에서 관리 → AI 구성으로 이동하여 공급자를 추가합니다:

  • 이름
  • 기본 URL(예: https://api.openai.com/v1)
  • API 키
  • 모델 이름 플랫폼은 LangChain4j를 사용하여 프롬프트를 라우팅하고, 도구 호출을 처리하고, 결과를 콘솔로 스트리밍합니다.

일반적인 워크플로

  1. 호스트 추가 – 이름을 제공하고 Java 또는 PHP 런타임을 선택한 다음 에이전트 URL과 비밀 키를 지정합니다.
  2. 해당 호스트의 콘솔 열기 – 도구(터미널, 파일 관리자, DB 콘솔, 스캐너 등)를 선택합니다.
  3. 플랫폼 AI 호출 – "이 호스트의 웹 서비스를 열거해줘"라고 요청합니다. AI는 단계를 계획하고, 적절한 스캔 도구를 호출하고, 진행 상황을 스트리밍하고, 마지막으로 간결한 보고서를 생성합니다.
  4. 아티팩트 저장 – 생성된 스크립트, 셸 페이로드 또는 AI가 작성한 보고서는 아티팩트 라이브러리에 자동으로 보관됩니다.
  5. 협업 – 팀원은 호스트를 공유하고, 감사 로그를 보고, 스킬을 공동 작성할 수 있습니다.

누가 사용해야 하나요?

  • 레드팀 운영자 – 내부 네트워크를 테스트할 법적 허가를 받은 사람.
  • 보안 연구원 – 사후 침투 도구를 구축하거나 평가하는 사람.
  • DevSecOps 팀 – 사고 대응 훈련을 위한 AI 지원 인터페이스를 원하는 팀(적절한 라이선스와 동의가 있는 경우).

라이선스 및 면책 조항

  • GPL v3에 따라 라이선스가 부여됩니다.
  • README에는 표준 면책 조항이 포함되어 있습니다: 이 소프트웨어는 승인된 보안 테스트만을 위한 것이며, 오용은 사용자의 책임입니다.

결론 – LeoAI는 호스트 관리, 풍부한 사후 침투 도구 세트, LLM 기반 자동화를 통합한 풀스택 AI 강화 레드팀 플랫폼으로, 단일 Spring Boot JAR(또는 Docker 이미지)로 패키징되며 Java와 PHP 에이전트를 모두 지원합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트