Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
kavach-loop — 폐쇄 루프 취약점 해결: 탐지 -> 익스플로잇 재현 -> 패치 생성 -> 증명 하네스로 검증. 실제 예시: Langflow CVE-2026-33017 | Kitploit
도구/GitHubGitHub/nsk-394/kavach-loop
Static AnalysisVulnerability ScannersContainer SecurityVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationSecurity VirtualizationDevSecOps
GitHubnsk-394/kavach-loop

kavach-loop

폐쇄 루프 취약점 해결: 탐지 -> 익스플로잇 재현 -> 패치 생성 -> 증명 하네스로 검증. 실제 예시: Langflow CVE-2026-33017

7일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
공유

kavach-loop

폐쇄 루프 취약점 교정 파이프라인: 탐지 → 익스플로잇 재현 → 패치 생성 → 증명 하네스에 대한 패치 검증 — 이 모든 과정을 거친 후에야 수정이 신뢰됩니다.

대부분의 "AI가 당신의 CVE를 고쳐준다"는 데모는 패치를 생성하는 데서 멈춥니다. kavach-loop는 취약한 소프트웨어의 실제 실행 중인 인스턴스에 대해 두 가지를 증명하기 전까지는 패치를 신뢰하지 않습니다: (1) 원래의 익스플로잇이 더 이상 작동하지 않는다는 것, 그리고 (2) 애플리케이션이 여전히 정상적으로 동작한다는 것. 작업 예제는 실제 심각한 CVE입니다.

⚠️ 범위 및 안전성: 네트워크에 접촉하는 모든 모듈은 localhost(127.0.0.1 / ::1)에 하드 고정되어 있으며 다른 대상은 거부합니다. 익스플로잇 코드는 직접 실행하는 일회용 컨테이너에 대해 패치가 작동함을 증명하기 위해 존재하는 것이지, 무언가를 공격하기 위한 것이 아닙니다. 번들로 제공되는 대상에 대해서만 실행하십시오.

작업 예제: CVE-2026-33017 (Langflow RCE)

Langflow ≤ 1.8.2의 인증되지 않은 원격 코드 실행 — GHSA-vwmf-pq79-vjvx / NVD. POST /api/v1/build_public_tmp/{flow_id}/flow는 인증 없이 공개 플로우를 빌드합니다; 공격자가 제공한 노드 code는 샌드박스 없이 exec()에 도달하며, 라우트 핸들러에서 싱크까지 6단계 호출 체인을 거칩니다.

루프

flowchart LR
    T["exploit_repro/<br/>disposable Langflow 1.8.2<br/>container (localhost only)"]
    D["detection/<br/>Semgrep rule over<br/>live-extracted source"]
    E["exploit_repro/exploit.py<br/>PoC: confirm RCE is real"]
    P["patch_gen/<br/>LLM unified diff,<br/>applied to a real copy"]
    V["proof_harness/verify.py<br/>exploit blocked? + app<br/>still works? → one verdict"]
    T --> D --> E --> P --> V
    V -->|fused confidence score| OUT["trusted / rejected"]
단계모듈실제로 수행하는 작업
탐지detection/detect.py + rules/unauthenticated-exec-sink.yaml대상 컨테이너에서 실시간으로 가져온 소스에 대해 실제 Semgrep 검사를 실행합니다. 이 규칙은 안정적으로 탐지 가능한 전제 조건(인증되지 않은 경로가 공격자가 구성한 입력을 다운스트림 호출로 전달하는 것)을 정직하게 표시하며, 전체 6단계 오염(taint) 분석은 아니라는 점을 confidence: LOW로 명시하므로 모든 탐지 결과는 여전히 확인이 필요합니다.
재현exploit_repro/exploit.pyRCE가 실제로 발동하는지 확인하는 localhost 전용 PoC로, 정적 분석 추측이 아닌 실제 버그를 패치하고 있음을 보장합니다.
패치patch_gen/generate.py실행 중인 컨테이너에서 취약한 함수의 실제 현재 소스를 가져오고, 1~2개의 참조 수정 패턴을 검색한 뒤, LLM에 통합 diff를 요청하고, 이를 두 번째 일회용 컨테이너에 적용한 후 재시작하여 패치된 코드가 다시 로드되도록 합니다.
검증proof_harness/verify.py + test_functionality.py두 가지 검사를 하나의 판정으로 결합합니다: PoC가 이제 실패해야 하며, 동시에 Langflow의 정상적인 인증된 REST API(health, version, whoami, flow CRUD)가 여전히 통과해야 합니다. 앱을 망가뜨려 익스플로잇을 차단하는 패치는 거부됩니다.

정직함이 핵심입니다: 탐지 규칙은 자신이 무엇을 증명하고 무엇을 증명하지 못하는지 정확히 문서화하며, 검증기는 익스플로잇이 중단되었다는 이유만으로 패치를 좋다고 판정하지 않습니다.

실행하기

pip install -r requirements.txt           # requests, pytest, openai, semgrep
export OPENAI_API_KEY=...                  # for patch_gen

cd exploit_repro/langflow-cve-2026-33017
docker compose up -d                       # vulnerable target on 127.0.0.1:7860
curl -s http://127.0.0.1:7860/health

cd ../..
python detection/detect.py                 # static-analysis finding
python exploit_repro/exploit.py            # confirm the RCE (localhost only)
python patch_gen/generate.py               # generate + apply + verify a patch
pytest proof_harness/                       # functionality smoke tests

중지 및 초기화: docker compose down -v.

상태

개별 단계(탐지, 익스플로잇 재현, 패치 생성, 증명 하네스)는 구현되어 실제 대상에 대해 실행됩니다. main.py는 얇은 오케스트레이션 골격으로, 현재 단계들은 위에 표시된 대로 직접 구동됩니다. 이들을 단일 main() 호출로 연결하는 것이 다음 단계입니다.

"kavach"라는 이름의 이유

Kavach(कवच)는 산스크리트어로 "갑옷"을 뜻합니다. 루프가 곧 갑옷입니다. 공격을 받고 견딤이 입증되기 전까지는 아무것도 출시되지 않습니다.

도구 다운로드