
C로 작성된 AI 챗박스 모의해킹 도구: 채팅 인터페이스에 언어 기반(SQLi/NoSQL/XSS/SSTI) 및 프롬프트 인젝션 페이로드를 발사하고, 실제로 먹히는 페이로드를 표시합니다
thc-BloodMiamiC로 작성된 AI 챗박스 모의해킹 도구입니다. 채팅 인터페이스를 대상으로 language(SQL/NoSQL/XSS/SSTI) 및 prompt 인젝션 페이로드를 발사하고, 반응이 오는 것들을 표시합니다 — DB 오류 문자열, 반사된 스크립트 마커, 모델 탈옥 신호 등입니다. 빠르고, 스레드 기반이며, libcurl을 사용합니다.
하는 일Language injection (-i L) — SQLi, NoSQL, XSS, JS 인젝션 프로브; 응답을 오류/시그니처 목록(mysql_fetch_array, ORA-01756, <script>, onerror=, ...)과 대조Prompt injection (-i P) — 탈옥/프롬프트 재정의 프로브; 적중을 Low(모델 혼란), Medium(우회 가능성), Critical(탈옥 신호)로 등급화스레드 기반 전송 — 조정 가능한 동시성 (-c, 기본값 10)사용자 정의 헤더, user-agent, 타임아웃, verbose 모드, 결과 파일 저장 (-o)wordlist/language.txt, wordlist/prompt.txt빌드git clone https://github.com/foxcornlab/thc-BloodMiami.git
cd thc-BloodMiami
# deps: gcc, make, libcurl dev headers
sudo apt install libcurl4-openssl-dev # debian/ubuntu
make
사용법# language injection scan
./build/bloodmiami -t https://example.com/chat -i L -d wordlist/language.txt
# prompt injection scan, verbose, results to file
./build/bloodmiami -t https://example.com/chat -i P -d wordlist/prompt.txt -v -o results.txt
# 20 threads, 10s timeout, custom header
./build/bloodmiami -t https://example.com/chat -i L -d wordlist/language.txt -c 20 -T 10 \
-H "Authorization: Bearer <token>"
Usage: bloodmiami [OPTIONS]
Required:
-t, --target URL Target chat interface URL
-i, --injection TYPE Injection type: L (language) or P (prompt)
-d, --dictionary FILE Dictionary file with payloads
Optional:
-v, --verbose Enable verbose output
-T, --timeout SEC Request timeout in seconds (default: 5)
-U, --user-agent STR Custom User-Agent string
-H, --header STR Add custom HTTP header
-c, --concurrency NUM Concurrent requests (default: 10)
-o, --output FILE Save results to file
-h, --help Show help
-V, --version Show version
동작 방식사전의 각 줄은 채팅 스타일 JSON 본문에 페이로드가 삽입된 하나의 POST (Content-Type: application/json)가 됩니다. 응답 본문은 다음 항목에 대해 스캔됩니다:
SQL 오류 — mysql_fetch_array, ORA-01756, Unclosed quotation mark, PostgreSQL query failed, ...NoSQL 오류 — MongoError, BSONObj, WriteResult, ...XSS 마커 — <script>, javascript:, onerror=, document.cookie, ...JS 오류 — SyntaxError, ReferenceError, eval(, ...HTTP 5xx — 인젝션으로 인해 발생했을 가능성이 있는 서버 오류로 표시페이로드는 삽입 전에 JSON 이스케이프 처리되므로 사전 내의 따옴표/백슬래시가 요청 본문을 손상시킬 수 없습니다. TLS 검증은 의도적으로 비활성화되어 있습니다 (CURLOPT_SSL_VERIFYPEER=0) — 이는 테스트 도구이므로 랩/승인된 대상에서만 사용하십시오.
페이로드 사전wordlist/language.txt — SQLi (UNION, 오류 기반, 시간 기반), NoSQL 연산자, XSS 벡터, SSTI 프로브wordlist/prompt.txt — 탈옥 시도, 역할극 재정의, 시스템 프롬프트 추출 프로브, 간접 인젝션 마커직접 추가하십시오: 한 줄에 하나의 페이로드, #은 주석입니다. 페이로드는 그대로 대상에 전송되므로, 테스트가 허용된 시스템에만 이 도구를 사용하십시오.
면책 조항승인된 보안 테스트 및 연구 목적으로만 사용하십시오. 소유하지 않은 대상에 이 도구를 사용하기 전에 허가를 받을 책임은 사용자에게 있습니다.
감사의 말오픈소스 보안 커뮤니티 — 페이로드 아이디어 및 시그니처 목록libcurl — 모든 무거운 HTTP 작업을 처리
Vineeth Kumar(foxcornlab)의 연구. 버그를 발견했거나 기능을 원하시면issue를 열어주세요.