ZupIT/horusec

GitHub: ZupIT/horusec

一款通过静态分析快速发现多语言项目安全漏洞的开源工具。

Stars: 1316 | Forks: 215

logo_header

## **目录** ### 1. [**关于**](#about) ### 2. [**快速开始**](#getting-started) ### 3. [**用法**](#usage) ### 4. [**文档**](#documentation) ### 5. [**路线图**](#roadmap) ### 6. [**贡献指南**](#contributing) ### 7. [**行为准则**](#code-of-conduct) ### 8. [**许可证**](#license) ### 9. [**社区**](#community)


# **关于** Horusec 是一个开源工具,用于在开发过程中执行静态代码分析以识别安全漏洞。当前支持分析的语言包括:C#、Java、Kotlin、Python、Ruby、Golang、Terraform、JavaScript、TypeScript、Kubernetes、PHP、C、HTML、JSON、Dart、Elixir、Shell、Nginx。 该工具提供了在项目所有文件中搜索密钥和安全漏洞的选项,同时也可分析 Git 历史记录。开发者可以通过 CLI 使用 Horusec,DevSecOps 团队也可在 CI/CD 流水线中使用。 请查看我们的 [**文档**](https://docs.horusec.io/docs/overview/),您将看到 Horusec 执行分析所支持的完整工具与语言列表。

architecture

### **查看输出示例:** usage_gif # **快速开始** ## **要求** - Docker 您需要在机器上安装 Docker 才能运行 Horusec 并使用所有分析工具。 如果您没有 Docker,可以使用 [**标志**](https://docs.horusec.io/docs/cli/commands-and-flags/#3-flags) `-D true` 来禁用该依赖,但会降低大部分分析能力。 我们推荐在 Docker 环境下使用。 如果启用了提交作者 `-G true`,还需要 `git` 依赖。 ## **安装 Horusec** ### **Mac 或 Linux** ``` make install ``` 或 ``` curl -fsSL https://raw.githubusercontent.com/ZupIT/horusec/master/deployments/scripts/install.sh | bash -s latest ``` #### **检查安装** ``` 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 #### **检查安装** ``` ./horusec.exe version ``` ### **更多选项** - 您可以在我们的 [**发布页面**](https://github.com/ZupIT/horusec/releases) 找到所有版本的二进制文件。 - 有关安装详情,请查看 [**文档**](https://docs.horusec.io/docs/cli/installation) ## **用法** ### **CLI 用法** 要使用 horusec-cli 检查应用程序的漏洞,请使用以下命令: ``` horusec start -p . ``` ### **使用 Docker** 可以通过 Docker 镜像 **`horuszup/horusec-cli:latest`** 使用 Horusec。 运行以下命令: ``` docker run -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd):/src horuszup/horusec-cli:latest horusec start -p /src -P $(pwd) ``` - 我们创建了一个卷,包含项目 `-v $(pwd):/src`。 使用 Docker 镜像后,项目路径在容器内和容器外会有两个位置。 `-p` 标志表示容器内的项目路径,在我们的示例中为 `/src`。 `-P` 标志表示容器外的项目路径,在我们的示例中为 `$(pwd)`, 同时也需要传递项目路径以挂载卷 `-v $(pwd):/src`。 ### **旧版本** Horusec 的 v1 版本仍可用。 **警告:** v1 的端点将被弃用,请升级到 CLI v2。更多详情请查看 [**文档**](https://docs.horusec.io/docs/migrate-v1-to-v2/)。 ### **Mac 或 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 ``` - 旧版本二进制文件可通过该端点获取,包括最新 v1 版本 **`v1.10.3`**。 - 从 v2 开始,二进制文件不再通过该端点分发,您可以在 [**发布页面**](https://github.com/ZupIT/horusec/releases) 找到。 ### **使用 Horusec Web 应用** 通过我们的 Web 界面管理漏洞。您可以查看漏洞指标仪表板、误报控制、授权令牌、漏洞更新等功能。 请查看 [**Web 应用**](https://github.com/ZupIT/horusec-platform) 章节以了解更多信息。 请参考以下示例,它正在向 Horusec Web 服务发送分析: ``` horusec start -p -a ``` 请查看 [**教程:如何通过 Horusec Manager Web 服务创建授权令牌**](https://docs.horusec.io/docs/tutorials/how-to-create-an-authorization-token)。 **警告:** 我们的 Web 服务已迁移至 [**新仓库**](https://github.com/ZupIT/horusec-platform)。您需要升级到 v2,并查看 [**如何从 v1 迁移到 v2**](https://docs.horusec.io/docs/migrate-v1-to-v2)。 ### **使用 Visual Studio Code** 您可以使用 Horusec 的 Visual Studio Code 扩展来分析项目。 更多详情,请查看 [**文档**](https://docs.horusec.io/docs/extensions/visual-studio-code/)。 ### **使用流水线** 您可以在部署到环境之前分析项目,以确保组织内的最大安全性。 更多详情,请查看 [**文档**](https://docs.horusec.io/docs/cli/installation/#installation-via-pipeline): ### **功能特性** 请参见以下内容: - 同时分析 18 种语言,使用 20 种不同的安全工具以提高准确性; - 搜索 Git 历史记录中的密钥和其他泄露内容; - 您的分析可完全配置,[**查看所有可用的 CLI 参数**](https://docs.horusec.io/docs/cli/commands-and-flags/#3-flags)。 ## **文档** 您可以在我们的 [**官网**](https://docs.horusec.io/docs/overview/) 找到 Horusec 的文档。 ## **路线图** 我们有一个 [**路线图**](ROADMAP.md),欢迎您参与贡献! Horusec 还有其他仓库,请查看: - [**Horusec Platform**](https://github.com/ZupIT/horusec-platform) - [**Horusec DevKit**](https://github.com/ZupIT/horusec-devkit) - [**Horusec Engine**](https://github.com/ZupIT/horusec-engine) - [**Horusec Operator**](https://github.com/ZupIT/horusec-operator) - [**Horusec VsCode**](https://github.com/ZupIT/horusec-vscode-plugin) ## **贡献** 欢迎使用、提出改进建议或参与新实现。 请查看我们的 [**贡献指南**](CONTRIBUTING.md) 以了解我们的开发流程、如何提出错误修复和改进建议。 ### **开发者证书起源 - DCO** 这是项目与开发者的安全层,必须遵守。 请使用以下两种方法之一将 DCO 添加到您的提交中: **1. 命令行** 按照以下步骤操作: **步骤 1:** 配置本地 Git 环境,使用与 GitHub 账户相同的名称和邮箱。这有助于在审核和建议过程中手动签名提交。 ``` git config --global user.name “Name” git config --global user.email “email@domain.com.br” ``` **步骤 2:** 使用 `'-s'` 标志在 git 提交命令中添加 Signed-off-by 行: ``` $ git commit -s -m "This is my commit message" ``` **2. GitHub 网站** 您也可以在 GitHub 审核和建议过程中手动签名提交,请按照以下步骤操作: **步骤 1:** 当提交更改框打开时,手动输入或粘贴您的签名到评论框中,请参考示例: ``` Signed-off-by: Name < e-mail address > ``` 对于此方法,您的姓名和邮箱必须与 GitHub 账户中注册的相同。 ## **行为准则** 请在所有与项目的互动中遵循 [**行为准则**](https://github.com/ZupIT/horusec/blob/main/CODE_OF_CONDUCT.md)。 ## **许可证** [**Apache License 2.0**](LICENSE)。 ## **社区** 欢迎随时联系我们: - [**GitHub Issues**](https://github.com/ZupIT/horusec/issues) - 如果您有任何问题或想法,请在 [**Zup 开源论坛**](https://forum.zup.com.br) 中与我们聊天。 这个项目因所有贡献者而存在。您真棒! ❤️ 🚀
标签:CI/CD安全, DevSecOps, EVTX分析, GitHub Actions, Go语言, Horusec, IPv6支持, Llama, XML 请求, 一键扫描, 上游代理, 云安全监控, 代码安全, 安全专业人员, 安全开发, 开发者安全, 开源安全工具, 开源框架, 持续集成, 文档结构分析, 日志审计, 漏洞枚举, 漏洞识别, 程序破解, 结构化查询, 自动化安全, 自动笔记, 请求拦截, 软件供应链安全, 远程方法调用, 逆向工程平台, 静态分析