All Projects → ciandt-dev → secure-pipeline-advisor

ciandt-dev / secure-pipeline-advisor

Licence: MIT license
Improve your code security by running different security checks/validation in a simple way.

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to secure-pipeline-advisor

Patrowlmanager
PatrOwl - Open Source, Smart and Scalable Security Operations Orchestration Platform
Stars: ✭ 363 (+1352%)
Mutual labels:  security-scanner, security-automation
Vuls
Agent-less vulnerability scanner for Linux, FreeBSD, Container, WordPress, Programming language libraries, Network devices
Stars: ✭ 8,844 (+35276%)
Mutual labels:  security-scanner, security-automation
Burpa
Burp-Automator: A Burp Suite Automation Tool with Slack Integration. It can be used with Jenkins and Selenium to automate Dynamic Application Security Testing (DAST).
Stars: ✭ 427 (+1608%)
Mutual labels:  security-scanner, security-automation
Super
Secure, Unified, Powerful and Extensible Rust Android Analyzer
Stars: ✭ 340 (+1260%)
Mutual labels:  security-scanner, security-automation
Patrowlengines
PatrOwl - Open Source, Free and Scalable Security Operations Orchestration Platform
Stars: ✭ 162 (+548%)
Mutual labels:  security-scanner, security-automation
Taipan
Web application vulnerability scanner
Stars: ✭ 359 (+1336%)
Mutual labels:  security-scanner, security-automation
Kube Scan
kube-scan: Octarine k8s cluster risk assessment tool
Stars: ✭ 566 (+2164%)
Mutual labels:  security-scanner, devsecops
Sherlock
This script is designed to help expedite a web application assessment by automating some of the assessment steps (e.g., running nmap, sublist3r, metasploit, etc.)
Stars: ✭ 36 (+44%)
Mutual labels:  security-scanner, security-automation
Nodejsscan
nodejsscan is a static security code scanner for Node.js applications.
Stars: ✭ 1,874 (+7396%)
Mutual labels:  security-scanner, devsecops
Nosqli
NoSql Injection CLI tool, for finding vulnerable websites using MongoDB.
Stars: ✭ 120 (+380%)
Mutual labels:  security-scanner, security-automation
Shodansploit
🔎 shodansploit > v1.3.0
Stars: ✭ 342 (+1268%)
Mutual labels:  security-scanner, security-automation
sandfly-setup
Sandfly Security Agentless Compromise and Intrusion Detection System For Linux
Stars: ✭ 45 (+80%)
Mutual labels:  security-scanner, security-automation
Wsltools
Web Scan Lazy Tools - Python Package
Stars: ✭ 288 (+1052%)
Mutual labels:  security-scanner, security-automation
NetworkAlarm
A tool to monitor local network traffic for possible security vulnerabilities. Warns user against possible nmap scans, Nikto scans, credentials sent in-the-clear, and shellshock attacks. Currently supports live monitoring and network capture (pcap) scanning.
Stars: ✭ 17 (-32%)
Mutual labels:  security-scanner, security-automation
xssmap
Intelligent XSS detection tool that uses human techniques for looking for reflected cross-site scripting (XSS) vulnerabilities
Stars: ✭ 107 (+328%)
Mutual labels:  security-scanner, security-automation
Yasuo
A ruby script that scans for vulnerable & exploitable 3rd-party web applications on a network
Stars: ✭ 517 (+1968%)
Mutual labels:  security-scanner, security-automation
Sbt Dependency Check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). 🌈
Stars: ✭ 187 (+648%)
Mutual labels:  security-automation, devsecops
docker-wallarm-node
⚡️ Docker official image for Wallarm Node. API security platform agent.
Stars: ✭ 18 (-28%)
Mutual labels:  security-scanner, security-automation
Patrowldocs
PatrOwl - Open Source, Free and Scalable Security Operations Orchestration Platform
Stars: ✭ 105 (+320%)
Mutual labels:  security-scanner, security-automation
Insider
Static Application Security Testing (SAST) engine focused on covering the OWASP Top 10, to make source code analysis to find vulnerabilities right in the source code, focused on a agile and easy to implement software inside your DevOps pipeline. Support the following technologies: Java (Maven and Android), Kotlin (Android), Swift (iOS), .NET Full Framework, C#, and Javascript (Node.js).
Stars: ✭ 216 (+764%)
Mutual labels:  security-scanner, security-automation

Security Pipeline Advisor

This project allows you to improve your code security by running different security checks/validation in a simple way. It runs on different languages, and you can also integrate with popular CI/CD tools.

Security Pipeline Advisor Logo


Purpose

  • Run essential security check/analysis in a single container
  • Simplify integration of security tools with most popular CI/CD tools
  • Help improve application security with automated results

What validations are performed by this project?

  • Git Secrets - find out possible credential leaks on code;
  • Dependency Check - detects publicly disclosed vulnerabilities in application dependencies;
  • SSL Scanning - analyze the SSL/TLS configuration of a server;
  • Static Code Analysis - analyse applications's source code;
  • Automated Functional Penetration Testing - custom security tests ==WIP==

Solution / Architecture


Tools

Support

Project languages supported

Language Integration Status
Java Done
JavaScript - Backend Projects Done
TypeScript - Backend Projects Done
JavaScript - Frontend Projects Work In Progress
TypeScript - Frontend Projects Planned
C# Planned
Kotlin Planned

List of status of integration with CI/CD tools

Tool Integration Status
Jenkins Done
GitLab CI Work in progress
Bamboo Planned
Azure DevOps Planned

Usage

It is possible to run the security tests from the script, or from scratch using docker instructions described below.

Language Requirements

For some of the checks, to validate in some languages you have first to build the project properly, so below are the requirements for the each language current supported:

Java

Run the following commands in your project:

mvn clean install

then

mvn compile package

JavaScript/TypeScript

Run the following commands in your project:

npm install

Script Execution

Script requirements

  • Docker Engine (>= 19.03.0)
  • docker-compose (>= 1.26.0)
  • A shell script executor (for those using Windows)

Running the script

To perform the checks by using the script is a pretty simple task, just run the commands described below:

chmod +x run-sec-advisor.sh - it will allow the script to be executed

./run-sec-advisor.sh - it will start the script and show you the available options

After that the script will present all the options allowed to you, so you can just type the desired option and the script will do all the action for you.

Report generation

After every check a report will be generated by the analysis/checking performed, and will be stored at the folder 'job-reports', created on the current folder of this project. Just access '/job-reports' and look for the report generated by your analysis/check.

Every report generated by the script run will have the time and date of the test execution in the report name, so you can keep the history of all the analysis and/or checks that you want.

Local execution (using pure Docker)

Requirements

  • Docker Engine

Running tests

By following the examples below you can easily run your security checks with the usage of pure Docker.

Repository checks

docker run -v $(pwd)/job-reports:/opt/job-reports -it ralves20/sec-tests:latest sh -c "gitleaks --path <repository path> -v --report=/opt/job-reports/gitleaksreport.json" - it will run the checking for vulnerabilities and secrets of git.

SSL Checks

bash docker run -v $(pwd)/job-reports:/opt/job-reports -it ralves20/sec-tests:latest sh -c "sslyze <Application's IP or DNS> --json_out=/opt/job-reports/sslyze-analysis.json" - it will run ssl/tls analysis in the application in testing.

Project's dependency-check

docker run -v $(pwd)/job-reports:/opt/job-reports -it ralves20/sec-tests:latest sh -c "dependency-check --project '<Project Name>' --scan <repository path> --out /opt/job-reports/" - this check will search for security vulnerabilities in the dependencies used by the project in testing.

Project's static code security check

docker run -v $(pwd)/job-reports:/opt/job-reports -it ralves20/sec-tests:latest sh -c "docker-compose run security-tests findsecbugs -progress -html -output /opt/job-reports/findsecbug-analysis.htm <repository path>/target/*.jar" - it will perform a SAST code check in your code.

mBDD (Functional security validation)

EN - it will perform an automated functional security penetration testing.

Report and outputs

After every check a report generated by the analysis/checking performed will be stored at a folder named 'job-reports' which will be created on the current folder of this project. So you can just access the folder 'job-reports' and look for the report generated by your analysis/check.

In the case of pure docker run, every execution of the same tool will replace the last report generated by that for the new one (the most updated check), if you want to keep the older and the newer, you have to change the name of the report file that are going to be generated in every command sintax, and every command run have to be a different name for the report file, so you can keep all of them.

Local execution (using docker-compose)

Pre-requisites

  • Docker Engine (>= 19.03.0)
  • docker-compose (>= 1.26.0)

Running tests

By following the examples below you can easily run your security checks with the usage of docker-compose.

Repository checks

docker-compose run security-tests gitleaks --path <repository path> -v --report=/opt/job-reports/gitleaksreport.json - it will run the checking for vulnerabilities and secrets of git.

SSL Checks

docker-compose run security-tests sslyze <Application's IP or DNS> --json_out=/opt/job-reports/sslyze-analysis.json - it will run ssl/tls analysis in the application in testing.

Project's dependency-check

docker-compose run security-tests dependency-check --project '<Project Name>' --scan <repository path> --out /opt/job-reports/ - this check will search for security vulnerabilities in the dependencies used by the project in testing.

Project's code security check

docker-compose run security-tests findsecbugs -progress -html -output /opt/job-reports/findsecbug-analysis.htm <repository path>/target/*.jar - it will perform a SAST code check in your code.

mBDD (Functional security validation)

EN - it will perform an automated functional security penetration testing.

Report and outputs

After every check a report generated by the analysis/checking performed will be stored at a folder named 'job-reports' which will be created on the current folder of this project. So you can just access the folder 'job-reports' and look for the report generated by your analysis/check.

In the case of the docker-compose run, every execution of the same tool will replace the last report generated by that for the new one (the most updated check), if you want to keep the older and the newer, you have to change the name of the report file that are going to be generated in every command sintax, and every command run have to be a different name for the report file, so you can keep all of them.

Jenkins Integration

Jenkins - (https://www.jenkins.io/)
Jenkins Pipeline Report Example
"The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project."

Pre-requisites

  • Docker
  • docker-compose
  • Jenkins
  • HTML Publisher (Jenkins plugin)

Integration

To integrate these security checks to Jenkins, its follow the steps below:

  • Access the jenkins/ folder
  • Chose the Jenkinsfile example for the project language that you are going to use
  • Make a copy this Jenkinsfile-example and rename that copy for "Jenkinsfile" only
  • Change all the values between "< >" to the correct values in that Jenkinsfile
  • Create a new job on your Jenkins and make the created job point to the Jenkinsfile that you just updated.

Running the tests

To run the all the validations its even easier, you have just to press the "play" icon on the Jenkins job that you just created with the pipeline.

After you press the "play" all the analysis and checks will be performed, and each one of those are completely independent, which means that if a previous step of the pipeline (one of the validations) fails, all of the next validations are going to run anyway, they don't run based on the previous validation success... Once again, all of these runs are completely independent.

This image below is an example of this pipeline and it shows also that the steps are independent:

Report and outputs

If you have configured your Jenkins HTML Publish plugin properly, each report will be shown at the left sidebar of your jenkins job. The reports are going to be show in a way similar to this one:


LICENSE

LICENSE

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].