67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
###### David Westgate 31 May 2024
|
|
# HW7 for gensec
|
|
|
|
The purpose of this assignment is to generate a security related application using aider. The application I will attempt to generate is a wifi penetration testing python. The intention is that this application will be able to perform the same wifi cracking that my hw6 LLM application did.
|
|
|
|
## Input
|
|
```
|
|
Generate a python application to assist in wifi penetration testing by prompting the user for the name of a password protected wifi network BSSID and returning the plaintext password.
|
|
|
|
This python application should use a combination of shell tools assumed to be on the users linux system, including but not limited to iwconfig, airmon-ng, airodump-ng, aireplay-ng, aircrack-ng.
|
|
|
|
Operations may be run sequentially, or in parallel using multi-threading
|
|
|
|
As needed, the use of shell tools should utilize sudo capabilities
|
|
|
|
As needed, the application can change the state of the users wifi interface between managed and monitor mode
|
|
|
|
Save this to hw7/{llm}/app.py
|
|
```
|
|
|
|
## Output - Gemini (gemini 1.5)
|
|
There were a few runs of errors, but eventually I was able to get aider to output a program with the gemini LLM
|
|
|
|
### Errors
|
|
On the run where code was finally output, we still saw errors. But, we will ignore these for now
|
|
|
|

|
|

|
|
|
|
### Code output
|
|
[gemini/app.py](gemini/app.py)
|
|
|
|
### Analysis
|
|
|
|
|
|
|
|
|
|
## Output - GPT4 (gpt40)
|
|
A script was generated here on the first try
|
|
|
|
### Errors
|
|
Similarly, the code also generated with lint errors, and when prompted, I instructed airder to fix them. However, it did come up with a program on the first try
|
|

|
|

|
|
|
|
|
|
### Code output
|
|
[gpt4/app.py](gpt4/app.py)
|
|
|
|
### Analysis
|
|
|
|
|
|
|
|
## Output - Claude (claude-opus)
|
|
I was able to redeem $5 of free API credits for this test
|
|
|
|
### Errors
|
|
On the first shot, claude rejected this ask. On the second try, it gave a program with a nice summary
|
|

|
|

|
|
|
|
|
|
### Code output
|
|
[claude/app.py](claude/app.py)
|
|
|
|
### Analysis
|