Skip to content
RareoWarePublic
forked from koehan/dss

About

πŸš€ Distributed Security Scan Framework

Resources

Stars

0 stars

Watchers

0 watching

Forks

Β 
Β 

Latest commit

Β 

History

100 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tests GitHub last commit Go Report Card GitHub Repo stars

An Distributed Security Scan Framework written in Go

Requirements

How to

on producer node

go run main.go producer -c conf.dev.toml

on multiple consumer nodes

go run main.go consumer -c conf.dev.toml

open api docs

http://producer_ip:9091/swagger/index.html

init api docs

swag init -o core/swagger

Project structure

β”œβ”€β”€ common
β”‚   β”œβ”€β”€ async # init goroutine pool
β”‚   β”‚   β”œβ”€β”€ worker.go
β”‚   β”‚   └── workerpool.go
β”‚   β”œβ”€β”€ cert # gRPC certificate
β”‚   β”‚   β”œβ”€β”€ ca.key
β”‚   β”‚   β”œβ”€β”€ ca.pem
β”‚   β”‚   β”œβ”€β”€ ca.srl
β”‚   β”‚   β”œβ”€β”€ client.csr
β”‚   β”‚   β”œβ”€β”€ client.key
β”‚   β”‚   β”œβ”€β”€ client.pem
β”‚   β”‚   β”œβ”€β”€ openssl.cnf
β”‚   β”‚   β”œβ”€β”€ server.csr
β”‚   β”‚   β”œβ”€β”€ server.key
β”‚   β”‚   └── server.pem
β”‚   β”œβ”€β”€ consul # consul register service
β”‚   β”‚   β”œβ”€β”€ consul.go
β”‚   β”‚   └── consul_test.go
β”‚   β”œβ”€β”€ http
β”‚   β”‚   β”œβ”€β”€ http.go
β”‚   β”‚   └── http_test.go
β”‚   β”œβ”€β”€ log
β”‚   β”‚   β”œβ”€β”€ log.go
β”‚   β”‚   └── log_test.go
β”‚   β”œβ”€β”€ mongo
β”‚   β”‚   β”œβ”€β”€ config.go
β”‚   β”‚   └── mongo.go
β”‚   β”œβ”€β”€ redis
β”‚   β”‚   β”œβ”€β”€ config.go
β”‚   β”‚   └── redis.go
β”‚   β”œβ”€β”€ utils # public tools
β”‚   β”‚   β”œβ”€β”€ utils.go
β”‚   β”‚   β”œβ”€β”€ utils_test.go
β”‚   β”‚   β”œβ”€β”€ xlsx.go
β”‚   β”‚   └── xlsx_test.go
β”‚   └── wp # weak password list
β”‚       β”œβ”€β”€ list
β”‚       β”œβ”€β”€ parser.go
β”‚       └── parser_test.go
β”œβ”€β”€ conf.dev.toml  # development configuration
β”œβ”€β”€ conf.prod.toml # production configuration
β”œβ”€β”€ core
β”‚   β”œβ”€β”€ cmd # cli run 
β”‚   β”‚   β”œβ”€β”€ consumer.go
β”‚   β”‚   └── producer.go
β”‚   β”œβ”€β”€ config # init conf.*.toml
β”‚   β”‚   └── conf.go
β”‚   β”œβ”€β”€ dao
β”‚   β”‚   β”œβ”€β”€ mongo.go
β”‚   β”‚   β”œβ”€β”€ mongo_test.go
β”‚   β”‚   β”œβ”€β”€ redis.go
β”‚   β”‚   β”œβ”€β”€ redis_test.go
β”‚   β”‚   └── repo.go
β”‚   β”œβ”€β”€ discover # consul discover service
β”‚   β”‚   └── discover.go
β”‚   β”œβ”€β”€ errors
β”‚   β”‚   β”œβ”€β”€ business_error.go
β”‚   β”‚   └── errors.go
β”‚   β”œβ”€β”€ global
β”‚   β”‚   β”œβ”€β”€ enum.go
β”‚   β”‚   └── global.go
β”‚   β”œβ”€β”€ grpc # gRPC server and client
β”‚   β”‚   β”œβ”€β”€ consumer
β”‚   β”‚   β”‚   └── client.go
β”‚   β”‚   β”œβ”€β”€ producer
β”‚   β”‚   β”‚   └── server.go
β”‚   β”‚   └── proto
β”‚   β”‚       β”œβ”€β”€ stream.pb.go
β”‚   β”‚       └── stream.proto
β”‚   β”œβ”€β”€ host # get nodes info 
β”‚   β”‚   β”œβ”€β”€ host.go
β”‚   β”‚   └── host_test.go
β”‚   β”œβ”€β”€ management
β”‚   β”‚   β”œβ”€β”€ grpc.go
β”‚   β”‚   β”œβ”€β”€ rule.go
β”‚   β”‚   β”œβ”€β”€ scan.go
β”‚   β”‚   └── task.go
β”‚   β”œβ”€β”€ models
β”‚   β”‚   β”œβ”€β”€ grpc.go
β”‚   β”‚   β”œβ”€β”€ models.go
β”‚   β”‚   β”œβ”€β”€ response.go
β”‚   β”‚   β”œβ”€β”€ rule.go
β”‚   β”‚   └── scan.go
β”‚   β”œβ”€β”€ router
β”‚   β”‚   β”œβ”€β”€ router.go
β”‚   β”‚   └── v1
β”‚   β”‚       β”œβ”€β”€ api.go
β”‚   β”‚       β”œβ”€β”€ grpc.go
β”‚   β”‚       β”œβ”€β”€ rule.go
β”‚   β”‚       β”œβ”€β”€ scan.go
β”‚   β”‚       └── task.go
β”‚   β”œβ”€β”€ scan # define scan tasks here
β”‚   β”‚   β”œβ”€β”€ dispatch.go
β”‚   β”‚   β”œβ”€β”€ mysql.go
β”‚   β”‚   β”œβ”€β”€ redis.go
β”‚   β”‚   β”œβ”€β”€ scan.go
β”‚   β”‚   └── ssh.go
β”‚   β”œβ”€β”€ server # restful web and graceful shutdown service
β”‚   β”‚   └── server.go
β”‚   └── swagger # api docs
β”‚       β”œβ”€β”€ docs.go
β”‚       β”œβ”€β”€ swagger.json
β”‚       └── swagger.yaml
β”œβ”€β”€ doc
β”‚   └── scan.jpg
β”œβ”€β”€ go.mod
β”œβ”€β”€ go.sum
β”œβ”€β”€ LICENSE
β”œβ”€β”€ main.go
└── README.md

Architecture

img

Contributing

Contributors are welcome, please fork and send pull requests! If you find a bug or have any ideas on how to improve this project please submit an issue.

About

πŸš€ Distributed Security Scan Framework

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages