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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
engagement-mgr — Engagement Manager는 공격적 보안 인게이지먼트를 추적하기 위한 웹 애플리케이션입니다. Next.js, Prisma, PostgreSQL로 구축된 현대적인 UI를 갖추고 있습니다. | Kitploit
도구/GitHubGitHub/leebaird/engagement-mgr
Defensive ToolsVulnerability AnalysisWeb SecurityPenetration TestingUtilities & FrameworksLearning & EducationRed TeamingIncident Response
GitHubleebaird/engagement-mgr

engagement-mgr

Engagement Manager는 공격적 보안 인게이지먼트를 추적하기 위한 웹 애플리케이션입니다. Next.js, Prisma, PostgreSQL로 구축된 현대적인 UI를 갖추고 있습니다.

저장소 보기
2631292일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Engagement Manager

Engagement Manager는 공격적 보안 인게이지먼트를 추적하기 위한 웹 애플리케이션입니다. Next.js, Prisma, PostgreSQL로 구축된 현대적인 UI를 갖추고 있습니다. 이 앱에는 캘린더, 인게이지먼트, 클라이언트, 연락처, 파인딩, 운영자가 포함됩니다.

License: MIT

  • Twitter Follow Lee Baird @discoverscripts
  • Twitter Follow Jay "L1ghtn1ng" Townsend @jay_townsend1

스크린샷

Dashboard

목차

  • 스크린샷
  • 파인딩 작성 및 PDF 보고서 생성
    • 보고 보안 및 배포
    • 검증
  • 사전 요구 사항
  • 환경 구성
  • 데이터베이스 설정
    • 개발
    • 프로덕션
  • 설치
    • 자동 설정 (Ubuntu)
      • 강화된 설정 및 백업 업그레이드 참고 사항
    • 수동 설정
  • 애플리케이션 실행
  • 프로덕션 배포
    • 요구 사항
    • 배포 단계
    • 프로덕션 체크리스트
  • 기본 자격 증명
  • 서버 마이그레이션 (백업 / 복원 / 초기화)
  • 구현 계획 및 아키텍처
    • 기술 스택
    • 데이터베이스 스키마
    • 새 필드 추가
    • 보안 아키텍처

파인딩 작성 및 PDF 보고서 생성

  • 작성 워크스페이스: 파인딩의 Write & review 링크를 열면 Markdown 편집과 안전한 미리보기를 사용할 수 있습니다. 비공개 초안은 15초 동안 비활성 상태이거나 요청 시 저장됩니다. 초안은 브라우저 로컬 스토리지가 아닌 서버에 저장됩니다. 다시 열면 초안을 명시적으로 복구할 수 있습니다. 충돌하는 저장은 편집기의 텍스트를 보존하며 현재 리비전과 비교해야 합니다. 텍스트 리비전을 검사하고 복원할 수 있으며, 복원해도 삭제된 증거는 복원되지 않습니다.
  • 재사용 가능한 템플릿: 제목, 카테고리 또는 심각도로 승인된 문구를 검색합니다. 사용자는 템플릿을 제안할 수 있으며, 관리자가 선별하여 승인합니다. 템플릿을 적용하면 빈 관찰 내용, 영향받은 호스트 및 증거가 포함된 독립적인 인게이지먼트 파인딩이 생성되어 다른 인게이지먼트의 증거를 실수로 재사용하는 것을 방지합니다.
  • 증거: 최대 4개의 PNG/JPEG 이미지를 함께 업로드하거나 붙여넣고, 캡션을 추가하며, 작성 워크스페이스에서 캡션/순서를 편집합니다. 이미지는 디코딩되고, 메타데이터가 제거되며, 최대 2000 × 2000 픽셀로 크기가 조정되고, PNG로 저장됩니다. 원본 바이트나 메타데이터가 필요한 경우 원본 포렌식 증거를 별도로 보관하십시오.
  • 검토: 완료된 파인딩을 Draft/Changes Requested에서 Ready로 보냅니다. 현재 작성자가 아닌 지정된 검토자 또는 관리자가 승인하거나 변경을 요청할 수 있습니다. 관리자가 검토자를 지정합니다. 텍스트, 증거 및 복원된 리비전 변경은 승인을 해제합니다. 검토 대기열, 댓글, 준비 체크리스트 및 리비전 기록이 인수인계를 지원합니다.
  • PDF 보고서: Reports에서 인게이지먼트를 선택하고, 경영진 요약을 작성하고, 파인딩을 선택/정렬하고 설정을 저장합니다. 초안 PDF는 눈에 띄게 표시됩니다. 관리자만 최종 PDF를 발행할 수 있으며, 선택된 모든 파인딩은 승인되고 준비 검사를 통과해야 합니다. 발행된 각 버전은 PDF, 명시적 콘텐츠 스냅샷 및 SHA-256 다이제스트를 저장하며, 이후 편집해도 재생성되지 않습니다. 상위 인게이지먼트를 삭제하면 기존 수명 주기를 통해 해당 보고서도 삭제됩니다.
  • 스캐너 가져오기: 내보내기를 미리 보고, 파인딩을 선택한 다음 확인합니다. 가져오기는 스캔을 실행하거나 대상을 접촉하지 않습니다. 서버 측 핑거프린팅은 동일한 인게이지먼트에서 일치하는 파인딩을 건너뜁니다. 모든 새 레코드는 Draft로 시작하며 운영자가 확인해야 합니다.
스캐너/내보내기 제품군허용되는 내보내기
Burp SuiteIssues XML, 비활성 내부 스키마 DTD 포함
Nessus / TenableNessus v2 XML (.nessus)
NmapXML; 열린 포트와 해당 스크립트 출력은 추론된 취약점이 아닌 정보성 관찰 내용이 됨
OpenVAS / Greenbone네이티브 XML 보고서 또는 GMP get_reports_response
OWASP ZAP사이트 및 경고가 포함된 전통적인 JSON 보고서
NucleiJSON Lines (-jsonl)
Qualys스캔 결과 XML (SCAN/IP 구조), 별도의 호스트 탐지 API 형식이 아님
Semgrep / CodeQL 및 기타 SARIF 생성기SARIF JSON runs, rules 및 results

내보내기는 가져오기당 2 MB 및 500개 파인딩으로 제한되며, 사용자별 미리보기 및 확인 속도 제한이 있습니다. 애플리케이션은 수동 생성, 템플릿 및 스캐너 가져오기를 통틀어 총 최대 10,000개의 파인딩과 단일 인게이지먼트당 500개를 허용합니다. 전역 Findings 목록은 페이지당 100개 행을 로드하며, 인게이지먼트/보고서 파인딩 쿼리는 동일한 인게이지먼트당 제한으로 제한됩니다. 알 수 없는 레이아웃은 성공적인 가져오기로 조용히 처리되지 않고 눈에 띄게 실패합니다. 스캐너 심각도는 제안 사항입니다: 승인 전에 해당 컨텍스트를 검토하십시오. 참조된 URL, HTML 및 포함된 원격 이미지는 가져오거나 실행하지 않습니다.

보고서는 1–100개의 파인딩, 최대 100개의 증거 이미지(각 5 MB, 총 입력 20 MB), 500페이지 및 25 MB 출력을 허용합니다. 발행은 인게이지먼트당 50개 버전 및 애플리케이션 전체에서 발행된 PDF 총 1 GB로 제한됩니다. 미리보기 및 발행에는 사용자별 속도 제한이 있으며, 애플리케이션 프로세스당 한 번에 하나의 PDF 렌더만 허용됩니다. 파인딩은 최대 1000개의 리비전과 500개의 댓글을 보유하며, 한도에 도달하면 기록을 덮어쓰지 않고 실패합니다. DejaVu 폰트와 해당 재배포 라이선스는 assets/fonts에 포함되어 있으며, 배포 시 이러한 자산을 유지해야 합니다(Next 출력 추적에 포함됨).

Next.js Server Actions는 증거 업로드를 위해 단일 25mb 본문 크기 제한(next.config.ts에서 설정)을 공유합니다. 로그인은 인증 또는 데이터베이스 작업 전에 4 KB 스트리밍 제한이 있는 전용 동일 출처 URL 인코딩 경로를 사용합니다.

보고 보안 및 배포

이는 새로운 클라이언트별 테넌시 모델이 아닌 기존의 공유 인증 워크스페이스를 유지합니다. 모든 새 페이지, 액션 및 PDF 다운로드는 현재 데이터베이스 기반 세션을 확인합니다. 초안은 소유자로 범위가 지정되며, 검토, 템플릿 승인 및 발행 권한은 서버 측에서 강제됩니다. 기밀 PDF 응답은 private/no-store입니다. 최종 PDF는 명시적 보고서 필드 허용 목록만 포함하며, 비공개 초안, 검토 댓글 또는 관련 없는 인게이지먼트는 절대 포함하지 않습니다.

구현은 OWASP Top 10:2025 체크리스트를 사용합니다: 접근 검사(A01), 비공개 응답 및 기존 CSP/CSRF 제어(A02), 고정된 종속성 및 CI(A03), 기존 세션/시크릿 보호와 보고서 무결성 검사(A04/A08), 비활성 Markdown/XML 및 매개변수화된 데이터베이스 접근(A05), 제한된 처리 및 독립적 검토(A06), 라이브 세션 검사(A07), 콘텐츠 없는 감사 이벤트(A09), 실패 시 정리를 포함한 트랜잭션 변경(A10). 다이제스트는 우발적 손상을 감지하며, 디지털 서명이나 데이터베이스 관리자로부터의 보호가 아닙니다. 이는 규정 준수 인증이 아닙니다. 프로덕션에는 여전히 HTTPS, 보호된 데이터베이스/백업 스토리지 및 감사 출력의 운영 모니터링이 필요합니다.

이 업그레이드를 배포하기 전에 일반 애플리케이션 백업을 수행하고 npm run db:migrate로 추가적인 20260904221808_reporting_workflow 및 20260906194500_add_revocable_sessions 마이그레이션을 적용한 다음, Prisma Client를 재생성하고 다시 빌드하십시오. 기존 파인딩은 버전 1의 Draft로 시작하며, 기존 브라우저 쿠키는 서버 기반 세션 ID를 받기 위해 다시 로그인해야 합니다. 기존 데이터베이스를 초기화하지 마십시오. 백업에는 기존 전체 데이터베이스 내보내기를 통해 새 테이블과 발행된 PDF가 포함됩니다.

검증```bash

npm test npm run lint npx tsc --noEmit --noUnusedLocals --noUnusedParameters npm run build npm audit

`npm test`는 개별 TypeScript 테스트 케이스가 실제로 실행되도록 `tsx`와 함께 Node의 비격리 테스트 모드를 사용하며, 단순히 파일 하위 프로세스 성공만 보고하지 않습니다. CI에서 명시적인 어서션 총계를 계속 확인할 수 있도록 유지하세요.

데이터베이스 및 브라우저 회귀 테스트에는 마이그레이션이 적용된 **`reporting_tests`라는 전용 로컬 데이터베이스**가 필요합니다. 이 테스트들은 자체 픽스처 행을 생성하고 삭제하므로, 절대 애플리케이션 데이터베이스를 가리키지 마세요. `REPORTING_TEST_DATABASE_URL`을 해당 테스트 데이터베이스로 설정한 후 다음을 실행하세요:```bash
DATABASE_URL="$REPORTING_TEST_DATABASE_URL" npx prisma migrate deploy
npm run test:reporting
npx playwright install chromium
npm run test:browser

브라우저 스위트는 테스트 전용 세션 시크릿을 사용하여 포트 3317에서 자체 루프백 개발 서버를 시작하며, 기존 서버를 재사용하는 것을 거부합니다. 원한다면 설치된 Chromium 실행 파일로 REPORTING_TEST_BROWSER를 설정하십시오. 이 스위트는 초안 프라이버시, 충돌하는 편집, 증거 업로드, 독립적 검토, PDF 권한/불변성, JavaScript 없이 템플릿 생성, 선택적 중복 제거 가져오기를 테스트합니다. 통합 테스트는 실제 트랜잭션 충돌과 롤백을 실행합니다. 이 스위트는 원격 LAN, Safari 또는 프로덕션 배포 검증을 대체하지 않습니다.

사전 요구 사항

이 애플리케이션은 Ubuntu에서 실행되도록 설계되었으며, 다음을 필요로 합니다:```bash sudo apt update && sudo apt install -y nodejs npm postgresql postgresql-client postgresql-contrib zip

`postgresql-client`는 `pg_dump`, `pg_restore`, `psql`을 제공하며, `zip`은 백업 아카이브를 생성합니다. 복원 추출은 애플리케이션에서 엄격한 항목 및 크기 검증을 통해 처리됩니다.

패키지를 설치한다고 해서 항상 PostgreSQL이 실행 중인 상태로 남는 것은 아닙니다. 역할을 생성하거나 앱을 시작하기 전에 서비스를 시작하고 활성화하십시오:```bash
sudo systemctl enable --now postgresql
sudo systemctl status postgresql --no-pager

앱이 나중에 Can't reach database server at 127.0.0.1:5432 오류로 실패하면 sudo systemctl start postgresql을 실행하고 pg_isready -h 127.0.0.1 -p 5432로 확인하세요.

앱은 Node.js ^22.12.0 또는 >=24.0.0이 필요합니다(package.json의 engines 참조). OS 패키지가 더 오래된 경우, setup.sh를 실행하기 전에 서명을 검증한 신뢰할 수 있는 패키지 소스에서 지원되는 릴리스를 설치하세요.

환경 구성

도구 다운로드