Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Trivy | 17,692 | 25 | 15 hours ago | 176 | September 16, 2022 | 175 | apache-2.0 | Go | ||
Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more | ||||||||||
Bettercap | 14,132 | 3 days ago | 61 | April 21, 2021 | 157 | other | Go | |||
The Swiss Army knife for 802.11, BLE, IPv4 and IPv6 networks reconnaissance and MITM attacks. | ||||||||||
Nuclei | 13,278 | 4 | a day ago | 353 | August 26, 2022 | 177 | mit | Go | ||
Fast and customizable vulnerability scanner based on simple YAML based DSL. | ||||||||||
Routersploit | 10,982 | 9 months ago | 98 | other | Python | |||||
Exploitation Framework for Embedded Devices | ||||||||||
Rustscan | 10,022 | 16 days ago | 17 | April 27, 2022 | 127 | gpl-3.0 | Rust | |||
🤖 The Modern Port Scanner 🤖 | ||||||||||
Vuls | 10,017 | a day ago | 142 | September 02, 2022 | 79 | gpl-3.0 | Go | |||
Agent-less vulnerability scanner for Linux, FreeBSD, Container, WordPress, Programming language libraries, Network devices | ||||||||||
Awesome Security | 9,777 | a month ago | 14 | mit | ||||||
A collection of awesome software, libraries, documents, books, resources and cools stuffs about security. | ||||||||||
Dirsearch | 9,684 | 22 days ago | 6 | June 17, 2021 | 52 | Python | ||||
Web path scanner | ||||||||||
Tsunami Security Scanner | 7,858 | 4 | 2 days ago | 14 | August 01, 2022 | 39 | apache-2.0 | Java | ||
Tsunami is a general purpose network security scanner with an extensible plugin system for detecting high severity vulnerabilities with high confidence. | ||||||||||
Wpscan | 7,595 | a day ago | 53 | other | Ruby | |||||
WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via [email protected] |
Salus (Security Automation as a Lightweight Universal Scanner), named after the Roman goddess of protection, is a tool for coordinating the execution of security scanners. You can run Salus on a repository via the Docker daemon and it will determine which scanners are relevant, run them and provide the output. Most scanners are other mature open source projects which we include directly in the container.
Salus is particularly useful for CI/CD pipelines because it becomes a centralized place to coordinate scanning across a large fleet of repositories. Typically, scanners are configured at the repository level for each project. This means that when making org wide changes to how the scanners are run, each repository must be updated. Instead, you can update Salus and all builds will instantly inherit the change.
Salus supports powerful configuration that allows for global defaults and local tweaks. Finally, Salus can report metrics on each repository, such as what packages are included or what concerns exist. These reports can be centrally evaluated in your infrastructure to allow for scalable security tracking.
# Navigate to the root directory of the project you want to run Salus on
cd /path/to/repo
# Run the following line while in the root directory (No edits necessary)
docker run --rm -t -v $(pwd):/home/repo coinbase/salus
semgrep
1.0.0, which looks for semantic and syntactical patterns in code at the AST level.npm audit
6.14.8 which looks for CVEs in node module dependencies.yarn audit
1.22.0 which looks for CVEs in node module dependencies.sift
0.9.0, looks for certain strings in a project that might be dangerous or could require that certain strings be present.TruffleHog
3.19.0, looks for leaked credentials.Salus also parses dependency files and reports which libraries and versions are being used. This can be useful for tracking dependencies across your fleet.
Currently supported languages are:
Salus is designed to be highly configurable so that it can work in many different types of environments and with many different scanners. It supports environment variable interpolation and cascading configurations, and can read configuration and post reports over HTTP.
Sometimes it's necessary to ignore certain CVEs, rules, tests, groups, directories, or otherwise modify the default configuration for a scanner. The docs/scanners directory explains how to do so for each scanner that Salus supports.
If you would like to build custom scanners or support more languages that are not currently supported, you can use this method of building custom Salus images.
Salus can be integrated with CircleCI by using a public Orb. All Salus configuration options are supported, and defaults are the same as for Salus itself.
Example CircleCI config.yml
:
version: 2.1
orbs:
salus: federacy/[email protected]
workflows:
main:
jobs:
- salus/scan
Salus can also be used with Github Actions.
Example .github/workflows/main.yml
:
on: [push]
jobs:
salus_scan_job:
runs-on: ubuntu-latest
name: Salus Security Scan Example
steps:
- uses: actions/[email protected]
- name: Salus Scan
id: salus_scan
uses: federacy/[email protected]
For your given CI, update the config file to run salus. In circle, it will look like this:
docker run --rm -t -v $(pwd):/home/repo coinbase/salus
coinbase/salus pulls the docker image
Contribution to this project is extremely welcome and it's our sincere hope that the work we've done to this point only serves as a foundation for allowing the security/development communities as a whole to come together to improve the security of everyone's infrastructure.
You can read more about getting your development environment set up, or the architecture of Salus.
You can also find steps to add a new scanner to Salus
This project is available open source under the terms of the Apache 2.0 License.