File tree Expand file tree Collapse file tree 3 files changed +31
-4
lines changed Expand file tree Collapse file tree 3 files changed +31
-4
lines changed Original file line number Diff line number Diff line change 1
1
# PentestGPT
2
2
3
- ** We're testing PentestGPT on HackTheBox** . You may follow [ this link] ( https://www.hackthebox.com/home/users/profile/1489431 ) . More details will be released soon.
4
- ** We include a video of using PentestGPT for OSCP-like machine: [ HTB-Jarvis] ( https://youtu.be/lAjLIj1JT3c ) ** . This is the first part only, and I'll complete the rest when I have time.
3
+ - [ Update on 29/04/2023] I will release an official support for OpenAI API soon (hopefully in the next two days). The current update is for testing only.
4
+ - ** We're testing PentestGPT on HackTheBox** . You may follow [ this link] ( https://www.hackthebox.com/home/users/profile/1489431 ) . More details will be released soon.
5
+ - ** We include a video of using PentestGPT for OSCP-like machine: [ HTB-Jarvis] ( https://youtu.be/lAjLIj1JT3c ) ** . This is the first part only, and I'll complete the rest when I have time.
5
6
6
7
## Common Questions
7
8
- ** Q** : What is PentestGPT?
Original file line number Diff line number Diff line change 4
4
@dataclasses .dataclass
5
5
class ChatGPTConfig :
6
6
model : str = "text-davinci-002-render-sha"
7
+ # set up the openai key
8
+ openai_key = ""
7
9
# set the user-agent below
8
- userAgent : str = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 "
10
+ userAgent : str = ""
9
11
# set cookie below
10
- cookie : str = "intercom-device-id-dgkjq2bp=0b79bf97-190f-4146-90b1-8e5ee76889a9; intercom-id-dgkjq2bp=73b81fc6-1a89-4778-8602-938e95bb1c8f; _ga=GA1.1.251554109.1679673782; __Host-next-auth.csrf-token=7023b86a1bc0bdd723cf71521ee831acaaab9d94a02438bcdca02ea769612c5f|18083d4a7b0eceabb2c424a905ec175934924e2bd45d006a89e1604164a48604; cf_clearance=qBZGclv8Ht5cS8iEmM2jYyPcvnrVfTRmSUtan_IRuDA-1682061686-0-1-71f1ba7f.fc4b5d0b.26f0e59f-160; _cfuvid=3BzxJtaXO435Z8NO48K1kTTp3JHuMZfIQvWhfiSYEJM-1682330678178-0-604800000; _ga_9YTZJE58M9=GS1.1.1682353256.12.0.1682353256.0.0.0; __Secure-next-auth.callback-url=https://chat.openai.com; cf_clearance=PtqZvXvt6o6wVp9tkSKwlMMfBdV4Hh96bvDhFUG9MHw-1682478660-0-1-5d5e3502.f55df012.897d5f13-160; _puid=user-nwflAg2thlSVHzpBgwGFRgqE:1682478662-c0c9bQESRGcnNH76HwNPLLMranslUH4wSzMGzAxX9AQ=; __cf_bm=MB6FL5JtFTbxNe.AmHN1g023sQ1BNJU04xXCXQKw8uA-1682478662-0-AT/9xWRnD4EkdaRLyogIvEZA1Aqs7uGTSExNXBPLq3uKqbtCVX1jTqR9RQ0FnlnxxRSSNUBo3R3vFdD89ReKsd+Z/95dxMmp4kN3gp5ttaMnuP7uxVkGolGwyYsTmfE5CQDfzR6t1g0GQHT7fnoAL04=; intercom-session-dgkjq2bp=ejAzREZWNUtYdzkwa3ZBanh3UXV0UHZNTk1IMXphZEh3NmhNR3FKU2NkQXFsQk1BRWpmMHExc2w5Qm9DK0krWi0tWlVLOXNGU0NEK3d1WXlzZzdZNnJjZz09--677b92a337fa6e349cdd910984b24829326dff8f; __Secure-next-auth.session-token=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..nOcSsVlZHqMrkLHm.fZe57E1-UPMVMATxdKlh9JZiYVye9InomOu3H2HyleCH78Zc-X44TiTn1xZnrkYJoKhTXvLPVqFIoV4xx1KEWow0Iv3g9IDZSJRiIFiU_0bhzl7hAKZsrA7Ke8dmXSx0SkY--5sCRanyEDKzhDvl2zuyn9X1uDh9Q3j9DfaSKkptDkiwAiqJBuAx1i3DnFKUH8k1KQKhBKI9zNPj12-ryjkkPixTyDmzEJ4h6_vP14BOzi83Z-yuoGxbi1VBUXV2xkFw64dIc113SB_0Yus1KCP2Z5uEMpUsUMtSC0KwFYGxBmtjLR2gb4oVr32f-VYoSyVjK8HDq4rmFun0uNYnQVnkX7qkBtruufuivxtLh6jqMVydfP0UTrSZAG-fJYwLzZF2yM2Y_8qH7KwHpnyqPzc9PQRuOzYeIe_xIEt9lAi-nfvd79G4T4tzAS9dUjdAlYQ_YrII_g_df2zK30soSGZ7mm5di5CXgFnKOsbnjGJ7etaD9iShsJ8Mq2FMiquYnioUk3V3HfJJooqCdXjOy8dNpUKaazroXyBm2KDZnxP7iZLLETk82mvPPlEl6WfPZoMjMpBMkQffLSnOtN8kzJYO-NcdIBkV7_pBFZdmRjAa_gGudsKjkt4xbr9bGJgccTWoKxWnawxeLWIFpZrxNtibGeA5NyPG8XRiZGqbg5U07Xt25BLc1iIdraItmm94-sW2IFcVDXAxMkSnSNxo2fLsaMwopBeroo-l4baPUXviuO-Ux5xVNTmRe2q-rp5MXNr5GcF79t5oN6ULv9GAxYSqIYQ0biV-G_sdC6PNWErxokfApxAa3oAsaqwxSvNx5mo6tnzH6OPoz5eSyMxhYfkflThLwssJSJ9WT3k3kYxDfeO4t7HEIxP4crkpfkLOJ8FL7gnZTxFSyQQB3FFMgCjqp5xsIhGCNQ_VbgBjJf2QzbudfU075dXWOzzti1WL_BjBY9zDttlEO5VMMZqy--GvGOkscRw_eSgOOXdcVgWW-fpGeIUx-RKfyVF2crwzYNCJrsjyZw6Y0oxskimWE9ZGimGAw8jLTFa1iB0CR2LH7XKTlH5OjUE9lQiJToc0bD0FmflDBkeOamb6N_S0_tZDYbj4JoWm1vGcdb1NAZ8ov1CGqBOTg6Ko8U_So7jLZtcAgAm8wAjp9i3H1xHSivT8lxUyQkTEzNWojZ3uFKRy7n3_X3l9kjuZ7tvI_lkqAuzvZ2l7V5nrda1kNld1kkiTB8GTwkqx9HENcG87DPV1PvZksEZ7wrcR4VsAeQmT6usr4g5nUBo9B0WQShih2aSKyBv9n1PpSZDTqpYGtfU6Tm0fa-jwSbY4u670SBHkgEuAOUbpOUKFnVrLpuI0kCUNrpH3fKEsxrPRkDwMegq93YwqjK0RQ9Hkoy63NQ6U5IlN6jHrqwPN-iTSrfeTnT29PN2WHAj1r6DrmQSfszfKfI6h-OBUQpFsI4GzeKsbrwJlwAVaUYTeFKfw17OcIQE4YXU00floaJCyGSvcbDUkKDiRNdgjNoDT8mooY9dKMtz1ikyPj40CwIYhee2V_h1wrKJA0XTtS4gFrhJveU4nYPnxgdxYM9DpM-L8wfzJLf7wfbZr4-M4FwuGq8ADspmKpWpRSkqO99MLwPDLCUd6R3TrvutkUe0vA8dXvUJA5fjFY6X0TTyF27lhERuuqA7NIleE3tqxsi9FBdamAZy_PI8Ewq8jisblpzFgZBT6UVDrX1PCKLsZexG1rMIRSxjBOainVG3ffxRSuEULMwjGrmEu4s6YCl6BxqlRerz1gbpwbvFK9wGUEgUfm3nEMjw_fkbB92sG1rTJPv17axlaK7qoFh3XYER6e5K0PwKzvZHjn4D4tw2iZFGcQ2tmti-GWly3liWtCw0aMy9gwkXqGp-K4Z7ipZsT8qksKkJ0bAjkAcVcBrWE2dMPjmaBF0SD9r0Y2fiqquj9BtzeztpMoxqpHZZQCWQs3C04x5HVGO3mybacTwQ6AQYOKIGuldnAQ56Z5W51JAXEMnKEZh5UbIyWk1QAcRXc0Bj-XyzAG1-9_3yiNJ7gmrV1mS1bgmO5bCKiuFFI9D786CDt5EBfGcD_owJI6ILal6RkvJ8DAaIL0yC2tDlQCKYghc3c6jdDaT6eJRaNpT7QcVi5IglOkCf0CMz89MDyRf7_zBs3IFt0SZhAfBFQwsJxi1Oe1QzCLV5mnH6JykayiPIhQqcmZ2sL7eRTnzwSZWOqdRUWFKwg1LYLM4JWRan9N5Jx6BskhA17dpNbrUYM6GRje3r52gTsATWYvCWekJI-i6r_Kfp7P43kleuFKv64vDqBeKxchTYr6xNZASfyK1kT-REc3VUT55k_PdewX9Mck3eNrAv-y53qkbBjhzBGIzuxdQQLUd-2O3AE9GqTCdvXuLrJJfVLR4lwHkwV_BgN_fnqg9o7wxuE-RbF6DhgLaqb6BOr0LEFHNV9k1I6mAIYC_z2HEJmGUyciNKDrrNygZQycu4rqNXkZAGzhxl1NrxhCjV8w0HqNWh6D0a4m2QuVhfsy8Jnr1fV8VXkEZcCbvVtJo9kk34Jw5gG1Z-3zeR6N0tsCl64WHgCbkuAyo6PGvwc0z2PNMye9-AH6mPk._JUkFlxcUEhxcGxW2i3aPg"
12
+ cookie : str = ""
11
13
12
14
# the following three variables are deprecated
13
15
# _puid: str = "user-nwflAg2thlSVHzpBgwGFRgqE:1682153664-6LVyqTDXqHm2QjPWNpXFzDkMFxxv%2Bj%2F0XrgE%2FhdBjeI%3D"
Original file line number Diff line number Diff line change 6
6
import time
7
7
from typing import Any , Dict , List , Tuple
8
8
from uuid import uuid1
9
+ import openai
9
10
10
11
import loguru
11
12
import requests
@@ -56,6 +57,29 @@ def __eq__(self, other):
56
57
return self .conversation_id == other .conversation_id
57
58
58
59
60
+ def chatgpt_completion (history : List ) -> str :
61
+ response = openai .ChatCompletion .create (
62
+ model = "gpt-3.5-turbo" ,
63
+ messages = history ,
64
+ )
65
+ return response ["choices" ][0 ]["message" ]["content" ]
66
+
67
+
68
+ class ChatGPTAPI :
69
+ def __init__ (self , config : ChatGPTConfig ):
70
+ self .config = config
71
+ openai .api_key = chatgpt_config .openai_key
72
+
73
+ def send_message (self , message ):
74
+ history = [{"role" : "user" , "content" : message }]
75
+ response = chatgpt_completion (history )
76
+ return response
77
+
78
+ def extract_code_fragments (self , text ):
79
+ code_fragments = re .findall (r"```(.*?)```" , text , re .DOTALL )
80
+ return code_fragments
81
+
82
+
59
83
class ChatGPT :
60
84
def __init__ (self , config : ChatGPTConfig ):
61
85
self .config = config
You can’t perform that action at this time.
0 commit comments