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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sif — 초고속 펜테스팅 스위트. | Kitploit
도구/GitHubGitHub/vmfunc/sif
ReconnaissanceVulnerability ScannersPort ScanningExploitationInformation GatheringWeb SecurityPenetration TestingSubdomain EnumerationCrawlerDNS Analysis
GitHubvmfunc/sif

sif

6142728일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

초고속 펜테스팅 스위트.

저장소 보기
sif



go version build license aur nixpkgs homebrew apt discord

설치 · 사용법 · 모듈 · 문서 · 기여

빠르고 동시적인 정보 수집부터 공격까지 하나의 바이너리로 처리합니다. 모든 스캐너는 하나의 연결 풀링된 HTTP 클라이언트를 공유합니다.


sif란 무엇인가?

sif는 정보 수집과 익스플로잇 스캐너로, 하나의 바이너리 안에서 전체 체인(서브도메인 열거, 포트 스캔, 크롤러, nuclei, 프레임워크/CVE 탐지, JS 시크릿 추출, 웹 취약점 프로브(CORS/XSS/리다이렉트), 클라우드 및 하이재킹 검사)을 실행합니다. 25개 이상의 스캔 유형을 하나의 명령어로 처리합니다.

root@kitploit:~
sif -u https://example.com -dnslist -ports -crawl -js -framework -nuclei

nuclei와 colly는 라이브러리로 컴파일되어 포함되어 있으며(트리 내부에 exec.Command가 없음), 따라서 단일 정적 바이너리로서 런타임 의존성이 없고 연결할 필요도 없습니다.

모든 스캐너는 하나의 공유 HTTP 클라이언트와 작업 훔치기 워커 풀을 통해 실행됩니다. -proxy, -H, -cookie, -rate-limit은 전체 실행에 한 번에 적용되며, 연결은 스캔 전반에 걸쳐 풀링되어 재사용됩니다(단일 호스트 실행 시 약 50번의 요청에 대해 한 번의 연결을 재사용하여 50번의 다이얼을 피함). 느린 호스트가 나머지 실행을 지연시키지 않습니다. 이 공유 클라이언트는 별도의 도구들을 파이프로 연결하여 사용하는 것보다 실용적인 이점입니다. 포트 스캔은 connect() 기반이므로, raw 포트 스캔에서는 rustscan과 nmap이 여전히 더 빠릅니다.

stdin에서 대상을 읽고 -silent 모드에서 한 줄에 하나씩 결과를 출력하므로, 다음과 같이 조합하여 사용할 수 있습니다:

root@kitploit:~
subfinder -d example.com | sif -silent -crawl -js -nuclei | notify

-diff는 재스캔을 모니터링 도구로 전환하여 변경된 사항만 보고하며, -notify는 slack/discord/telegram/webhook에 게시하고, sarif 및 markdown 형식으로 내보냅니다.

설치

homebrew (macos)

root@kitploit:~
brew tap vmfunc/sif
brew install sif

arch linux (aur)

선호하는 AUR 헬퍼를 사용하여 설치하세요:

root@kitploit:~
yay -S sif
# 또는
paru -S sif

nix

root@kitploit:~
# nixpkgs (선언적: configuration.nix 또는 home-manager에 추가)
environment.systemPackages = [ pkgs.sif ];

# 또는 명령형
nix profile install nixpkgs#sif

# 또는 설치 없이 실행
nix run nixpkgs#sif -- -u https://example.com -headers -sh -framework

리포지토리에는 소스에서 빌드하기 위한 flake도 포함되어 있습니다:

root@kitploit:~
nix run github:vmfunc/sif

debian/ubuntu (apt)

root@kitploit:~
curl -1sLf 'https://dl.cloudsmith.io/public/sif/deb/setup.deb.sh' | sudo -E bash
sudo apt-get install sif

릴리스에서 다운로드

최신 바이너리는 릴리스 페이지에서 받으세요.

소스에서 빌드

root@kitploit:~
git clone https://github.com/vmfunc/sif.git
cd sif
make

Go 1.25+ 필요

aur (수동 설치)

root@kitploit:~
git clone https://aur.archlinux.org/sif.git
cd sif
makepkg -si

사용법

root@kitploit:~
# 기본 스캔
./sif -u https://example.com

# 디렉토리 퍼징
./sif -u https://example.com -dirlist medium

# 서브도메인 열거
./sif -u https://example.com -dnslist medium

# 포트 스캔
./sif -u https://example.com -ports common

# 자바스크립트 프레임워크 탐지 + 클라우드 설정 오류
./sif -u https://example.com -js -c3

# shodan 호스트 정보 조회 (SHODAN_API_KEY 환경 변수 필요)
./sif -u https://example.com -shodan

# securitytrails 도메인 발견 (SECURITYTRAILS_API_KEY 환경 변수 필요)
# 서브도메인 + 연관 도메인을 발견한 후 모두 스캔
./sif -u https://example.com -securitytrails -headers

# SQL 정보 수집 + LFI 스캔
./sif -u https://example.com -sql -lfi

# 웹 취약점 프로브 (CORS, 오픈 리다이렉트, 반사형 XSS)
./sif -u https://example.com -cors -redirect -xss

# 프레임워크 탐지 (CVE 조회 포함)
./sif -u https://example.com -framework

# 광범위 스캔
./sif -u https://example.com -dirlist small -dnslist small -ports common -headers -sh -cms -framework -git -whois

모든 옵션은 ./sif -h로 확인하세요.

명령어

스캔 없이 실행되는 몇 가지 서브명령어:

root@kitploit:~
# 버전 출력 (릴리스 빌드는 스탬프 포함; 로컬 빌드는 git describe 사용)
./sif version

# 최신 릴리스 노트 표시 (또는 -pn)
./sif patchnote

새 릴리스를 처음 실행하면 sif가 해당 릴리스 노트를 한 번 출력합니다. 비활성화하려면 SIF_NO_PATCHNOTES=1을 설정하세요.

모듈

sif는 모듈식 아키텍처를 가지고 있습니다. 모듈은 yaml로 정의되며 사용자가 확장할 수 있습니다.

내장 스캔 플래그

HTTP 옵션

모든 아웃바운드 요청에 적용됩니다:

root@kitploit:~
# socks5 프록시를 통해 사용자 정의 헤더, 쿠키, 20 req/s 제한으로 스캔
./sif -u https://example.com -headers -proxy socks5://127.0.0.1:1080 -H "Authorization: Bearer tok" -cookie "session=abc" -rate-limit 20

헤더를 명시적으로 설정하는 스캐너(예: API 키)는 항상 전역 기본값보다 우선합니다.

보고서 내보내기

스캔 결과를 CI/CD 또는 분류를 위해 파일로 작성:

root@kitploit:~
# 스캔 후 SARIF 및 마크다운 보고서 생성
./sif -u https://example.com -headers -cors -sarif out.sarif -md out.md

SARIF 출력은 GitHub 코드 스캐닝에서 사용 가능합니다. 마크다운은 대상별 요약 보고서입니다.

diff 모드

-diff는 재스캔을 모니터로 전환: sif가 각 대상의 정규화된 결과를 JSON 파일에 스냅샷으로 저장하고, 다음 실행 시 해당 스냅샷 대비 델타(+ new / - gone)만 보고한 후 덮어씁니다. 대상의 첫 번째 실행은 기준선이 없으므로 모든 항목이 + new입니다. 스냅샷은 -store에 저장되며(대상당 하나의 정리된 파일), 설정되지 않으면 로그 디렉토리를 재사용하고, 그 다음에는 <user-config>/sif/state로 폴백됩니다.

root@kitploit:~
# 기준 실행 후, 나중에 재스캔하여 변경된 것만 확인
./sif -u https://example.com -sh -cors -diff
./sif -u https://example.com -sh -cors -diff

스냅샷은 항상 덮어쓰여지므로 각 실행은 이전 실행과의 차이를 보여줍니다. 델타는 크롬 출력으로(-silent에서는 일반 출력 싱크/stderr로 전송), 결과 스트림이 아닙니다.

알림

결과를 채팅/webhook 싱크로 전송하여 지속적인 정보 수집 실행이 발견한 내용을 알릴 수 있도록 합니다. 모든 프로바이더는 공유 HTTP 클라이언트를 통해 단일 POST로 전송되므로 전역 프록시/속도 제한/헤더 설정이 적용됩니다.

프로바이더는 환경 변수 우선으로 설정되며, YAML 파일(-notify-config)로 각 필드를 재정의할 수 있습니다. YAML 키는 projectdiscovery/notify와 일치하므로 기존 설정을 이식할 수 있습니다:

root@kitploit:~
# 스캔 중 medium 이상 심각도의 결과를 Slack으로 전송
export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
./sif -u https://example.com -cors -xss -notify -notify-severity medium

대상이 없는 프로바이더는 건너뜁니다. 아무것도 설정되지 않은 경우 -notify는 자동으로 무시됩니다. Slack/Discord/Telegram은 고정 너비 결과 블록을 수신하고, 일반 웹훅은 구조화된 JSON({count, findings[]})을 수신합니다.

파이프 모드

sif는 stdin에서 대상을 읽으며 호스트만 입력할 수 있으므로 유닉스 파이프라인에 통합됩니다. -silent는 배너/스피너/로그 크롬을 stderr로 보내고, 정규화된 결과를 한 줄에 하나씩 stdout으로 출력합니다([심각도] 대상 모듈 제목):

root@kitploit:~
# subfinder가 호스트를 제공하고, sif가 프로브하며, notify가 결과를 전송
subfinder -d example.com | sif -silent -probe | notify
플래그설명
stdin파이프된 대상 스트림 (한 줄에 하나의 호스트/URL)이 -u/-f와 함께 읽힘

스키마가 없는 호스트는 기본적으로 https://로 처리됩니다. 명시적인 http:///https://는 유지되며, 다른 스키마(ftp://, ...)는 거부됩니다.

YAML 모듈

사용 가능한 모듈 목록:

root@kitploit:~
./sif -lm

특정 모듈 실행:

root@kitploit:~
# ID로 실행
./sif -u https://example.com -m sqli-error-based,xss-reflected

# 태그로 실행
./sif -u https://example.com -mt owasp-top10

# 모든 모듈 실행
./sif -u https://example.com -am

사용자 정의 모듈

~/.config/sif/modules/에 자체 모듈을 생성하세요. 모듈은 nuclei 템플릿과 유사한 YAML 형식을 사용합니다:

root@kitploit:~
id: my-custom-check
info:
  name: my custom security check
  author: you
  severity: medium
  description: checks for something specific
  tags: [custom, recon]

type: http

http:
  method: GET
  paths:
    - "{{BaseURL}}/admin"
    - "{{BaseURL}}/login"

  matchers:
    - type: status
      status:
        - 200

    - type: word
      part: body
      words:
        - "admin panel"
        - "login"
      condition: or

전체 모듈 형식은 docs/modules.md를 참조하세요.

기여

기여를 환영합니다. 가이드라인은 contributing.md를 참조하세요.

root@kitploit:~
# 포맷
gofmt -w .

# 린트
go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run

# 테스트
go test ./...

커뮤니티

지원, 기능 논의, 침투 테스트 팁을 위해 Discord에 가입하세요:

discord

기여자

감사의 말

  • projectdiscovery의 nuclei 및 기타 보안 도구
  • shodan의 인프라 인텔리전스

BSD 3-Clause 라이선스 · vmfunc, xyzeva 및 기여자들이 제작
도구 다운로드
플래그설명
-dirlist디렉토리 및 파일 퍼징 (small/medium/large)
-mcdirlist: 일치시킬 상태 코드 (쉼표 목록, 예: 200,301)
-fcdirlist: 이 상태 코드는 필터링 (쉼표 목록)
-fsdirlist: 이 본문 크기의 응답 필터링 (쉼표 목록)
-fwdirlist: 이 단어 수의 응답 필터링 (쉼표 목록)
-frdirlist: 본문이 이 정규식과 일치하는 응답 필터링
-ac소프트 404 와일드카드 기준 자동 보정 (dirlist, sql)
-wdirlist: 사용자 정의 단어 목록 (로컬 파일 또는 URL; -dirlist 크기 재정의)
-edirlist: 각 단어에 추가할 확장자 (쉼표 목록, 예: php,bak,env)
-dnslist서브도메인 열거 (small/medium/large)
-ports포트 스캔 (common/full)
-nucleinuclei 템플릿을 사용한 취약점 스캔
-dork자동화된 구글 도킹
-js자바스크립트 분석 + 시크릿 및 엔드포인트 추출
-c3클라우드 스토리지 설정 오류
-headersHTTP 헤더 분석
-sh보안 헤더 분석 (누락/취약한 헤더)
-st서브도메인 탈취 탐지
-cmsCMS 탐지
-whoiswhois 조회
-git노출된 Git 저장소 탐지
-shodanshodan 조회 (SHODAN_API_KEY 필요)
-securitytrails도메인 발견 + 대상 확장 (SECURITYTRAILS_API_KEY 필요)
-sqlSQL 정보 수집
-lfi로컬 파일 포함
-jwtJWT 발견 + 오프라인 약점 분석 (alg:none, 약한 HMAC, exp, 민감한 클레임)
-openapiOpenAPI/Swagger 스펙 노출 프로브 (경로 + 인증 없는 엔드포인트 열거)
-favicon파비콘 해시 핑거프린팅 (shodan 스타일 mmh3, 기술 매칭 + 피벗 쿼리)
-corsCORS 설정 오류 프로브
-redirect오픈 리다이렉트 프로브
-xss반사형 XSS 프로브
-framework프레임워크 탐지 (CVE 조회 포함)
-crawl웹 크롤러 (동일 호스트의 링크/스크립트/폼 스파이더)
-crawl-depth최대 크롤 재귀 깊이 (기본값 2)
-passive수동적 서브도메인/URL 발견 (대상에 트래픽 없음)
-probe라이브 호스트 프로브 (상태, 제목, 서버, 리다이렉트 체인)
플래그설명
-proxy모든 트래픽을 프록시로 라우팅 (http/https/socks5 URL)
-H, --header전송할 사용자 정의 헤더 (반복 가능 또는 쉼표 구분, "Key: Value")
-cookie모든 요청에 보낼 쿠키 헤더
-rate-limit초당 최대 요청 수 (0 = 무제한, 기본값 0)
플래그설명
-sarifSARIF 2.1.0 보고서를 이 파일에 작성
-markdown, -md마크다운 보고서를 이 파일에 작성
-silent일반 출력: 크롬은 stderr로, 결과는 한 줄에 하나씩 stdout으로 (파이프라인용)
-diff각 대상의 마지막 스냅샷 이후 추가/제거된 결과만 표시
-store-diff용 스냅샷 디렉토리 (기본값: 로그 디렉토리, 없으면 <user-config>/sif/state)
플래그설명
-notify스캔 후 모든 설정된 프로바이더로 결과 전송
-notify-severity전송할 최소 심각도 (info/low/medium/high/critical, 기본값 medium)
-notify-config알림 호환 YAML 설정 파일 경로 (환경 변수 재정의)
환경 변수YAML 키프로바이더
SLACK_WEBHOOK_URLslack_webhook_urlSlack 인커밍 웹훅
DISCORD_WEBHOOK_URLdiscord_webhook_urlDiscord 웹훅
TELEGRAM_BOT_TOKENtelegram_api_keyTelegram 봇 API (채팅 ID도 필요)
TELEGRAM_CHAT_IDtelegram_chat_idTelegram 대상 채팅
NOTIFY_WEBHOOK_URLwebhook_url일반 JSON 웹훅 (구조화된 결과)
vmfunc
vmfunc

🚧 🧑‍🏫 📆 🛡️ 💻
ProjectDiscovery
ProjectDiscovery

📦
macdoos
macdoos

💻
Matthieu Witrowiez
Matthieu Witrowiez

🤔
tessa
tessa

🚇 💬 📓
Eva
Eva

📝 🖋 🔬 🛡️ ⚠️ 💻
Zoa Hickenlooper
Zoa Hickenlooper

💻
acxtrilla
acxtrilla

📦