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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
veilgate — 적대적 AI 에이전트에 대한 비대칭 방어. VeilGate는 각 수신 요청을 평가하고, 의심되는 에이전트를 IP별 일관된 허니팟 환경으로 리디렉션하며, 공격자에게 부과된 계산 비용을 정량화합니다. | Kitploit
도구/GitHubGitHub/c0oki3s/veilgate
Defensive ToolsIDS/IPS EvasionWeb SecurityThreat IntelligenceMachine LearningIncident ResponseAnti-BotAI SecurityAnomaly Detection
GitHubc0oki3s/veilgate

veilgate

적대적 AI 에이전트에 대한 비대칭 방어. VeilGate는 각 수신 요청을 평가하고, 의심되는 에이전트를 IP별 일관된 허니팟 환경으로 리디렉션하며, 공격자에게 부과된 계산 비용을 정량화합니다.

15262개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

VeilGate

VeilGate는 실제 사용자 앞에 깨지기 쉬운 차단 규칙을 두지 않으면서 자동화된 보안 탐지 비용을 높이려는 팀을 위한 오픈소스 디셉션 프록시입니다.

웹 애플리케이션 앞에 위치하여 각 요청을 점수화하고 다음 중 하나를 선택합니다.

  • Real: 정상 트래픽을 업스트림 앱으로 전달합니다.
  • Challenge: 의심스럽지만 모호한 클라이언트에게 브라우저 작업 증명을 풀도록 요청합니다.
  • Tarpit: 신뢰도가 높은 에이전트 트래픽을 결정론적 가짜 앱으로 우회시킵니다.

목표는 마법 같은 무적 상태가 아닙니다. 목표는 더 나은 경제성입니다. 인간과 일반 자동화는 원활히 진행되도록 하면서, AI 지원 스캐너가 그럴듯한 막다른 길에 시간과 토큰, 주의를 소비하게 만드는 것입니다.

기능

  • observe, challenge, tarpit, 임계값 기반 auto 모드를 갖춘 리버스 프록시.
  • 의심스러운 사용자 에이전트, 희소한 브라우저 헤더, 허니팟 경로, 타이밍 규칙성, 스캐너 경로, SQLi/XSS/OOB 마커, IP/UA 회전, 쿠키 동작, 요청 그래프 형태, JA3/JA4 TLS 지문, HTTP/2 지문, 카나리 재생, 온라인 ML 점수 산출을 위한 탐지 신호.
  • 쿠키 및 X-Veilgate-Token 헤더 전송 방식을 모두 지원하는 브라우저 작업 증명 챌린지로, 교차 출처 SPA가 이후 API 호출에서 토큰을 풀고 다시 첨부할 수 있습니다. 401 챌린지 응답은 SPA를 인식하여 최상위 탐색에는 HTML을 반환하고 fetch / XHR 컨텍스트에는 인라인으로 풀 수 있는 PoW 메타데이터가 포함된 JSON을 반환합니다.
  • PoW를 풀 수 없는 서버 간 클라이언트를 위한 운영자 발급 HMAC 검증기 체인 (docs/how-to/server-to-server-hmac.md 참조).
  • 클라이언트별 안정적인 가짜 프로필을 사용하는 섀도 애플리케이션 응답.
  • tarpit 응답을 위한 프롬프트 인젝션 및 유인 페이로드 주입.
  • 이벤트, 기능 롤업, 감사 로그, 카나리를 위한 SQLite 영속성.
  • Prometheus 메트릭과 메트릭 리스너의 경량 대시보드.
  • 별도의 veilgate-rules 커뮤니티 저장소에서 제공되는 핫 리로드 가능한 YAML 규칙 파일.

빠른 시작

옵션 1 — 설치 스크립트 (권장)

바이너리를 다운로드하고 systemd 서비스를 설치하며 커뮤니티 규칙을 설치하고 observe 모드의 시작용 구성을 작성합니다.

root@kitploit:~
# One-liner
curl -sSL https://veilgate.dev/install.sh | sudo bash -s -- --upstream http://localhost:3000

# Or download first, then run
curl -sSL https://veilgate.dev/install.sh -o install.sh
sudo ./install.sh --upstream http://localhost:3000

플래그:

패키징된 구성은 rules_dir: "~/.veilgate/rules"를 사용합니다. systemd에서 VeilGate는 홈 디렉터리가 /var/lib/veilgate인 veilgate 사용자로 실행되므로 이 경로는 /var/lib/veilgate/.veilgate/rules로 확인됩니다.

새 설치에서 --secret을 생략하면 설치 프로그램은 대화형 터미널에서 프롬프트를 표시하고 그 외에는 임의의 비밀키를 생성합니다. 서비스 사용자가 존재하지 않으면 설치 프로그램은 대화형 터미널에서 생성 전에 확인하며 비대화형 설치에서는 기본적으로 생성합니다.

설치 후:

root@kitploit:~
systemctl status veilgate
journalctl -u veilgate -f

옵션 2 — Docker

root@kitploit:~
docker run -d --name veilgate \
  --network host \
  -v /etc/veilgate/veilgate.yaml:/etc/veilgate/veilgate.yaml:ro \
  -v ~/.veilgate/rules:/home/nonroot/.veilgate/rules \
  -e VEILGATE_SECRET=$(openssl rand -hex 32) \
  ghcr.io/c0oki3s/veilgate:latest -config /etc/veilgate/veilgate.yaml

옵션 3 — 소스에서 빌드

전제 조건: Go 1.25.10 이상.

root@kitploit:~
git clone https://github.com/C0oki3s/veilgate.git
cd veilgate
make build
./veilgate -config configs/veilgate.yaml

기본적으로 VeilGate는 :8080에서 수신하고 http://localhost:3000으로 프록시하며 :9090에서 메트릭을 노출합니다.

기본 구성은 observe 모드로 시작합니다. challenge나 tarpit을 활성화하기 전에 정상 트래픽의 기준선을 확보합니다.

운영 모드

권장 롤아웃 순서:

  1. observe를 최소 며칠 이상 실행합니다.
  2. 오탐지가 있는지 메트릭과 이벤트 샘플을 검토합니다.
  3. 모호한 트래픽에 대해 challenge를 활성화합니다.
  4. 임계값이 환경에 맞게 조정되면 tarpit을 활성화합니다.

구성

configs/veilgate.yaml부터 시작하세요:

root@kitploit:~
listen: ":8080"
upstream: "http://localhost:3000"
mode: "observe"
rules_dir: "~/.veilgate/rules"

detector:
  score_challenge_threshold: 40
  score_tarpit_threshold: 70
  trusted_ips: []
  trusted_proxies: []

metrics:
  listen: ":9090"

전체 참조: 구성 참조.

규칙

VeilGate에는 내장 규칙이 없습니다. 바이너리는 시작 시 rules_dir을 읽고 변경 사항을 핫 리로드합니다. 디렉터리가 비어 있으면 탐지 신호 없이 시작됩니다. 규칙은 한 곳에서 제공됩니다.

  • veilgate-rules — 커뮤니티가 유지 관리하는 규칙 팩. install.sh 스크립트가 최초 설치 시 자동으로 이를 클론합니다. 내장 update-rules 하위 명령으로 수동 업데이트할 수도 있습니다. 재빌드나 재시작이 필요 없습니다.
규칙을 자동으로 설치하나요?
install.sh (첫 실행)예 — git으로 클론
veilgate 바이너리 (시작 시)
root@kitploit:~
# Install the latest pack into ~/.veilgate/rules (the default location)
veilgate update-rules

# Or pin to a release tag
veilgate update-rules --dir ~/.veilgate/rules --version v1.2.0

# List available releases
veilgate update-rules --list

설치 후 VeilGate의 fsnotify 감시자가 약 500ms 내에 새 파일을 감지합니다. 각 기존 파일은 덮어쓰기 전에 <name>.bak으로 백업됩니다(--no-backup을 전달하면 건너뜁니다). 설치된 버전은 <rules_dir>/.rules-version.json에 기록되므로 CI와 운영자는 git 메타데이터를 확인하지 않고도 실행 중인 버전을 알 수 있습니다.

두 디렉터리를 보안 정책으로 취급하세요. 프로덕션에 배포하기 전에 변경 사항을 검토하세요. 특히 detector.yaml과 ip_reputation.yaml을 확인하세요. 전체 가이드 및 롤백 절차: docs/how-to/install-community-rules.md.

문서

  • 시작하기: 로컬 실행 및 첫 점검.
  • 구성 참조: veilgate.yaml 및 규칙 파일.
  • 배포: Linux/systemd 설치.
  • 아키텍처: 요청 흐름 및 하위 시스템 설계.
  • 운영: 메트릭, 대시보드, 알림, 일상 점검.
  • 모델 카드: ML 신호 동작 및 한계.
  • 참조 색인: 조회 중심의 완전한 참조 페이지 모음.
  • 커뮤니티 규칙: veilgate update-rules를 통해 커뮤니티 유지 관리 규칙 세트 설치 및 업데이트.
  • 위협 모델: VeilGate가 보호하는 것과 보호하지 않는 것.

보안 참고 사항

  • 자신이 소유하거나 운영하는 시스템 앞에서만 VeilGate를 배포하세요.
  • 메트릭 리스너를 공개 인터넷에 직접 노출하지 마세요.
  • challenge 또는 tarpit 모드를 사용하기 전에 VEILGATE_SECRET 또는 challenge.secret을 설정하세요. VeilGate는 기본 챌린지 비밀키로는 observe 모드 외에는 시작을 거부합니다.
  • rules/ 아래의 파일을 보안 정책으로 취급하세요. 검토하고 버전을 관리하세요.
  • 보수적인 임계값으로 시작하고 관찰된 트래픽에 따라 튜닝하세요.

개발

root@kitploit:~
make test
make fmt
make build

최상위 tests 폴더에는 블랙박스 통합 테스트가 포함되어 있습니다. 패키지 전용 단위 테스트는 내보내지지 않은 detector, TLS 지문, tarpit 및 ML 헬퍼를 검증하므로 해당 패키지 옆에 있습니다.

라이선스

Apache-2.0. LICENSE를 참조하세요.

도구 다운로드
FlagDefaultDescription
--upstream URLhttp://127.0.0.1:3000업스트림 애플리케이션
--listen ADDR:8080프록시 수신 주소
--metrics-listen ADDR127.0.0.1:9090메트릭 (비공개 유지)
--secret SECRET프롬프트 또는 생성됨챌린지 서명 비밀키
--user USERveilgateVeilGate를 실행할 서비스 사용자
--no-service—systemd 서비스 건너뛰기
--no-rules—커뮤니티 규칙 설치 건너뛰기
ModeUse it whenBehavior
observe초기 롤아웃 및 튜닝트래픽을 점수화하고 기록하며 항상 업스트림으로 전달
challenge의심스러운 클라이언트를 중단시켜도 괜찮은 경우중간 점수 트래픽에 작업 증명을 요구
tarpit신뢰도가 높은 에이전트를 속일 준비가 된 경우높은 점수 트래픽에 가짜 앱을 제공
auto요청별 적용을 임계값으로 제어하고 싶은 경우임계값 미만은 전달, 중간 점수는 챌린지, 높은 점수는 타피트
아니요 — rules_dir을 읽기만 하고 가져오지 않음
veilgate update-rules명시적으로 호출할 때만