返回排行榜

ZupIT/horusec

Gohorusec.io

Horusec is an open source tool that improves identification of vulnerabilities in your project with just one command.

sastjavakotlingolangpythonrubyterraformnetcoresecuritysecurity-developmentcicli
Star 增长趋势
Star
1.3k
Forks
217
周增长
Issues
76
5001k
2023年1月2024年3月2025年5月2026年7月
制品库Go Modulesgo get github.com/ZupIT/horusec
README

logo_header

Table of contents

1. About

2. Getting started

2.1. Requirements

2.2. Installation

3. Usage

3.1. CLI Usage

3.2. Using Docker

3.3. Older versions

3.4. Using Horusec-Web application

3.5. Using Visual Studio Code

3.6. Using the Pipeline

4. Documentation

5. Roadmap

6. Contributing

7. Code of Conduct

8. License

9. Community




About

Horusec is an open source tool that performs a static code analysis to identify security flaws during the development process. Currently, the languages for analysis are C#, Java, Kotlin, Python, Ruby, Golang, Terraform, Javascript, Typescript, Kubernetes, PHP, C, HTML, JSON, Dart, Elixir, Shell, Nginx. The tool has options to search for key leaks and security flaws in all your project's files, as well as in Git history. Horusec can be used by the developer through the CLI and by the DevSecOps team on CI /CD mats.

Check out our Documentation, you will see the complete list of tools and languages Horusec performs analysis.

architecture

See an Output example:

usage_gif

Getting started

Requirements

  • Docker

You need Docker installed in your machine in order to run Horusec with all the tools we use. If you don't have Docker, we have a flag -D true that will disable the dependency, but it also loses much of the analysis power. We recommend using it with Docker.

If you enable commit authors -G true, there is also a git dependency.

Installing Horusec

Mac or Linux

make install

or

curl -fsSL https://raw.githubusercontent.com/ZupIT/horusec/master/deployments/scripts/install.sh | bash -s latest

Check the installation

horusec version

Windows

  • amd64

    curl -k "https://github.com/ZupIT/horusec/releases/latest/download/horusec_win_amd64.exe" -o "./horusec.exe" -L
    
  • arm64

    curl -k "https://github.com/ZupIT/horusec/releases/latest/download/horusec_win_arm64.exe" -o "./horusec.exe" -L
    

Check the installation

./horusec.exe version

And more

Usage

CLI Usage

To use horusec-cli and check the application's vulnerabilities, use the following command:

horusec start -p .

When horusec starts an analysis, it creates a folder called .horusec. This folder is the basis for not changing your code. We recommend you to add the line .horusec into your .gitignore file so that this folder does not need to be sent to your git server.

Using Docker

It is possible to use Horusec through a docker image horuszup/horusec-cli:latest.

Run the following command to do it:

docker run -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd):/src horuszup/horusec-cli:latest horusec start -p /src -P $(pwd)
  • We created a volume containing the project -v $(pwd):/src.

With the docker image we ended up having two paths where the project can be found.

The -p flag will represent the project path inside the container, in our example /src. The -P flag will represent the project outside the container, in our example is represented by $(pwd), will be also needed to pass the project path to mount the volume -v $(pwd):/src.

Older versions

Horusec's v1 is still available.

WARNING: The endpoint with v1 will be deprecated, please upgrade your CLI to v2. Check out more details in the documentation.

Mac or Linux

curl -fsSL https://horusec.io/bin/install.sh | bash -s latest

Windows

curl "https://horusec.io/bin/latest/win_x64/horusec.exe" -o "./horusec.exe" && ./horusec.exe version
  • The older binaries can be found at this endpoint, including the latest version of v1 v1.10.3.
  • As of v2, binaries will no longer be distributed by this endpoint, and you can find in the releases page.

Using Horusec-Web application

Manage your vulnerabilities through our web interface. You can have a dashboard of metrics about your vulnerabilities, control of false positives, authorization token, update of vulnerabilities and much more. See the web application section to keep reading about it.

Check out the example below, it is sending an analysis to Horusec web services:

horusec start -p <PATH_TO_YOUR_PROJECT> -a <YOUR_AUTHORIZATION_TOKEN>

Check out the tutorial on how to create an authorization token through Horusec Manager Web Service.

WARNING: Our web services was moved to a new repository. You need to upgrade to v2, check out how to migrate from v1 to v2.

Using Visual Studio Code

You can analyze your project using Horusec's Visual Studio Code extension. For more information, check out the documentation.

Using the Pipeline

You can perform an analysis of your project before you hold deployment in your environment by ensuring maximum security in your organization. For more information, check out the documentation:

Features

See below:

  • Analyzes simultaneously 18 languages with 20 different security tools to increase accuracy;
  • Search for their historical git by secrets and other contents exposed;
  • Your analysis can be fully configurable, see all CLI available resources.

Documentation

You can find Horusec's documentation on our website.

Roadmap

We have a project roadmap, you can contribute with us!

Horusec has other repositories, check them out:

Contributing

Feel free to use, recommend improvements, or contribute to new implementations.

Check out our contributing guide to learn about our development process, how to suggest bugfixes and improvements.

Developer Certificate of Origin - DCO

This is a security layer for the project and for the developers. It is mandatory.

Follow one of these two methods to add DCO to your commits:

1. Command line Follow the steps: Step 1: Configure your local git environment adding the same name and e-mail configured at your GitHub account. It helps to sign commits manually during reviews and suggestions.

git config --global user.name “Name”
git config --global user.email “email@domain.com.br”

Step 2: Add the Signed-off-by line with the '-s' flag in the git commit command:

$ git commit -s -m "This is my commit message"

2. GitHub website

You can also manually sign your commits during GitHub reviews and suggestions, follow the steps below:

Step 1: When the commit changes box opens, manually type or paste your signature in the comment box, see the example:

Signed-off-by: Name < e-mail address >

For this method, your name and e-mail must be the same registered on your GitHub account.

Code of Conduct

Please follow the Code of Conduct in all your interactions with our project.

License

Apache License 2.0.

Community

Feel free to reach out to us at:

This project exists thanks to all the contributors. You rock! ❤️ 🚀

相关仓库
semgrep/semgrep

Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.

OCamlGNU Lesser General Public License v2.1static-analysisstatic-code-analysis
semgrep.dev
16k999
analysis-tools-dev/static-analysis

⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.

Rustcrates.ioMIT Licensestatic-analysisstatic-analyzers
analysis-tools.dev
14.7k1.5k
lintsinghua/DeepAudit

DeepAudit:人人拥有的 AI 黑客战队,让漏洞挖掘触手可及。国内首个开源的代码漏洞挖掘多智能体系统。小白一键部署运行,自主协作审计 + 自动化沙箱 PoC 验证。支持 Ollama 私有部署 ,一键生成报告。支持中转站。​让安全不再昂贵,让审计不再复杂。

PythonPyPIGNU Affero General Public License v3.0aibug-detection
6.7k821
tenable/terrascan

Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.

GoGo ModulesApache License 2.0security-toolsinfrastructure-as-code
runterrascan.io
5.2k556
Bearer/bearer

Code security scanning tool (SAST) to discover, filter and prioritize security and privacy risks.

GoGo ModulesOtherappseccompliance
docs.bearer.com
2.7k143
ajinabraham/nodejsscan

nodejsscan is a static security code scanner for Node.js applications.

CSSnpmGNU General Public License v3.0javascriptnodejs
opensecurity.in
2.6k346
zinja-coder/jadx-ai-mcp

Plugin for JADX to integrate MCP server

JavaMavenApache License 2.0aimcp-server
2.5k231
m14r41/PentestingEverything

Complete Solution for VAPT/AppSec and Pentesting Guide: Web | Mobile | API | Thick Client | Source Code Review | DevSecOps | Wireless | Network Pentesting | SAST | DAST etc...

TypeScriptnpmMIT Licenseappsecapi-pentesting
pentesting.m14r41.in
1.9k429
ASTTeam/CodeQL

《深入理解CodeQL》Finding vulnerabilities with CodeQL.

0e0wcodeql
1.8k183
betterleaks/betterleaks

Scan the world (for secrets)

GoGo ModulesMIT Licensecicdcredentials
betterleaks.com
1.5k108
controlplaneio/kubesec

Security risk analysis for Kubernetes resources

GoGo ModulesApache License 2.0hacktoberfestkubernetes
kubesec.io
1.5k107
utkusen/sast-skills

Collection of agent skills that turn your AI coder into a SAST scanner

MIT Licenseai-securityclaude
1.2k54