This is a Gemini-Web Vulnerability Detection (G-WVD) for detecting web application vulnerabilities used for gemini-self-protector
👉 G-SP : gemini-self-protector
👉 G-WVD : gemini-web-vulnerability-detection
👉 G-BD : gemini-bigdata
This is a detection method that using combine Convolutional Neural Network (CNN) and a family of Recurrent Neural Network (RNN) to analyze features and relationships in requests from users and predict whether they are vulnerability or not.
- Cross-Site Scripting
- SQL Injection
- Path Traversal (LFI)
- Command Injection
- Remote File Inclusion (RFI)
- Json & XML Injection
- HTML5 Injection
- Server Side Includes (SSI) Injection
Docker image : gemini-web-vulnerability-detection
Obtain the latest G-WVD image by executing the following command:
docker pull noobpk/gemini-web-vulnerability-detection:latest
Initiate the G-WVD with the command line using Docker. Choose the appropriate configuration based on your needs:
For basic usage without Kafka streaming:
docker run --name g-wvd-serve -p 5000:443 --rm -e AUTH_KEY=your-authen-key gemini-web-vulnerability-detection
If you have an Apache Kafka server and want to enable streaming:
docker run --name g-wvd-serve -p 5000:443 --rm \
-e AUTH_KEY=your-authen-key \
-e ENABLE_KAFKA_STREAMING=True \
-e KAFKA_BOOTSTRAP_SERVER=your-kafka-server \
-e KAFKA_TOPIC=gemini-data-streaming \
-e KAFKA_USERNAME= \
-e KAFKA_PASSWORD= \
-e KAFKA_SECURITY_PROTOCOL=PLAINTEXT \
gemini-web-vulnerability-detection
For an even more streamlined deployment process, Docker Compose provides a user-friendly alternative:
Acquire the docker-compose.yml
file from the repository onto your local machine or any system with Docker installed:
wget -O docker-compose.yml https://raw.githubusercontent.com/noobpk/gemini-web-vulnerability-detection/main/docker-compose.yml
Navigate to the directory containing the docker-compose.yml file using your terminal and execute the following command:
docker-compose up
Setup with the G-WVD Docker image using the following environment variables:
AUTH_KEY
: Authentication key for predict APIENABLE_KAFKA_STREAMING
: Enable send message to kafka. Defaults: FalseKAFKA_BOOTSTRAP_SERVER
: Kafka server. Example : localhost:9092KAFKA_TOPIC
: Kafka topic. Defaults: gemini-data-streamingKAFKA_USERNAME
: Kafka usernameKAFKA_PASSWORD
: Kafka passwordKAFKA_SECURITY_PROTOCOL
: Kafka security protocol. Required
curl --location 'https://127.0.0.1:5000/ping' --insecure \
--header 'Authorization: your-authen-key'
$ curl --location 'https://127.0.0.1:5000/predict' --insecure \
--header 'Authorization: your-authen-key' \
--header 'Content-Type: application/json' \
--data '{"data":"../../../../etc/passwd"}'
Github: gemini-web-vulnerability-detection
Image Issues: Find or create an issues