Giter VIP home page Giter VIP logo

prismaclouddevsecopsscanner / abnamro-repository-scanner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abnamro/repository-scanner

0.0 0.0 0.0 39.81 MB

Tool to detect secrets in source code management systems.

License: MIT License

Shell 0.84% JavaScript 10.21% Python 70.67% TypeScript 4.01% CSS 0.71% Makefile 0.14% HTML 0.09% Smarty 0.74% Mako 0.04% Vue 12.12% Dockerfile 0.33% SCSS 0.13%

abnamro-repository-scanner's Introduction

        ______                     _ _                     _____
        | ___ \                   (_| |                   /  ___|
        | |_/ /___ _ __   ___  ___ _| |_ ___  _ __ _   _  \ `--.  ___ __ _ _ __  _ __   ___ _ __
        |    // _ | '_ \ / _ \/ __| | __/ _ \| '__| | | |  `--. \/ __/ _` | '_ \| '_ \ / _ | '__|
        | |\ |  __| |_) | (_) \__ | | || (_) | |  | |_| | /\__/ | (_| (_| | | | | | | |  __| |
        \_| \_\___| .__/ \___/|___|_|\__\___/|_|   \__, | \____/ \___\__,_|_| |_|_| |_|\___|_|
                  | |                               __/ |
                  |_|                              |___/

Repository Scanner

Maintainer License LaunchedDate LastUpdated Build Version Python [TypeScripttypescript-url Vue.js Docker Kubernetes Helm Downloads DockerPulls OpenSSFBestPractices OpenSSF Scorecard SonarCloud

The Repository Scanner (RESC) is a tool used to detect secrets in source code management and version control systems (e.g. GitHub, BitBucket, or Azure DevOps). Among the types of secrets that the Repository Scanner detects are credentials, passwords, tokens, API keys, and certificates. The tool is maintained and updated by the ABN AMRO Bank to match the constantly changing cyber security landscape.

The Repository Scanner was created to prevent that credentials and other sensitive information are left unprotected in code repositories. Exposing sensitive information in such a way can have severe consequences for the security posture of an organization. An attacker can use the data to compromise the organization's network. This can be prevented by scanning a repository with the RESC tool. It marks all the instances of exposed sensitive information in the source code.

RESC-Demo

๐Ÿ“’ Table of contents

๐Ÿ”— Links

Throughout the process of open sourcing this project, the ABN AMRO Bank created a series of articles that describe the capabilities of the Repository Scanner (RESC) tool, the architectural decisions behind it, and the road to open sourcing RESC. With the articles, users can look "behind the scenes" and gain a deeper understanding of the tool.

ABN AMRO Open Source project: Repository Scanner
Open Source Project Update: Repository Scanner
Open Source Project Update: Repository Scanner 2.0.0

Releases

Every notable release of the Repository Scanner tool, the changes that come with the release, and the release date can be found on the Releases page.

๐Ÿ› ๏ธ Technical information

The technologies that the Repository Scanner Tool is built on is listed below. There is also a list with direct links to the individual components of RESC.

  • Python
  • Docker
  • Kubernetes
  • Helm
  • Vue
  • RabbitMQ
  • Redis

RESC high-level overview

The diagram below gives a high-level overview of the Repository Scanner tool. All the different components of the tool and the technologies that it utilizes are explained in detail here. As shown in the diagram, all the components mentioned are run as Docker containers in a Kubernetes ecosystem.

  • RESC-Frontend: The RESC-Frontend is a fully responsive dashboard application developed using TypeScript, Vue 3 and the BootstrapVueNext framework (based on Bootstrap 5). It has screens for Analytics, Repositories, Scan Findings, Rule Analytics, and Rule Pack.
  • RESC-Backend: The RESC-Backend is the backend of the Repository Scanner tool. The RESC-Backend consists of RabbitMQ users and queue creation, Database models, the RESC Web service, and Alembic scripts for database migration. The RESC Web service is created using FASTAPI.
  • RESC-VCS-Scanner: RESC-VCS-Scanner, which runs as a celery worker, gathers repositories from the repositories queue and carries out a secret scan. Gitleaks is used as the scanner to find secrets.
  • RESC-VCS-Scraper: All projects and repositories from supported VCS providers such as Bitbucket, Azure Repos, and GitHub are gathered by the RESC-VCS-SCRAPER. This component contains the VCS-Scraper-Projects and VCS-Scraper-Repositories as its primary modules.

Please visit architecture.md for more information.

๐Ÿ› ๏ธ Getting started

Please refer resc-helm-wizard for an interactive and easy way to deploy RESC on a Kubernetes cluster.

Dummy data generation

A standalone utility to generate dummy data for testing purposes is located at ./components/resc_backend/src/resc_backend/bin/dummy-data-generator. More details can be found here

๐Ÿ’๐Ÿฝ Contributing guidelines

We believe that innovating together can lead to the most incredible results and developments. Contributions to the Repository Scanner tool are therefore highly encouraged. We have created guidelines that we expect contributors to the project to follow. By contributing to the project you also agree with our Code of Conduct.

๐Ÿ“ง Contact

If you need to get in touch with the maintainers of the Repository Scanner tool, please use the following e-mail address: [email protected].

โš–๏ธ License

The Repository Scanner (RESC) Tool is licensed under the MIT License.

๐ŸŽ‰ Acknowledgements

Since the Repository Scanner (RESC) makes use of GitLeaks, we want to give Zachary Rice credits for creating and maintaining GitLeaks. GitLeaks has helped many organizations in securing their codebases for any leaked secrets.

abnamro-repository-scanner's People

Contributors

ajaikuruppath avatar amrityamrout avatar b-abderrahmane-abnamro avatar bvabn avatar damienvermaas avatar dependabot[bot] avatar fatma-dahmane avatar ildyria avatar mbyrnepr2 avatar peter-v-d-spek avatar prisma-cloud-devsecops[bot] avatar steven-deboer avatar usman2abn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.