Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/geeknik/dbe

Don't be evil.
https://github.com/geeknik/dbe

Last synced: 20 days ago
JSON representation

Don't be evil.

Awesome Lists containing this project

README

        

# dbe

**Don't be evil.**

## Overview

The script is designed to simulate a cybersecurity scenario in which an agent learns to perform various actions in order to infect machines, perform self-healing, and propagate to other machines. The agent uses an advanced Q-learning algorithm enhanced with curriculum learning, multi-task learning, memory augmentation, neuro-symbolic integration, and continuous learning to improve its decision-making capabilities.

In simpler terms, the script is like a game where the agent learns to take actions to achieve a goal (in this case, infecting machines and spreading the infection). The agent uses a special kind of learning algorithm called Q-learning, enhanced with several advanced techniques, to figure out which actions are the best to take in each situation.

## How It Works

The script takes a list of IP addresses as input and scans them to see if they are vulnerable to a specific exploit. If a vulnerable machine is found, the agent tries to infect it by connecting to a remote server and executing a payload. The agent performs periodic self-healing actions to ensure smooth operation and propagates to other machines to spread the infection.

The Q-learning algorithm uses a Q-table to keep track of the expected rewards for each action in each state and updates the Q-table based on the rewards received for each action taken. The agent balances exploration and exploitation of the environment using a decaying exploration probability.

## Requirements

- **Python 3.6+**
- **Libraries:** subprocess, threading, numpy, psutil, urllib, concurrent.futures

## Usage

The script can be run from the command line with various options to customize its behavior:

```sh
python script.py --remote-server --port --payload-url
```

- **ip_range:** A list of IP addresses to scan.
- **--remote-server:** The remote server to connect to (default: example.com).
- **--port:** The port to connect to on the remote server (default: 8080).
- **--payload-url:** The URL of the payload to download and execute.

### Advanced Techniques

1. **Curriculum Learning:** The agent progresses from simpler to more complex tasks, allowing for gradual learning and adaptation.
2. **Multi-Task Learning:** The agent is trained on various tasks simultaneously, improving its ability to generalize across different scenarios.
3. **Memory Augmentation:** The agent maintains a long-term memory of past experiences, which it uses to make more informed decisions.
4. **Neuro-Symbolic Integration:** Incorporating symbolic reasoning helps the agent make decisions based on logical rules and current states.
5. **Continuous Learning:** The agent continuously updates its knowledge base, adapting to new data and changing environments.
6. **Environment Exploration**: The `explore_environment` function allows the agent to gather information about the current system.

By integrating these advanced techniques, the script provides a robust framework for simulating and analyzing complex cybersecurity scenarios.

# Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

The use of our Software and any associated materials (including but not limited to code, libraries, scripts, and examples) is at your own risk. By using our Software, you understand and agree that you are solely responsible for your actions and the consequences thereof. We expressly disclaim any liability or responsibility for any harm resulting from your use of our Software, and by using our Software, you agree to this disclaimer and our terms of use.

Our Software is intended to be used for legal purposes only. It is your responsibility to stay compliant with all the local, state, and federal laws and regulations applicable to you when using our Software. You agree not to use our Software in an illegal manner or to infringe on the rights of others. You agree that you will not use our Software to commit a crime, or to enable others to commit a crime.

We are not responsible for any harm or damage caused by your use of our Software. You agree to indemnify and hold harmless the authors, maintainers, and contributors of the Software for any and all claims arising from your use of our Software, your violation of this disclaimer, or your violation of any rights of a third party.

If you do not agree with this disclaimer, please do not use our Software. Your use of our Software signifies your agreement with this disclaimer.

This disclaimer is subject to change without notice, and it is your responsibility to review this disclaimer periodically to ensure you are aware of its terms.