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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
detectree — 블루 팀이 탐지 데이터를 분석하고, 관계를 이해하며, 알림 피로를 줄이고, 사고 대응을 개선하기 위한 대화형 데이터 시각화 도구입니다. | Kitploit
도구/GitHubGitHub/withsecurelabs/detectree
Defensive ToolsThreat IntelligenceIncident ResponseLog Analysis
GitHubwithsecurelabs/detectree

detectree

블루 팀이 탐지 데이터를 분석하고, 관계를 이해하며, 알림 피로를 줄이고, 사고 대응을 개선하기 위한 대화형 데이터 시각화 도구입니다.

저장소 보기
12753년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Detectree


Detectree는 블루 팀을 위한 데이터 시각화 도구입니다. 탐지 데이터를 그래픽으로 표현하여 분석가가 기본 활동의 성격에 대해 거의 즉각적인 판단을 내리고 데이터 포인트 간의 복잡한 관계를 이해할 수 있게 해줍니다. 궁극적으로 이는 대응 시간을 줄이고 알림 피로를 완화하며 팀 내 분석가 간의 커뮤니케이션을 촉진하는 데 도움이 될 수 있습니다.

Detectree는 svelte로 작성되었으며 force-graph 자바스크립트 라이브러리를 기반으로 합니다.


시작하기

사용자 환경에서 Detectree를 사용하려면 탐지 항목이 최소한의 속성 집합을 충족해야 합니다. 아래 표에서 각 탐지에 포함되어야 하는 필드와 선택 사항인 필드를 확인할 수 있습니다.

필드필수 여부
엔드포인트 ID예
카테고리예
심각도예
탐지 이름예
상위 프로세스 이름예
상위 프로세스 ID예
프로세스 이름예
프로세스 ID예
사용자아니요
명령줄아니요
파일 이름아니요
레지스트리 키아니요
네트워크 주소아니요
대상 프로세스 이름아니요
대상 프로세스 ID아니요

각 필드에 대한 매핑은 schema.yml 파일에 정의되어 있으며, 예제 파일 schema.yml.example이 제공됩니다. 이 파일은 백엔드의 데이터에서 추출해야 하는 필드와 내부적으로 매핑되는 방식을 정의합니다. 특히 매핑 부분에는 왼쪽에 detectree 매핑, 오른쪽에 백엔드 매핑이 포함되어 있으며, 사용자 환경에 맞게 매핑을 채워야 합니다.

스키마에는 백엔드 구성도 포함되어 있습니다. elastic의 경우 간단하지만 다양한 필드의 의미는 다음과 같습니다:

primaryId는 엔드포인트의 고유 식별자입니다. 이는 탐지를 검색하는 데 사용됩니다. timeField는 쿼리를 제한하는 데 사용되는 시간 필드입니다. source는 탐지 유형을 식별하는 필드로, 예제 스키마에서는 NewProcess, RegistryWrite, FileAccess 등에 매핑됩니다.

이어서 mappings에서 type 필드는 특정 탐지를 식별합니다. 예를 들어 백엔드가 NewProcess 탐지(또는 해당 이름)만 지원하는 경우 매핑이 하나만 필요합니다. 이와 밀접하게 관련된 kind 필드는 탐지 유형을 detectree 유형에 연결합니다. 예를 들어 kind가 file인 경우 매핑은 컨텍스트 노드를 그리는 데 사용될 filePath를 제공해야 합니다.

현재 지원되는 백엔드는 elastic뿐이지만 새 백엔드용 어댑터를 구축하는 것은 간단해야 합니다. 자세한 내용은 새 백엔드 추가 섹션을 참조하세요.

사용자 환경에 애플리케이션을 배포하려면 npm install(또는 pnpm install 또는 yarn)로 필요한 종속성을 설치해야 합니다. 그런 다음 사용자 환경에 맞는 올바른 어댑터를 선택해야 하며, 최신 정보는 이 가이드를 참조하세요.

예를 들어 node를 백엔드로 사용하려면 @sveltejs/adapter-node를 설치하고 svelte.config.js를 수정하여 @sveltejs/adapter-auto를 @sveltejs/adapter-node로 대체해야 합니다. 그런 다음 다음 명령으로 프로젝트를 빌드할 수 있으며, 출력은 output 폴더에 생성됩니다.

root@kitploit:~

npm run build

다음 명령으로 개발 서버를 시작할 수 있으며, 이를 통해 애플리케이션을 로컬에서 제공할 수 있습니다.

root@kitploit:~
npm run dev

# 또는 서버를 시작하고 새 브라우저 탭에서 앱을 엽니다
npm run dev -- --open

예제 그래프는 다음 스크린샷에서 확인할 수 있습니다.

example

새 백엔드 추가

새 백엔드를 지원하려면 backend_adapters 폴더에 전용 TypeScript 파일을 만들어야 합니다. elastic 파일을 템플릿으로 사용할 수 있으며, 새 모듈은 elastic 파일의 함수와 동일한 매개변수를 입력으로 받는 쿼리 함수를 노출해야 합니다. 그런 다음 원하는 방식으로 선택한 백엔드를 쿼리할 수 있습니다. 쿼리 함수는 schema.yaml 파일에 정의된 매핑에 따라 매핑된 데이터가 포함된 객체를 반환해야 합니다. 마지막으로 백엔드가 올바르게 선택되도록 하려면 draw_tree.ts 내부의 다음 객체에도 추가해야 합니다. 여기서 객체 키는 schema.yml에서 백엔드를 참조하는 방식이기도 합니다.

root@kitploit:~
const backendTypes = {
	elastic: '../backend_adapters/elastic'
};
도구 다운로드