• Stars
    star
    160
  • Rank 233,402 (Top 5 %)
  • Language
    Python
  • License
    Other
  • Created over 1 year ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AI bot that translates your question to a command and executes it yolo style

Yolo Demo

Animated GIF

Update Yolo v0.2 - Support for GPT-4 API

This update introduces the yolo.yaml configuration file. In this file you can specify which OpenAI model you want to query, and other settings. The safety switch also moved into this configuration file.

For now the default model is still gpt-3.5-turbo, but you can update to gpt-4 if you have gotten access already!

Yolo v0.2 - by @wunderwuzzi23

Usage: yolo [-a] list the current directory information
Argument: -a: Prompt the user before running the command (only useful when safety is off)

Current configuration per yolo.yaml:
* Model        : gpt-3.5-turbo
* Temperature  : 0
* Max. Tokens  : 500
* Safety       : on

Happy Hacking!

Installation on Linux and macOS

git clone https://github.com/wunderwuzzi23/yolo-ai-cmdbot
cd yolo-ai-cmdbot
pip3 install -r requirements.txt
chmod +x yolo.py
alias yolo=$(pwd)/yolo.py
alias computer=$(pwd)/yolo.py #optional

yolo show me some funny unicode characters

OpenAI API Key configuration

There are three ways to configure the key on Linux and macOS:

  • You can either export OPENAI_API_KEY=<yourkey>, or have a .env file in the same directory as yolo.py with OPENAI_API_KEY="<yourkey>" as a line
  • Create a file at ~/.openai.apikey with the key in it
  • Add the key to the yolo.yaml configuration file

Aliases

To set the alias, like yolo or computer on each login, add them to .bash_aliases (or .zshrc on macOS) file. Make sure the path is the one you want to use.

echo "alias yolo=$(pwd)/yolo.py"     >> ~/.bash_aliases
echo "alias computer=$(pwd)/yolo.py" >> ~/.bash_aliases

Installation script

Another option is to run source install.sh after cloning the repo. That does the following:

  1. Copies the necessary files to ~/yolo-ai-cmdbot/
  2. Creates two aliases yolo and computer pointint to ~/yolo-ai-cmdbot/yolo.py
  3. Adds the aliases to the ~/.bash_aliases or ~/.zshrc file

That's it for Linux and macOS. Now make sure you have an OpenAI API key set.

Windows Installation

On Windows you can run .\install.bat (or double-click) after cloning the repo. By default it does the following:

  1. Copies the necessary files to ~\yolo-ai-cmdbot\
  2. Creates a yolo.bat file in ~ that lets you run equivalent to python.exe ~\yolo-ai-cmdbot\yolo.py

You also have the option to:

  1. Change the location where yolo-ai-cmdbot\ and yolo.bat will be created
  2. Skip creating yolo-ai-cmdbot\ and use the folder of the cloned repository instead.
  3. Create a .openai.apikey file in your ~ directory

That's it basically.

OpenAI API Key Configuration on Windows

On Windows export OPENAI_API_KEY=<yourkey> will not work instead:

  • Run $env:OPENAI_API_KEY="<yourkey>" to set key for that terminal
  • Or, Run PowerShell as administrator and run setx OPENAI_API_KEY "<yourkey>"
  • Or, Go to Start and search edit environment variables for your account and manually create the variable with name OPENAI_API_KEY and value <yourkey>

Optionally (since v.0.2), the key can also be stored in yolo.yaml.

Running yolo on Windows

Windows is less tested, it does work though and will use PowerShell.

python.exe yolo.py what is my username

That's it.

yolo.bat

If you use install.bat you should have a yolo.bat file in your ~ directory that lets you run the command like so:

.\yolo.bat what is my username

You can put the yolo.bat file into a $PATH directory (like C:\Windows\System32) to use in any directory like so:

yolo what is my username

Have fun.

Disabling the safety switch! Caution!

By default yolo will prompt the user before executing commands.

Since v.0.2 the safety switch setting moved to yolo.yaml, the old ~/.yolo-safety-off is not used anymore.

To have yolo run commands right away when they come back from ChatGPT change the safety in the yolo.yaml to False.

If you still want to inspect the command that is executed when safety is off, add the -a argument, e.g yolo -a delete the file test.txt.

Let's go!

Demo Video on YouTube

https://www.youtube.com/watch?v=g6rvHWpx_Go

Watch the video

Examples

Here are a couple of examples on how this utility can be used.

yolo whats the time?
yolo whats the time in UTC
yolo whats the date and time in Vienna Austria
yolo show me some unicode characters
yolo what is my user name and whats my machine name?
yolo is there a nano process running
yolo download the homepage of ycombinator.com and store it in index.html
yolo find all unique urls in index.html
yolo create a file named test.txt and write my user name into it
yolo print the contents of the test.txt file
yolo -a delete the test.txt file
yolo whats the current price of Bitcoin in USD
yolo whats the current price of Bitcoin in USD. Ext the price only
yolo look at the ssh logs to see if any suspicious logons accured
yolo look at the ssh logs and show me all recent logins
yolo is the user hacker logged on right now?
yolo do i have a firewall running?
yolo create a hostnames.txt file and add 10 typical hostnames based on planet names to it, line by line, then show me the contents
yolo find any file with the name yolo.py. do not show permission denied errors
yolo write a new bash script file called scan.sh, with the contents to iterate over hostnames.txt and invokes a default nmap scan on each host. then show me the file. 
yolo write a new bash script file called scan.sh, with the contents to iterate over hostnames.txt and invokes a default nmap scan on each host. then show me the file. Make it over multiple lines with comments and annotiations.

Thanks!

License

MIT. No Liability. No Warranty. But lot's of fun.

More Repositories

1

ropci

So, you think you have MFA? AAD/ROPC/MFA bypass testing tool
Go
83
star
2

mlattacks

Machine Learning Attack Series
Jupyter Notebook
47
star
3

KoiPhish

A simple yet beautiful phishing proxy.
Go
47
star
4

natty-slipstream

Simplified NAT Slipstream server and client
PowerShell
20
star
5

this_is_fine_wuzzi

Demo of a malicious python package that will run code upon pip download or install
Python
20
star
6

gospray

Active Directory Password Spray Testing Utility in Go
Go
15
star
7

scratch

Repo with random useful scripts and utilities
C#
14
star
8

Offensive-BPF

Various BPF resources, tools, scripts and experiments created while learning more about the eBPF technology.
C
9
star
9

firefox-cookiemonster

Connect to Firefox debug port and issue a Javascript command to grab cookies
Go
8
star
10

token-turbulenz

Python
7
star
11

searchutils

Set of scripts and techniques to search for through office documents, or leverage the Windows indexing service
PowerShell
6
star
12

BashSpray

Password Spray Testing Tool in Bash
Shell
5
star
13

ai

AI/ML Experiments
Jupyter Notebook
3
star
14

huskyai

Building and breaking a machine learning system.
Jupyter Notebook
3
star
15

blog

Security Research Blog
HTML
3
star
16

audisp-sentinel

Audit Dispatcher Sentinel (auditd)
C
2
star
17

Sentinel

Windows Honeypot Service
C#
2
star
18

pSpray

Powershell based Active Directory Password Testing Utility
PowerShell
1
star
19

cryptbook

Online Social Networks and Privacy – Leveraging Cryptography to Gain Control
1
star
20

sectests

HTML
1
star
21

flipper-zero-stuff

Random Flipper Zero things
1
star
22

wuzziutils

Useful simple utility library for Go
Go
1
star
23

configurations

Various service configuration files and things to test tooling for finding creds
1
star
24

shadowbunny

Shadowbunny - Leveraging Virtual Machines for Lateral Movement
1
star
25

menace

Simple trickle testing tool for learning Golang
Go
1
star