
OpenAI의 GPT를 통합하여 매우 맞춤형 취약점을 발견하기 위한 추가 패시브 스캔을 수행하고 모든 유형의 트래픽 기반 분석을 실행할 수 있는 Burp Suite 확장 프로그램입니다.
[!IMPORTANT] BurpGPT Pro의 출시를 발표합니다. 이 에디션은 전문가 및 사이버 부티크의 요구를 충족하도록 특별히 설계되었습니다. 강력한 기능과 사용자 친화적인 인터페이스를 통해 역량을 강화하고 최적의 사용자 경험을 보장합니다. 이 혜택을 이용하려면 웹사이트를 방문하고 문서에서 자세한 정보를 확인하세요.
[!WARNING] 커뮤니티 에디션은 더 이상 유지 관리되지 않으며 작동하지 않습니다. 계속해서 업데이트, 새로운 기능, 버그 수정 및 개선 사항을 받으려면 Pro 에디션으로 업그레이드하는 것을 고려하세요. 커뮤니티 에디션에 대해
이슈를 등록하는 것은 더 이상 유용하지 않습니다.
burpgpt는 AI의 힘을 활용하여 기존 스캐너가 놓칠 수 있는 보안 취약점을 탐지합니다. 웹 트래픽을 사용자가 지정한 OpenAI 모델로 전송하여 수동 스캐너 내에서 정교한 분석을 가능하게 합니다. 이 확장 프로그램은 사용자 정의 가능한 프롬프트를 제공하여 각 사용자의 특정 요구에 맞게 웹 트래픽 분석을 조정할 수 있습니다. 영감을 얻으려면 예제 사용 사례 섹션을 확인하세요.
이 확장 프로그램은 사용자의 프롬프트와 Burp에서 발행한 요청의 실시간 데이터를 기반으로 잠재적인 보안 문제를 요약한 자동화된 보안 보고서를 생성합니다. AI 및 자연어 처리를 활용하여 보안 평가 프로세스를 간소화하고 보안 전문가에게 스캔된 애플리케이션 또는 엔드포인트에 대한 상위 수준 개요를 제공합니다. 이를 통해 잠재적인 보안 문제를 더 쉽게 식별하고 분석의 우선순위를 정할 수 있으며, 더 넓은 잠재적 공격 표면을 커버할 수 있습니다.
[!WARNING] 데이터 트래픽은 분석을 위해
OpenAI로 전송됩니다. 이에 대해 우려가 있거나 보안이 중요한 애플리케이션에 확장 프로그램을 사용하는 경우, 이를 신중히 고려하고 OpenAI의 개인정보 보호정책을 검토하는 것이 중요합니다.
[!WARNING] 보고서는 자동화되어 있지만 여전히 보안 전문가의 분류 및 사후 처리가 필요하며, 오탐(false positive)이 포함될 수 있습니다.
[!WARNING] 이 확장 프로그램의 효과는 사용자가 선택한
GPT모델에 대해 작성한 프롬프트의 품질과 정확성에 크게 의존합니다. 이러한 목표 지향적 접근 방식은GPT 모델이 보안 분석을 위해 정확하고 가치 있는 결과를 생성하도록 하는 데 도움이 됩니다.
패시브 스캔 검사를 추가하여 사용자가 HTTP 데이터를 OpenAI 제어 GPT 모델에 플레이스홀더 시스템을 통해 분석용으로 제출할 수 있습니다.OpenAI의 GPT 모델의 힘을 활용하여 포괄적인 트래픽 분석을 수행함으로써 스캔된 애플리케이션의 보안 취약점 이상의 다양한 문제를 탐지할 수 있습니다.최대 프롬프트 길이를 정밀하게 조정하여 분석에 사용되는 GPT 토큰 수를 세밀하게 제어할 수 있습니다.OpenAI 모델 중에서 선택하여 자신의 필요에 가장 적합한 모델을 선택할 수 있습니다.프롬프트를 사용자 정의하고 OpenAI 모델과 상호 작용할 수 있는 무한한 가능성을 열어줍니다. 예제 사용 사례에서 영감을 얻으세요.Burp Suite와 통합되어 기본 기능을 모두 제공하며, 분석 결과를 Burp UI 내에 직접 표시하여 효율적인 분석을 지원합니다.Burp 이벤트 로그를 통해 문제 해결 기능을 제공하여 사용자가 와의 통신 문제를 신속하게 해결할 수 있습니다.운영 체제: Linux, macOS, Windows 운영 체제와 호환 가능.
Java Development Kit (JDK): 버전 11 이상.
Burp Suite Professional 또는 Community Edition: 버전 2023.3.2 이상.
[!IMPORTANT]
2023.3.2미만의 버전을 사용하면 java.lang.NoSuchMethodError가 발생할 수 있습니다. 이 문제를 피하려면 지정된 버전 이상을 사용하는 것이 중요합니다.
버전 6.9 이상 (권장). 프로젝트 저장소에 build.gradle 파일이 제공됩니다.JAVA_HOME 환경 변수를 JDK 설치 디렉토리를 가리키도록 설정하세요.프로젝트를 빌드하고 실행하기 전에 Burp Suite의 호환 버전을 포함한 모든 시스템 요구 사항이 충족되었는지 확인하세요. 프로젝트의 외부 종속성은 빌드 과정에서 Gradle에 의해 자동으로 관리 및 설치됩니다. 요구 사항을 준수하면 잠재적인 문제를 방지하고 프로젝트 저장소에 새 이슈를 열 필요성을 줄일 수 있습니다.
Gradle이 설치 및 구성되어 있는지 확인하세요.
burpgpt 저장소를 다운로드하세요:
git clone https://github.com/aress31/burpgpt
cd .\burpgpt\
독립 실행형 jar를 빌드하세요:
./gradlew shadowJar
Burp Suite에 확장 프로그램 로드Burp Suite에 burpgpt를 설치하려면 먼저 확장 탭으로 이동하여 추가 버튼을 클릭하세요. 그런 다음 .\lib\build\libs 폴더에 있는 burpgpt-all jar 파일을 선택하여 확장 프로그램을 로드하세요.
burpgpt 사용을 시작하려면 사용자는 Burp Suite 메뉴 모음에서 액세스할 수 있는 설정 패널에서 다음 단계를 완료해야 합니다:
OpenAI API 키를 입력하세요.모델을 선택하세요.최대 프롬프트 크기를 정의하세요. 이 필드는 OpenAI로 전송되는 최대 프롬프트 길이를 제어하여 GPT 모델의 maxTokens (일반적으로 GPT-3의 경우 약 2048)를 초과하지 않도록 합니다.
위와 같이 구성되면 Burp 패시브 스캐너는 각 요청을 OpenAI API를 통해 선택한 OpenAI 모델로 전송하여 분석하고, 결과에 따라 정보 수준의 심각도 결과를 생성합니다.
burpgpt는 사용자가 플레이스홀더 시스템을 사용하여 트래픽 분석을 위한 프롬프트를 조정할 수 있게 합니다. 관련 정보를 포함하려면 확장 프로그램이 직접 처리하는 다음 플레이스홀더를 사용하는 것이 좋습니다. 이를 통해 동적으로 특정 값을 프롬프트에 삽입할 수 있습니다:
이러한 플레이스홀더는 사용자 정의 프롬프트에서 사용되어 스캔된 요청에 특화된 요청/응답 분석 프롬프트를 동적으로 생성할 수 있습니다.
[!NOTE]
Burp Suite는 세션 처리 규칙 또는 Custom Parameter Handler와 같은 확장 프로그램을 통해 임의의플레이스홀더를 지원할 수 있으므로프롬프트를 더욱 사용자 정의할 수 있습니다.
다음 예제 사용 사례 목록은 burpgpt의 맞춤형 및 고도로 사용자 정의 가능한 특성을 보여주며, 사용자가 자신의 특정 요구에 맞게 웹 트래픽 분석을 조정할 수 있도록 합니다.
특정 CVE의 영향을 받는 암호화 라이브러리를 사용하는 웹 애플리케이션에서 잠재적 취약점 식별:
Analyse the request and response data for potential security vulnerabilities related to the {CRYPTO_LIBRARY_NAME} crypto library affected by CVE-{CVE_NUMBER}:
Web Application URL: {URL}
Crypto Library Name: {CRYPTO_LIBRARY_NAME}
CVE Number: CVE-{CVE_NUMBER}
Request Headers: {REQUEST_HEADERS}
Response Headers: {RESPONSE_HEADERS}
Request Body: {REQUEST_BODY}
Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities related to the {CRYPTO_LIBRARY_NAME} crypto library affected by CVE-{CVE_NUMBER} in the request and response data and report them.
생체 인증을 사용하는 웹 애플리케이션의 취약점을 인증 프로세스와 관련된 요청 및 응답 데이터를 분석하여 스캔:
Analyse the request and response data for potential security vulnerabilities related to the biometric authentication process:
Web Application URL: {URL}
Biometric Authentication Request Headers: {REQUEST_HEADERS}
Biometric Authentication Response Headers: {RESPONSE_HEADERS}
Biometric Authentication Request Body: {REQUEST_BODY}
Biometric Authentication Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities related to the biometric authentication process in the request and response data and report them.
서버리스 함수 간에 교환되는 요청 및 응답 데이터의 잠재적 보안 취약점 분석:
Analyse the request and response data exchanged between serverless functions for potential security vulnerabilities:
Serverless Function A URL: {URL}
Serverless Function B URL: {URL}
Serverless Function A Request Headers: {REQUEST_HEADERS}
Serverless Function B Response Headers: {RESPONSE_HEADERS}
Serverless Function A Request Body: {REQUEST_BODY}
Serverless Function B Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities in the data exchanged between the two serverless functions and report them.
설정 패널에 사용자가 요청의 maxTokens 제한을 설정할 수 있는 새 필드를 추가하여 요청 크기를 제한합니다. <- BurpGPT Pro 에디션 전용.AI 모델의 로컬 인스턴스에 연결할 수 있는 지원을 추가하여 사용자가 로컬 머신에서 모델을 실행하고 상호 작용할 수 있도록 하여 응답 시간과 데이터 개인정보 보호를 개선할 수 있습니다. <- BurpGPT Pro 에디션 전용.모델의 정확한 maxTokens 값을 검색하여 허용 가능한 최대 데이터를 전송하고 가장 광범위한 GPT 응답을 얻을 수 있도록 합니다.Burp Suite 재시작 시 설정을 유지하기 위해 영구적인 구성 저장소를 구현합니다. <- BurpGPT Pro 에디션 전용.GPT 응답을 취약점 모델로 정확하게 파싱하여 보고를 개선하는 코드를 향상시킵니다. <- 전용.이 확장 프로그램은 현재 개발 중이며, 더 나은 확장 프로그램을 만들기 위해 피드백, 의견 및 기여를 환영합니다.
이 확장 프로그램이 보안 평가 중에 시간과 번거로움을 덜어주었다면, 개발자에게 커피 한 잔 ☕을 후원하여 사랑을 보여주는 것을 고려해 보세요. 결국, 그것이 개발의 연료입니다. 페이지 상단의 빛나는 후원 버튼을 클릭하거나 여기를 클릭하여 기여하고 카페인이 흐르도록 유지하세요. 💸
버그를 찾으셨나요? 그렇다면 그냥 방치하지 마세요! 버그 속삭이는 사람처럼 함께 해결합시다! 🐛💪
모든 이슈는 GitHub 이슈 트래커에 보고해 주세요. 함께 이 확장 프로그램을 핵전쟁에서 살아남는 바퀴벌레처럼 신뢰할 수 있게 만들겠습니다! 🚀
뛰어난 코딩 실력으로 인상을 남기고 싶으신가요? 💻
멋집니다! 기여는 언제나 환영하며 매우 감사하게 생각합니다. 모든 PR은 GitHub 풀 리퀘스트 트래커에 제출해 주세요. 함께 이 확장 프로그램을 더욱 놀랍게 만들 수 있습니다! 🚀
LICENSE를 참조하세요.
OpenAI API| 플레이스홀더 | 설명 |
|---|
{REQUEST} | 스캔된 요청. |
{URL} | 스캔된 요청의 URL. |
{METHOD} | 스캔된 요청에 사용된 HTTP 요청 메서드. |
{REQUEST_HEADERS} | 스캔된 요청의 헤더. |
{REQUEST_BODY} | 스캔된 요청의 본문. |
{RESPONSE} | 스캔된 응답. |
{RESPONSE_HEADERS} | 스캔된 응답의 헤더. |
{RESPONSE_BODY} | 스캔된 응답의 본문. |
{IS_TRUNCATED_PROMPT} | 프롬프트가 설정에 정의된 최대 프롬프트 크기로 잘렸는지 여부를 나타내는 boolean 값으로, 프로그래밍 방식으로 true 또는 false로 설정됩니다. |
단일 페이지 애플리케이션(SPA) 프레임워크에 특화된 잠재적 보안 취약점에 대한 요청 및 응답 데이터 분석:
Analyse the request and response data for potential security vulnerabilities specific to the {SPA_FRAMEWORK_NAME} SPA framework:
Web Application URL: {URL}
SPA Framework Name: {SPA_FRAMEWORK_NAME}
Request Headers: {REQUEST_HEADERS}
Response Headers: {RESPONSE_HEADERS}
Request Body: {REQUEST_BODY}
Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities related to the {SPA_FRAMEWORK_NAME} SPA framework in the request and response data and report them.