CERT-Polska/Artemis
GitHub: CERT-Polska/Artemis
CERT Polska 开源的一款模块化漏洞扫描器,专注于自动化检测网站风险并生成用于安全通知的标准化报告。
Stars: 1134 | Forks: 120
Artemis 是一款模块化漏洞扫描器。它是支撑 CERT PL 扫描活动的工具,通过
[检查网站安全的各个方面](https://artemis-scanner.readthedocs.io/en/latest/features.html)
并[生成易于阅读的消息,以便发送给被扫描的组织](https://artemis-scanner.readthedocs.io/en/latest/generating-reports.html)。
## [快速开始 🔨](https://artemis-scanner.readthedocs.io/en/latest/quick-start.html) | [文档 📚](https://artemis-scanner.readthedocs.io/en/latest/)
如果您想使用因非 BSD 兼容许可证而未包含在此处的额外模块,请浏览 [Artemis-modules-extra](https://github.com/CERT-Polska/Artemis-modules-extra) 代码库。
如果您想修改或开发 Artemis,请先阅读 **[开发](#development)**。
**Artemis 是实验性软件,正在积极开发中 - 使用风险自负。**
如需探讨 Artemis,[请加入 Discord 服务器](https://discord.gg/GfUW4mZmy9)!
## 合作与会议
Artemis 曾在拉斯维加斯举办的 BlackHat USA 2024 上展示。有关 BlackHat USA 上 Artemis 的更多信息,[请点击此处](https://www.blackhat.com/us-24/arsenal/schedule/index.html#artemis-modular-vulnerability-scanner-with-automatic-report-generation-39372)。
该项目还曾在 [哥本哈根举行的第 69 届 TF-CSIRT 会议](https://tf-csirt.org/tf-csirt/meetings/69th/)、[布加勒斯特举行的第 69 届 TF-CSIRT 会议](https://tf-csirt.org/tf-csirt/meetings/69th/)以及 [CONFidence](https://confidence-conference.org/) 会议等场合展示。
### 合作

Artemis 的开发得到了 Google Summer of Code 2024 的支持。
## 功能
有关最新的功能列表,请参阅[文档](https://artemis-scanner.readthedocs.io/en/latest/features.html)。
最重要的一项功能是可以[轻松导出](https://artemis-scanner.readthedocs.io/en/latest/generating-reports.html)如下报告:
自动生成此类报告的能力使我们能够通知辖区内的实体关于[数十万](https://cert.pl/en/posts/2024/01/artemis-security-scanner/)个漏洞。
## 截图

## 开发
要启动本地修改版的 Artemis,请运行:
```
./scripts/start_dev
```
如果环境文件 (`env.example`) 不存在,此脚本会自动将其复制到 `.env`。然后您可以根据需要在 .env 文件中配置设置。这包括通过设置 CUSTOM_USER_AGENT 变量来自定义 user-agent,以及其他相关参数。有关配置变量及其描述的完整列表,请参阅[文档中的配置部分](https://artemis-scanner.readthedocs.io/en/latest/user-guide/configuration.html)。
然后,Artemis 镜像将在本地构建(基于您正在开发的代码),而不是从 Docker Hub 下载。
对于 `web`,您还可以在页面上看到代码修改的结果,而无需重新加载整个容器。
### 测试
要运行测试,请使用:
```
./scripts/test
```
### 代码格式化
Artemis 使用 `pre-commit` 来运行 linter 并格式化代码。
`pre-commit` 会在 CI 上执行,以验证代码格式是否正确。
要在本地运行,请使用:
```
pre-commit run --all-files
```
要设置 `pre-commit` 使其在每次提交前运行,请使用:
```
pre-commit install
```
### 构建文档
要构建文档,请使用:
```
cd docs
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
make html
```
## 如何编写我自己的模块?
请参阅[文档](https://artemis-scanner.readthedocs.io/en/latest/user-guide/writing-a-module.html)。
## 贡献
欢迎贡献!我们非常感谢新的 Artemis 模块的创意(以 [GitHub issues](https://github.com/CERT-Polska/Artemis/issues) 形式添加),以及包含新模块或代码改进的 pull requests。
尽管这似乎显而易见,但我们善意地提醒您,通过为 Artemis 做出贡献,您同意 BSD 3-Clause 许可证将自动适用于您的贡献,无需做出任何额外声明。
### 开发
在提交 PR 之前,请确保安装 `pre-commit`:
- `pre-commit install`
并针对您的更改运行它。
标签:Artemis, CERT, Python, 二进制模式, 代码生成, 加密, 反取证, 安全评估, 密码管理, 插件系统, 无后门, 模块化架构, 渗透测试工具, 漏洞扫描器, 网站安全, 网络侦查, 脆弱性检测, 请求拦截, 逆向工具, 风险识别, 黑帽兵器库