All Projects → ShiftLeftSecurity → Sast Scan

ShiftLeftSecurity / Sast Scan

Licence: other
Scan is a free & Open Source DevSecOps tool for performing static analysis based security testing of your applications and its dependencies. CI and Git friendly.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sast Scan

Awesome Threat Modelling
A curated list of threat modeling resources (Books, courses - free and paid, videos, tools, tutorials and workshops to practice on ) for learning Threat modeling and initial phases of security review.
Stars: ✭ 319 (+36.32%)
Mutual labels:  devsecops, appsec
awesome-policy-as-code
A curated list of policy-as-code resources like blogs, videos, and tools to practice on for learning Policy-as-Code.
Stars: ✭ 121 (-48.29%)
Mutual labels:  appsec, devsecops
Application Security Engineer Interview Questions
Some of the questions which i was asked when i was giving interviews for Application/Product Security roles. I am sure this is not an exhaustive list but i felt these questions were important to be asked and some were challenging to answer
Stars: ✭ 267 (+14.1%)
Mutual labels:  devsecops, appsec
Dependency Track
Dependency-Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.
Stars: ✭ 718 (+206.84%)
Mutual labels:  devsecops, appsec
Reapsaw
Reapsaw is a continuous security devsecops tool, which helps in enabling security into CI/CD Pipeline. It supports coverage for multiple programming languages.
Stars: ✭ 37 (-84.19%)
Mutual labels:  devsecops, appsec
Njsscan
njsscan is a semantic aware SAST tool that can find insecure code patterns in your Node.js applications.
Stars: ✭ 128 (-45.3%)
Mutual labels:  devsecops, appsec
Purify
All-in-one tool for managing vulnerability reports from AppSec pipelines
Stars: ✭ 72 (-69.23%)
Mutual labels:  devsecops, appsec
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 (-20.09%)
Mutual labels:  devsecops, appsec
Bit
A tool for component-driven application development.
Stars: ✭ 14,443 (+6072.22%)
Mutual labels:  workflow
Awesome Devsecops
An authoritative list of awesome devsecops tools with the help from community experiments and contributions.
Stars: ✭ 2,805 (+1098.72%)
Mutual labels:  devsecops
Wstg
The Web Security Testing Guide is a comprehensive Open Source guide to testing the security of web applications and web services.
Stars: ✭ 3,873 (+1555.13%)
Mutual labels:  appsec
Whispers
Identify hardcoded secrets and dangerous behaviours
Stars: ✭ 66 (-71.79%)
Mutual labels:  devsecops
Wexflow
An easy and fast way to build automation and workflows on Windows, Linux, macOS, and the cloud.
Stars: ✭ 2,435 (+940.6%)
Mutual labels:  workflow
Litegraph.js
A graph node engine and editor written in Javascript similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. The engine can run client side or server side using Node. It allows to export graphs as JSONs to be included in applications independently.
Stars: ✭ 2,735 (+1068.8%)
Mutual labels:  workflow
Suitecrm
SuiteCRM - Open source CRM for the world
Stars: ✭ 2,770 (+1083.76%)
Mutual labels:  workflow
Git Octopus
The continuous merge workflow
Stars: ✭ 202 (-13.68%)
Mutual labels:  workflow
Vue Blocks
Vue2 dataflow graph editor
Stars: ✭ 201 (-14.1%)
Mutual labels:  workflow
Chopchop
ChopChop is a CLI to help developers scanning endpoints and identifying exposition of sensitive services/files/folders.
Stars: ✭ 227 (-2.99%)
Mutual labels:  devsecops
Bumped
📦 Makes easy release software
Stars: ✭ 222 (-5.13%)
Mutual labels:  workflow
Versionpress
Git-based version control for WordPress. Whoa!
Stars: ✭ 2,479 (+959.4%)
Mutual labels:  workflow

Introduction

███████╗ ██████╗ █████╗ ███╗   ██╗
██╔════╝██╔════╝██╔══██╗████╗  ██║
███████╗██║     ███████║██╔██╗ ██║
╚════██║██║     ██╔══██║██║╚██╗██║
███████║╚██████╗██║  ██║██║ ╚████║
╚══════╝ ╚═════╝╚═╝  ╚═╝╚═╝  ╚═══╝

Scan is a free open-source security tool for modern DevOps teams. With an integrated multi-scanner based design, Scan can detect various kinds of security flaws in your application and infrastructure code in a single fast scan without the need for any remote server. Scan is purpose built for workflow integration with nifty features such as automatic build breaker, results baseline and PR summary comments. Scan products are open-source under a GNU GPL 3.0 or later (GPL-3.0-or-later) license.

Build Status

Scan philosophy

  • Your code, dependencies, and configuration are your business. No code would ever leave your builds. All scanners, rules and data including the vulnerability database are downloaded locally to perform the scans
  • Out-of-the-box experience: Users shouldn't have to configure or learn anything to use scan across languages and pipelines

Bundled tools

Programming Language Tools
ansible ansible-lint
apex pmd
arm checkov
aws checkov
bash shellcheck
bom cdxgen
credscan gitleaks
depscan dep-scan
go gosec, staticcheck
groovy find-sec-bugs
java cdxgen, gradle, find-sec-bugs, pmd
jsp pmd, find-sec-bugs
json jq, jsondiff, jsonschema
kotlin detekt, find-sec-bugs
scala find-sec-bugs
kubernetes checkov, kubesec, kube-score
nodejs cdxgen, yarn, rush
php psalm, phpstan (ide only)
plsql pmd
python cfg-scan (1), bandit, cdxgen
ruby brakeman (2), dep-scan
rust cdxgen
serverless checkov
terraform checkov, tfsec
Visual Force (vf) pmd
Apache Velocity (vm) pmd
yaml yamllint

(1) - Deep analyzer for Python is a built-in feature (2) - Brakeman is not bundled with scan. Use brakeman with an appropriate license and export the report in json format using -o reports/source-ruby-report.json

Bundled languages/runtime

  • jq
  • Golang 1.14
  • Python 3.8
  • OpenJDK 11
  • Node.js 10
  • Yarnpkg

Please visit the official documentation site for scan to learn about the configuration and CI/CD integration options. We also have a dedicated discord channel for issues and support.

Getting started

scan is ideal for use with CI and also as a pre-commit hook for local development. Scan is distributed as a container image shiftleft/scan, and as an AppImage for supported Linux distributions.

Scanning projects locally

Easy one-liner command below:

sh <(curl https://slscan.sh)

The above command simply invokes the below docker run command.

docker run --rm -e "WORKSPACE=${PWD}" -v $PWD:/app shiftleft/scan scan --build

On Windows, the command changes slightly depending on the terminal.

cmd

docker run --rm -e "WORKSPACE=%cd%" -e "GITHUB_TOKEN=%GITHUB_TOKEN%" -v "%cd%:/app:cached" shiftleft/scan scan

PowerShell and PowerShell Core

docker run --rm -e "WORKSPACE=$(pwd)" -e "GITHUB_TOKEN=$env:GITHUB_TOKEN" -v "$(pwd):/app:cached" shiftleft/scan scan

WSL Bash

docker run --rm -e "WORKSPACE=${PWD}" -e "GITHUB_TOKEN=${GITHUB_TOKEN}" -v "$PWD:/app:cached" shiftleft/scan scan

git-bash

docker run --rm -e "WORKSPACE=${PWD}" -e "GITHUB_TOKEN=${GITHUB_TOKEN}" -v "/$PWD:/app:cached" shiftleft/scan scan

Don't forget the slash (/) before $PWD for git-bash!

Scan multiple projects

docker run --rm -e "WORKSPACE=${PWD}" -v $PWD:/app shiftleft/scan scan --src /app --type credscan,nodejs,python,yaml --out_dir /app/reports

Scan Java project

For Java and JVM language-based projects, it is important to compile the projects before invoking sast-scan in the dev and CI workflow.

docker run --rm -e "WORKSPACE=${PWD}" -v ~/.m2:/.m2 -v <source path>:/app shiftleft/scan scan --src /app --type java

# For gradle project
docker run --rm -e "WORKSPACE=${PWD}" -v ~/.gradle:/.gradle -v <source path>:/app shiftleft/scan scan --src /app --type java

Automatic project detection

Feel free to skip --type to enable auto-detection. Or pass comma-separated values if the project has multiple types.

Viewing reports

Reports would be produced in the directory specified for --out_dir. In the above examples, it is set to reports which will be a directory under the source code root directory.

Some of the reports would be converted to a standard called SARIF. Such reports would end with the extension .sarif. Opening and viewing sarif files require a viewer such as:

Issues with dockerhub?

Many scan images are mirrored to quay.io through the CI pipeline. Simply prefix quay.io/ to the image name. Below are the mirrors available.

Scan users

Scan is used by many organizations and over 1000s of opensource projects. Some notable organizations that use scan are:

  • Microsoft
  • D2iQ
  • McKinsey & Company
  • NIO
  • Neo Financial
  • Accenture
  • Wipro
  • NCI Agency

Send us a PR for including your organization name here. You can also show your support for scan by using the hashtags #slscan on social media.

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