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 엔트리
빠른 시작
- 릴리스 페이지에서 JAR 다운로드 – 예:
LeoAi-3.0.0.jar. - 실행(Java 17+ 필요):
java --add-opens java.base/java.lang=ALL-UNNAMED -jar LeoAi-3.0.0.jar--add-opens플래그는 플랫폼이 사용하는 내부 리플렉션에 필수입니다. - 브라우저에서
http://localhost:8082를 엽니다. - 기본 관리자 계정
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를 사용하여 프롬프트를 라우팅하고, 도구 호출을 처리하고, 결과를 콘솔로 스트리밍합니다.
일반적인 워크플로
- 호스트 추가 – 이름을 제공하고 Java 또는 PHP 런타임을 선택한 다음 에이전트 URL과 비밀 키를 지정합니다.
- 해당 호스트의 콘솔 열기 – 도구(터미널, 파일 관리자, DB 콘솔, 스캐너 등)를 선택합니다.
- 플랫폼 AI 호출 – "이 호스트의 웹 서비스를 열거해줘"라고 요청합니다. AI는 단계를 계획하고, 적절한 스캔 도구를 호출하고, 진행 상황을 스트리밍하고, 마지막으로 간결한 보고서를 생성합니다.
- 아티팩트 저장 – 생성된 스크립트, 셸 페이로드 또는 AI가 작성한 보고서는 아티팩트 라이브러리에 자동으로 보관됩니다.
- 협업 – 팀원은 호스트를 공유하고, 감사 로그를 보고, 스킬을 공동 작성할 수 있습니다.
누가 사용해야 하나요?
- 레드팀 운영자 – 내부 네트워크를 테스트할 법적 허가를 받은 사람.
- 보안 연구원 – 사후 침투 도구를 구축하거나 평가하는 사람.
- DevSecOps 팀 – 사고 대응 훈련을 위한 AI 지원 인터페이스를 원하는 팀(적절한 라이선스와 동의가 있는 경우).
라이선스 및 면책 조항
- GPL v3에 따라 라이선스가 부여됩니다.
- README에는 표준 면책 조항이 포함되어 있습니다: 이 소프트웨어는 승인된 보안 테스트만을 위한 것이며, 오용은 사용자의 책임입니다.
결론 – LeoAI는 호스트 관리, 풍부한 사후 침투 도구 세트, LLM 기반 자동화를 통합한 풀스택 AI 강화 레드팀 플랫폼으로, 단일 Spring Boot JAR(또는 Docker 이미지)로 패키징되며 Java와 PHP 에이전트를 모두 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트