All Projects â†’ MozillaSecurity â†’ virgo

MozillaSecurity / virgo

Licence: other
Crowdsourced fuzzing cluster. 🚀

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to virgo

lagopus
Distributed fuzzing platform
Stars: ✭ 28 (+33.33%)
Mutual labels:  cluster, fuzzing
Common
SQL FineBuild provides 1-click install and best-practice configuration on Windows of SQL Server 2019 through to SQL Server 2005
Stars: ✭ 32 (+52.38%)
Mutual labels:  cluster
k3d-action
A GitHub Action to run lightweight ephemeral Kubernetes clusters during workflow. Fundamental advantage of this action is a full customization of embedded k3s clusters. In addition, it provides a private image registry and multi-cluster support.
Stars: ✭ 137 (+552.38%)
Mutual labels:  cluster
meteor-cluster
worker pool for meteor using node js native `cluster` module
Stars: ✭ 18 (-14.29%)
Mutual labels:  cluster
terraform-aws-eks-workers
Terraform module to provision an AWS AutoScaling Group, IAM Role, and Security Group for EKS Workers
Stars: ✭ 82 (+290.48%)
Mutual labels:  cluster
k8s-discovery
Auto discover the running environment and serves the kubernetes clientset interface for interaction
Stars: ✭ 44 (+109.52%)
Mutual labels:  cluster
soa-checklist
Microservice Oriented Architecture checklist
Stars: ✭ 92 (+338.1%)
Mutual labels:  cluster
WatsonCluster
A simple C# class using Watson TCP to enable a one-to-one high availability cluster.
Stars: ✭ 18 (-14.29%)
Mutual labels:  cluster
ras-fuzzer
RAS(RAndom Subdomain) Fuzzer
Stars: ✭ 42 (+100%)
Mutual labels:  fuzzing
urb-k8s
Kubernetes adapter for Universal Resource Broker
Stars: ✭ 19 (-9.52%)
Mutual labels:  cluster
Regaxor
A regular expression fuzzer.
Stars: ✭ 35 (+66.67%)
Mutual labels:  fuzzing
docker-volume-hetzner
Docker Volume Plugin for accessing Hetzner Cloud Volumes
Stars: ✭ 81 (+285.71%)
Mutual labels:  cluster
vaf
Vaf is a cross-platform very advanced and fast web fuzzer written in nim
Stars: ✭ 294 (+1300%)
Mutual labels:  fuzzing
clusterhat-image
Converts Raspbian/Raspberry Pi OS images to support Cluster HAT
Stars: ✭ 71 (+238.1%)
Mutual labels:  cluster
AndroidFuzz
JavaFuzz 4 Android
Stars: ✭ 27 (+28.57%)
Mutual labels:  fuzzing
ha cluster exporter
Prometheus exporter for Pacemaker based Linux HA clusters
Stars: ✭ 63 (+200%)
Mutual labels:  cluster
fuzzing-101-solutions
Companion repository to the Fuzzing101 with LibAFL series of blog posts.
Stars: ✭ 93 (+342.86%)
Mutual labels:  fuzzing
5-AFL-suite-docker
Dockerfile for AFL++ and helpful other tools
Stars: ✭ 20 (-4.76%)
Mutual labels:  fuzzing
SourceWolf
Amazingly fast response crawler to find juicy stuff in the source code! 😎🔥
Stars: ✭ 132 (+528.57%)
Mutual labels:  fuzzing
traefik-cluster-ecs
This is a tutorial on how to deploy a Traefik Load Balancer in AWS using CloudFormation to load balancer development ECS tasks using hosts (FQDN).
Stars: ✭ 62 (+195.24%)
Mutual labels:  cluster


Crowdsourced fuzzing cluster. 🚀

Current Release

Overview

🤔What is Virgo?

Virgo is a concept for creating a cluster of fuzzers made by users who are willing to trade and contribute their CPU resources of their workstations to a greater good.

Use Cases

  • Intracompany fuzz testing by using office workstations after-hours without additional spending on cloud providers.
  • Software developers can point Virgo to their own Task Definition Server and quickly test among colleagues newly developed features.
  • Bug bounty hunters and open source supporters creating a collective supercluster in testing features more quickly and more intensively, and potentially get rewarded for providing their CPU time.

Virgo can theoretically be used for any arbitrary work task defined in a container. However, Virgo was built as a fuzzing solution in mind.

💡How does it work?

Virgo's infrastructure is based on Docker. Virgo fetches routinely a remote server for new tasks by downloading a Task Definition File which contains information on how to run a task and which host preferences are required. If the required hosts preferences meet the constraints for a certain task, Virgo will download the image, create a container and run that container until a user action intervenes or run "indefinitely". An intervention can be pause, stop, a scheduler, observed system or network activity. If a crash is found during a run, it immediately is sent to our backend for further analyzation and in case of a security issue, you will be informed by the provided contact email address.

🚀Usage

Virgo is in its beta stage, obscure bugs may occur. We urge you to file these in our GitHub issue tracker along with any suggestions or feature requests you might have.

You need to have the Docker engine installed and running on your computer. If you do not have it installed, here are some quick steps to get ready quickly.

Preparation

MacOS

brew cask install docker

Alternatively: https://download.docker.com/mac/stable/Docker.dmg

Windows

choco install docker-desktop

Alternatively: https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

Make sure that in Settings -> Shared Drives the Volume is enabled on which you installed Virgo.

Linux

./scripts/install_docker.sh

Do not forget to log out/in after this step.

To make sure Docker is setup and running, you can run the following command: docker run hello-world. If you see the "Hello from Docker!" message after some seconds, you are good to go.

Launch

You can now launch Virgo which you downloaded for your platform from the release page.

Note: If you are on Linux run chmod a+x virgo*.AppImage before you try to launch it.

If you want to get notified about found security issues discovered by your machine, provide your email address in the Preferences. This step is optional but if your workstation has found a security related issue we will add you to the Bugzilla report to get notified.

Issues

In case of abnormal behaviour of the application you can reset Virgo to factory default settings.

Common

MacOS

rm ~/Library/Application\ Support/virgo/config.json

Windows

rm ~\AppData\Roaming\virgo\config.json

Linux

rm ~/.config/virgo

If a task was still running before you closed Virgo, then you can find the task in the Activity tab, where you can manually stop and delete it.

Debugging

If you want to take a glimpse in what is happening under the hood, go to the Activity tab and copy the container id of the running task. You can then in the Terminal run: docker logs <id> --follow to see what is happening.

Contributing

Launch Virgo

git clone https://github.com/mozillasecurity/virgo && cd virgo && npm -s install
npm start

Developer extensions are enabled in non-production builds, except Devtron for analyzing IPC traffic. You can enable it by entering require('devtron').install() in the Developer Console.

To produce a production build run first npm run build and optionally npm run release <platform>. Where platform can be macos64, windows64, linux64 or '' to create a release for all platforms.

For a detailed list of commands run npm run

Launch Task Definition Server

cd heroku && npm -s install && npm start

You will need to point Virgo to your custom Task Definition Server in the Preferences.

See Wiki for detailed setup instructions including Minio for testing in-app updates, Sentry.io for in-app crashes and FuzzManager as custom crash collector backend.

Screenshots

Dashboard Activity Settings

Author

👤 Christoph Diehl <[email protected]>

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].