Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Sentinel-GPT — Azure 로그를 수집하고 LLM 추론을 사용하여 의심스러운 활동을 탐지하고, 위험을 평가하며, CLI 명령어가 포함된 복구 플레이북을 생성하는 자동화된 위협 헌팅 파이프라인입니다. | Kitploit
도구/GitHubGitHub/ayush-parab/sentinel-gpt
Cloud SecurityThreat IntelligenceLearning & EducationIncident ResponseAI SecurityLog Analysis
GitHubayush-parab/sentinel-gpt

Sentinel-GPT

Azure 로그를 수집하고 LLM 추론을 사용하여 의심스러운 활동을 탐지하고, 위험을 평가하며, CLI 명령어가 포함된 복구 플레이북을 생성하는 자동화된 위협 헌팅 파이프라인입니다.

저장소 보기
6개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Sentinel-GPT: 위협 탐지를 위한 에이전트 AI 🛡️

Azure 원시 로그를 LLM 기반 추론을 통해 실행 가능한 인텔리전스로 변환하는 자동화된 사이버 보안 파이프라인.

Python Azure OpenAI Security License

📖 개요

Sentinel-GPT는 사이버 보안 위협 탐지를 위해 특화된 AI 에이전트입니다. 생성된 로그의 소스인 Azure Log Analytics Workspace와 이 에이전트의 두뇌 역할을 하는 OpenAI의 ChatGPT API와 통합되어 있습니다. 의심스러운 활동을 식별하고, 위협을 탐지하며, 사용자에게 알림과 함께 복구 단계를 제공하도록 훈련된 에이전트에 로그를 제공합니다.

⚠️ 문제와 해결책

  • 문제: 현대 사회에서 대기업과 소기업을 막론하고 대부분의 기업은 완전히 클라우드로 이전했거나 하이브리드 클라우드 설정을 사용하고 있습니다. 네트워크 규모가 커짐에 따라 매주 수백만 개의 로그와 알림이 생성됩니다. SOC 분석가는 '알림 및 로그 피로'를 겪어, 사소한 설정 오류와 실제 침해를 구별하기 어렵게 됩니다.
  • 해결책: 수많은 로그를 분석하는 에이전트 파이프라인입니다. 오류를 표시할 뿐만 아니라 침해의 맥락을 이해하고, 위험과 영향을 평가하며, 즉시 복구 계획을 스크립팅합니다.

🏗️ 아키텍처

  1. 수집: Python 스크립트가 KQL을 사용하여 Azure Log Analytics에서 관련 로그를 쿼리합니다.
  2. 맥락화: 로그가 구조화되고, 에이전트에 위협 헌터 페르소나를 부여하기 위해 시스템 프롬프트가 제공됩니다.
  3. 분석 (두뇌): 데이터가 분석을 위해 OpenAI의 선택한 LLM으로 전송됩니다.
  4. 출력: 포괄적인 보안 인텔리전스 보고서를 생성합니다.

🚀 주요 기능

  • Azure와 OpenAI ChatGPT 간의 원활한 통합, 다른 클라우드로 확장 가능.
  • 복잡한 JSON 로그 블롭을 평문 경영진 요약으로 변환.
  • 자동화된 복구 플레이북: 손상된 리소스를 격리하는 특정 작업 및 CLI 명령(Azure CLI/PowerShell).

🛠️ 빠른 시작 및 설정

사전 요구 사항

  • Log Analytics Workspace가 있는 Azure 구독.
  • OpenAI API 키(복잡한 추론에는 GPT-4.1 권장).
  • Python 3.10+

설치

  1. 저장소 클론:
root@kitploit:~
git clone https://github.com/Ayush-Parab/cybersecurity-agentic-AI
cd cybersecurity-agentic-AI
  1. 종속성 설치
root@kitploit:~
pip install -r requirements.txt
  1. 환경 구성 .env 파일 생성:
root@kitploit:~
OPENAI_API_KEY="your_key"
LOG_ANALYTICS_WORKSPACE_ID="your_id"

📊 샘플 출력

입력 로그:

root@kitploit:~
TimeGenerated,Status,User,IPAddress,Computer,SyslogMessage
2026-02-12 02:00:15.912351+00:00,Failure,,,Test-VM-For-Logs,Connection closed by invalid user  98.80.4.65 port 35908 [preauth]
2026-02-12 02:00:15.706067+00:00,Failure,,98.80.4.65,Test-VM-For-Logs,Invalid user  from 98.80.4.65 port 35908
2026-02-12 01:59:38.275807+00:00,Success,Ayush,103.38.69.120,Test-VM-For-Logs,Accepted password for Ayush from 103.38.69.120 port 31551 ssh2
2026-02-12 01:59:24.542329+00:00,Failure,,,Test-VM-For-Logs,Connection reset by invalid user balloon 103.38.69.120 port 31573 [preauth]
2026-02-12 01:59:22.850922+00:00,Failure,balloon,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user balloon from 103.38.69.120 port 31573 ssh2
2026-02-12 01:59:17.554208+00:00,Failure,balloon,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user balloon from 103.38.69.120 port 31573 ssh2
2026-02-12 01:59:13.693935+00:00,Failure,,103.38.69.120,Test-VM-For-Logs,Invalid user balloon from 103.38.69.120 port 31573
2026-02-12 01:59:06.649583+00:00,Failure,,,Test-VM-For-Logs,Connection reset by invalid user hamster 103.38.69.120 port 31890 [preauth]
2026-02-12 01:59:03.577720+00:00,Failure,hamster,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user hamster from 103.38.69.120 port 31890 ssh2
2026-02-12 01:58:55.777039+00:00,Failure,hamster,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user hamster from 103.38.69.120 port 31890 ssh2
2026-02-12 01:58:51.167792+00:00,Failure,,103.38.69.120,Test-VM-For-Logs,Invalid user hamster from 103.38.69.120 port 31890
2026-02-12 01:54:50.302217+00:00,Success,Ayush,103.38.69.120,Test-VM-For-Logs,Accepted password for Ayush from 103.38.69.120 port 31565 ssh2

Sentinel-GPT 분석:

root@kitploit:~
예 — 의심스러워 보입니다.

눈에 띄는 점
- 103.38.69.120: 여러 번의 '잘못된 사용자/비밀번호 실패' 시도(hamster/balloon) 후 Test-VM-For-Logs에서 01:54:50과 01:59:38에 Ayush의 SSH 비밀번호 로그인 성공. 이는 무차별 대입/자격 증명 스터핑 후 성공 패턴과 일치합니다. 해당 IP로부터의 두 로그인이 모두 예상된 것인지 Ayush에게 확인하세요.
- 98.80.4.65: 단일 잘못된 사용자 프로브 — 일반적인 스캔일 가능성이 높지만, 필요하지 않으면 차단하세요.

즉시 조치 (Azure 우선)
- 격리: NSG/Azure Firewall에서 103.38.69.120을 차단합니다. TCP/22를 신뢰할 수 있는 IP로만 제한하거나 닫고 Azure Bastion 또는 Defender for Cloud Just‑In‑Time VM 액세스를 사용하세요.
- 자격 증명: 인식되지 않은 Ayush 로그인이 있으면 Ayush의 비밀번호/SSH 키를 재설정하고, 캐시된 자격 증명을 무효화하며, 필요하지 않으면 sudoers에서 제거하고 활성 SSH 세션을 종료합니다.
- SSH 강화: 비밀번호 인증 비활성화(PasswordAuthentication no), SSH 키 또는 Conditional Access MFA가 있는 AADLoginForLinux 적용, sshd 재시작.
- 탐지/대응: VM에서 Microsoft Defender for Servers/Endpoint AV 검사를 실행하고 알림을 검토합니다. 새 사용자, sudoers 변경, 의심스러운 프로세스, authorized_keys 수정 사항을 확인합니다.

다음 사냥 (Log Analytics/Sentinel – KQL)
- 동일 IP에서 무차별 대입 후 성공 (10분 창):
let window=10m;
let ssh = Syslog
| where ProcessName == "sshd" and Facility in ("auth","authpriv")
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage);
let fails = ssh
| where SyslogMessage has_any ("Invalid user","Failed password")
| summarize FailCount=count(), FirstFail=min(TimeGenerated), LastFail=max(TimeGenerated) by Computer, SrcIP;
ssh
| where SyslogMessage has "Accepted password"
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage), User = extract(@"for (\S+)",1, SyslogMessage)
| join kind=inner (fails) on Computer, SrcIP
| where TimeGenerated between (FirstFail .. LastFail + window) and FailCount >= 3
| project TimeGenerated, Computer, User, SrcIP, FailCount
- 해당 IP를 모든 VM에서 피벗:
Syslog
| where ProcessName == "sshd" and SyslogMessage has_any ("Invalid user","Failed password","Accepted password")
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage)
| where SrcIP in ("103.38.69.120","98.80.4.65")
| project TimeGenerated, Computer, SyslogMessage, SrcIP
| order by TimeGenerated desc

검증 및 범위 지정
- 비슷한 시간대의 NSG/VM 변경 사항에 대해 Azure Activity Logs와 상호 참조.
- Defender for Endpoint가 활성화된 경우 Test-VM-For-Logs에서 로그인 후 활동(새 서비스, 비정상적인 아웃바운드 연결)을 확인.

강화 (지속적)
- SSH를 인터넷에 대해 닫아 두고 Bastion 또는 JIT 선호.
- '다중 SSH 실패 후 성공'에 대한 Sentinel 분석 규칙 활성화 및 반복 오류자 차단 목록 적용.
- VM에 fail2ban 설치 및 튜닝.
- OS 패치 및 해당 VM에서 사용된 시크릿 교체.

🗺️ 로드맵

  • 분석 결과를 기반으로 Azure NSG에서 자동화된 IP 차단
  • GuardRails 구현
  • 완전 자동화된 KQL 쿼리 생성
  • AWS, GCP, OCI 등 다른 클라우드 지원
  • 자동 알림을 위한 Outlook/Gmail 통합

🤝 기여 및 연락처

이 프로젝트는 협업을 위해 열려 있으며 아직 진행 중입니다! 새로운 보안 에이전트나 로그 파서에 대한 아이디어가 있으면 자유롭게 PR을 열어주세요.

연락처: Linkedin

도구 다운로드