Files
PentestGPT/PentestGPT_design.md
Grey_D 7850f76bdb feat: 🎸 pentestGPT
add initial design doc for PentestGPT
2023-04-05 11:29:08 +08:00

1.3 KiB

Design Documentation for PentestGPT

version 0.1, for web penetration testing only

General Design

PentestGPT provides a unified terminal input handler, and backed by three main components:

  • A test generation module which generates the exact penetration testing commands or operations for the users to execute.
  • A test reasoning module which conducts the reasoning of the test, guiding the penetration testers on what to do next.
  • A parsing module which parses the output of the penetration tools and the contents on the webUI.

Function Design

The handler is the main entry point of the penetration testing tool. It allows pentesters to perform the following operations:

  1. (initialize itself with some pre-designed prompts.)
  2. Start a new penetration testing session by providing the target information.
  3. Ask for todo-list, and acquire the next step to perform.
  4. After completing the operation, pass the information to PentestGPT.
    1. Pass a tool output.
    2. Pass a webpage content.
    3. Pass a human description.

System Design

General Structure

  1. Maintain three chat sessions in one class. Each session is for one component.
  2. User can select to pass information to one section. In particular.
    1. todo:
    2. pass information:

Handler Design

Function Details