All Projects → CoolerVoid → codecat

CoolerVoid / codecat

Licence: BSD-3-Clause license
CodeCat is an open-source tool to help you find/track user input sinks and security bugs using static code analysis. These points follow regex rules. Beta version.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to codecat

Reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Stars: ✭ 4,541 (+1613.58%)
Mutual labels:  static-code-analysis, codereview
Pest
🐞 Primitive Erlang Security Tool
Stars: ✭ 79 (-70.19%)
Mutual labels:  security-audit, static-code-analysis
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 (-86.42%)
Mutual labels:  security-audit, security-team
Drek
A static-code-analysis tool for performing security-focused code reviews. It enables an auditor to swiftly map the attack-surface of a large application, with an emphasis on identifying development anti-patterns and footguns.
Stars: ✭ 103 (-61.13%)
Mutual labels:  security-audit, static-code-analysis
Iotshark
IotShark - Monitoring and Analyzing IoT Traffic
Stars: ✭ 69 (-73.96%)
Mutual labels:  security-audit, flask-application
Whispers
Identify hardcoded secrets and dangerous behaviours
Stars: ✭ 66 (-75.09%)
Mutual labels:  security-audit, static-code-analysis
flask-boilerplate
A Flask Boilerplate to quickly get started with production-grade flask application. It has some additional packages pre-configured for ease of development.
Stars: ✭ 43 (-83.77%)
Mutual labels:  flask-application
Python-flask-with-uwsgi-and-nginx
Python Flask with Nginx and uWSGI
Stars: ✭ 34 (-87.17%)
Mutual labels:  flask-application
SharePoint-Security
A Github Repository Created to compliment a BSides Canberra 2018 talk on SharePoint Security.
Stars: ✭ 42 (-84.15%)
Mutual labels:  security-audit
stm app
This software engineer profile builder turns your code into a detailed list of skills for an online directory of software developers.
Stars: ✭ 23 (-91.32%)
Mutual labels:  static-code-analysis
klara
Automatic test case generation for python and static analysis library
Stars: ✭ 250 (-5.66%)
Mutual labels:  static-code-analysis
FastLint-Issues
FastLint finds & fixes bugs in your commits
Stars: ✭ 123 (-53.58%)
Mutual labels:  static-code-analysis
Python-Studies
All studies about python
Stars: ✭ 56 (-78.87%)
Mutual labels:  flask-application
rubysec
RubySec Field Guide
Stars: ✭ 41 (-84.53%)
Mutual labels:  security-audit
todoist bot
@Todoist_bot for Telegram (UNofficial)
Stars: ✭ 35 (-86.79%)
Mutual labels:  flask-application
vue-flask-template
📦 一个快速搭建 Web 应用的模版!前端使用渐进式框架 Vue,后端使用微框架 Flask
Stars: ✭ 29 (-89.06%)
Mutual labels:  flask-application
TopicsExplorer
Explore your own text collection with a topic model – without prior knowledge.
Stars: ✭ 53 (-80%)
Mutual labels:  flask-application
bank-statement-analysis
Flask application generating interactive visualisations from bank statements PDF documents
Stars: ✭ 31 (-88.3%)
Mutual labels:  flask-application
clair-singularity
Scan Singularity container images using a Clair server
Stars: ✭ 14 (-94.72%)
Mutual labels:  security-audit
goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report.
Stars: ✭ 3,019 (+1039.25%)
Mutual labels:  codereview

CodeCat - Tool to help in static code analysis

CodeCat is an open-source tool to help you find/track user input sinks and security bugs using static code analysis. These points follow regex rules.

Current rules for C,C++,GO,Python,javascript,Swift,PHP,Ruby,ASP,Kotlin,Dart and Java. Yes, you can create your rules and manage each resource.

video

https://www.youtube.com/watch?v=Bmfhsr3BvyA

Features

  • Recursive code search by custom rules following Regex
  • Syntax Highlight in code view
  • Search system using data tables, fantastic resource!
  • System to manage rules
  • Resource to upload project
  • Authentication system
  • Resource to control users
  • Resource to control access in HTTP following allow list by IP address
  • Application following security practices of OWASP

How too install, step by step:

Go to CodeCat directory, install backend and frontend libs:

$ apt install python3-venv python3-dev libffi-dev rustc libssl-dev
$ python3 -m venv .venv
$ . .venv/bin/activate
$ pip install wheel
$ pip install -r Frontend/requirements.txt
$ pip install -r Backend/requirements.txt

Set env vars (use a proper vault to save that resource)

$ export CODECAT_APPKEY="Dyland0Gc0m1C"
$ export CODECAT_SECRET="M4rt1nMyster3c0m1C"
$ export CODECAT_CSRF_KEY="y0ur SEcr3t K3y h3RE"

Run backend and frontend:

$ cd Codecat
$ cd Frontend; python3 wsgi.py &
$ cd ..
$ cd Backend; python3 wsgi.py &

Next step you need save your user to login:

$ curl -i -X POST -H "Content-Type: application/json" -d '{"email":"[email protected]","username":"admin","password":"rubrik123"}' https://127.0.0.1:50001/api/users -k

These endpoint /API/users run only once in the first deployment. If you try to send a request again to insert a user, the endpoint return 404 is security to block resources of possible attacks.

Go to the following "https://127.0.0.1:50093/front/auth/". Now you can enter this system-auth, use login "admin", pass "rubrik123".

Note About TLS: You can configure and load your TLS cert in "wsgi.py".

You can insert IP address in allow list to control access in HTTPd and Rest API:

$ cat Frontend/application/allow_list/addr.txt 
127.0.0.1
0.0.0.0
$ cat Backend/application/allow_list/addr.txt 
127.0.0.1
0.0.0.0
localhost

Production

Suppose you need to run in production. So I recommend another way.

$ gunicorn -b 127.0.0.1:50001 wsgi:app

If you want, you can use TLS with CERT resources:

$ gunicorn --certfile=server.crt --keyfile=server.key -b 127.0.0.1:50001 wsgi:app

The same command to frontend, but you need to use port 50093.

How can you use it?

Please study the doc. https://github.com/CoolerVoid/codecat/blob/master/doc/raptor.pdf

So any questions, create an issue, and I can try to help you.

Note

The purpose of this tool is to use in code review, take attention if you have a proper authorization before to use that. I do not have responsibility for your actions. You can use a hammer to construct a house or destroy it, choose the law path, don't be a bad guy, remember.

Developed by:

github.com/CoolerVoid Antonio Costa - [email protected]

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