docs: 完善文档
This commit is contained in:
parent
0c4f560b7a
commit
d56d0173ad
148
docs/design.md
148
docs/design.md
@ -1,9 +1,64 @@
|
|||||||
# 项目设计文档 - 后门检测系统
|
# 项目设计文档 - 后门检测系统
|
||||||
|
|
||||||
|
## 打包
|
||||||
|
|
||||||
|
### 简介
|
||||||
|
|
||||||
|
本项目需要将 Python 代码打包成`pip`包和`deb`包,以便于分发和安装。以下是如何实现和使用该打包功能的详细步骤。
|
||||||
|
|
||||||
|
### pip
|
||||||
|
|
||||||
|
#### 打包命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install wheel
|
||||||
|
python setup.py sdist bdist_wheel
|
||||||
|
```
|
||||||
|
|
||||||
|
执行上述命令后,会在 dist 目录下生成 .tar.gz 和 .whl 文件。
|
||||||
|
|
||||||
|
#### 本地安装
|
||||||
|
|
||||||
|
- 安装 .whl 文件:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
pip install dist/backdoor_buster-0.1.0-py3-none-any.whl
|
||||||
|
```
|
||||||
|
|
||||||
|
- 安装 .tar.gz 文件:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
pip install dist/backdoor_buster-0.1.0.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 上传到 PyPI
|
||||||
|
|
||||||
|
- 安装 twine:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
pip install twine
|
||||||
|
```
|
||||||
|
|
||||||
|
- 使用 twine 上传包到 PyPI:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
twine upload dist/*
|
||||||
|
```
|
||||||
|
|
||||||
|
需要提供 PyPI 的用户名和密码。如果没有 PyPI 账号,可以在 PyPI 注册。
|
||||||
|
|
||||||
|
#### 使用 PyPI 安装
|
||||||
|
|
||||||
|
包上传到 PyPI 后,可以通过以下命令安装:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
pip install backdoor_buster
|
||||||
|
```
|
||||||
|
|
||||||
## 静态代码后门检测
|
## 静态代码后门检测
|
||||||
|
|
||||||
**功能描述**:
|
**功能描述**:
|
||||||
这个脚本用于扫描指定路径下的代码文件,检测潜在的危险函数调用,支持 `.py`, `.js`, `.cpp` 文件。
|
这个脚本用于扫描指定路径下的代码文件,检测潜在的危险函数调用,支持 `.py`, `.js`, `.cpp`, `.pyc` 文件。
|
||||||
|
|
||||||
**主要组件**:
|
**主要组件**:
|
||||||
|
|
||||||
@ -67,96 +122,7 @@ python backdoor_detection.py ./src -o ./output/report.pdf
|
|||||||
**使用示例**:
|
**使用示例**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python requirements_detection.py ./requirements.txt -o ./output/report.md
|
python -m detection.requirements_detection ./requirements.txt -o ./output/report.md
|
||||||
```
|
|
||||||
|
|
||||||
## 打包
|
|
||||||
|
|
||||||
### 简介
|
|
||||||
|
|
||||||
本项目需要将 Python 代码打包成`pip`包和`deb`包,以便于分发和安装。以下是如何实现和使用该打包功能的详细步骤。
|
|
||||||
|
|
||||||
### pip
|
|
||||||
|
|
||||||
#### 打包命令
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pip install wheel
|
|
||||||
python setup.py sdist bdist_wheel
|
|
||||||
```
|
|
||||||
|
|
||||||
执行上述命令后,会在 dist 目录下生成 .tar.gz 和 .whl 文件。
|
|
||||||
|
|
||||||
#### 本地安装
|
|
||||||
|
|
||||||
- 安装 .whl 文件:
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
pip install dist/backdoor_buster-0.1.0-py3-none-any.whl
|
|
||||||
```
|
|
||||||
|
|
||||||
- 安装 .tar.gz 文件:
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
pip install dist/backdoor_buster-0.1.0.tar.gz
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 上传到 PyPI
|
|
||||||
|
|
||||||
- 安装 twine:
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
pip install twine
|
|
||||||
```
|
|
||||||
|
|
||||||
- 使用 twine 上传包到 PyPI:
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
twine upload dist/*
|
|
||||||
```
|
|
||||||
|
|
||||||
需要提供 PyPI 的用户名和密码。如果没有 PyPI 账号,可以在 PyPI 注册。
|
|
||||||
|
|
||||||
#### 使用 PyPI 安装
|
|
||||||
|
|
||||||
包上传到 PyPI 后,可以通过以下命令安装:
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
pip install backdoor_buster
|
|
||||||
```
|
|
||||||
|
|
||||||
### deb
|
|
||||||
|
|
||||||
#### 命令
|
|
||||||
|
|
||||||
- 安装`stdeb`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt-get install python-stdeb
|
|
||||||
```
|
|
||||||
|
|
||||||
- 创建`debian`目录
|
|
||||||
|
|
||||||
- 编写 debian/rules 文件
|
|
||||||
|
|
||||||
```makefile
|
|
||||||
#!/usr/bin/make -f
|
|
||||||
|
|
||||||
%:
|
|
||||||
dh $@
|
|
||||||
```
|
|
||||||
|
|
||||||
- 打包
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python setup.py --command-packages=stdeb.command bdist_deb
|
|
||||||
```
|
|
||||||
|
|
||||||
- 构建DEB包
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd deb_dist
|
|
||||||
sudo dpkg -i backdoor_buster.deb
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
@ -48,13 +48,16 @@
|
|||||||
|
|
||||||
## 8. 打包
|
## 8. 打包
|
||||||
|
|
||||||
本项目支持打包作为`pip`包和`deb`包进行发布
|
本项目支持打包作为`pip`包进行发布
|
||||||
|
|
||||||
- **主要应用**:
|
- **主要应用**:
|
||||||
- `pip`通过`wheel`并自行撰写`setup.py`以及`MANIFEST.in`,将项目打包发布
|
- `pip`通过`wheel`并自行撰写`setup.py`以及`MANIFEST.in`,将项目打包发布
|
||||||
- `deb`通过`stdeb`打包
|
|
||||||
|
|
||||||
## 9. 代码和风险分析
|
## 9. 反汇编
|
||||||
|
|
||||||
|
项目通过`uncompyle6`库提供的反汇编模块可以实现对python字节码进行反汇编之后扫描危险代码
|
||||||
|
|
||||||
|
## 10. 代码和风险分析
|
||||||
|
|
||||||
项目中实现了基本的静态代码分析功能,用于识别和报告潜在的安全风险函数调用,如 `system`、`exec` 等。
|
项目中实现了基本的静态代码分析功能,用于识别和报告潜在的安全风险函数调用,如 `system`、`exec` 等。
|
||||||
|
|
||||||
|
@ -17,51 +17,6 @@ pip install -r requirements.txt
|
|||||||
- 克隆或下载后门检测系统到您的本地环境。
|
- 克隆或下载后门检测系统到您的本地环境。
|
||||||
- 确保脚本文件 (`requirements_detection.py` 和 `backdoor_detection.py`) 在您的工作目录中。
|
- 确保脚本文件 (`requirements_detection.py` 和 `backdoor_detection.py`) 在您的工作目录中。
|
||||||
|
|
||||||
## 运行依赖版本漏洞检测脚本
|
|
||||||
|
|
||||||
**命令格式**:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python requirements_detection.py <requirements_file> -o <output_file>
|
|
||||||
```
|
|
||||||
|
|
||||||
**参数说明**:
|
|
||||||
|
|
||||||
- `<requirements_file>`: 项目的 `requirements.txt` 文件路径。
|
|
||||||
- `<output_file>`: 指定输出结果的文件路径和格式,支持的格式有 `.txt`, `.md`, `.html`, `.pdf`。
|
|
||||||
|
|
||||||
**示例**:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python requirements_detection.py requirements.txt -o output/report.md
|
|
||||||
```
|
|
||||||
|
|
||||||
## 运行静态代码后门检测脚本
|
|
||||||
|
|
||||||
**命令格式**:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python backdoor_detection.py <code_path> -o <output_file> -m <mode>
|
|
||||||
```
|
|
||||||
|
|
||||||
**参数说明**:
|
|
||||||
|
|
||||||
- `<code_path>`: 代码文件或目录的路径。
|
|
||||||
- `<output_file>`: 指定输出结果的文件路径和格式,支持的格式有 `.txt`, `.md`, `.html`, `.pdf`。
|
|
||||||
- `<mode>`: 指定检测模式,目前支持的模式有 `regex` 和 `llm`。
|
|
||||||
|
|
||||||
**示例**:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python backdoor_detection.py ./src -o output/report.pdf -m regex
|
|
||||||
```
|
|
||||||
|
|
||||||
## 结果解读
|
|
||||||
|
|
||||||
- 输出结果将根据指定的格式保存在您指定的文件中。
|
|
||||||
- 结果中会标注出每个文件中发现的高风险和中风险函数调用位置。
|
|
||||||
- 对于依赖检测,结果将标明每个依赖包的安全状态,包括存在安全风险的依赖及其版本。
|
|
||||||
|
|
||||||
## 打包
|
## 打包
|
||||||
|
|
||||||
### pip
|
### pip
|
||||||
@ -113,6 +68,51 @@ twine upload dist/*
|
|||||||
pip install backdoor_buster
|
pip install backdoor_buster
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 运行依赖版本漏洞检测脚本
|
||||||
|
|
||||||
|
**命令格式**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m detection.requirements_detection <requirements_file> -o <output_file>
|
||||||
|
```
|
||||||
|
|
||||||
|
**参数说明**:
|
||||||
|
|
||||||
|
- `<requirements_file>`: 项目的 `requirements.txt` 文件路径。
|
||||||
|
- `<output_file>`: 指定输出结果的文件路径和格式,支持的格式有 `.txt`, `.md`, `.html`, `.pdf`。
|
||||||
|
|
||||||
|
**示例**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m detection.requirements_detection requirements.txt -o output/report.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## 运行静态代码后门检测脚本
|
||||||
|
|
||||||
|
**命令格式**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m detection <code_path> -o <output_file> -m <mode>
|
||||||
|
```
|
||||||
|
|
||||||
|
**参数说明**:
|
||||||
|
|
||||||
|
- `<code_path>`: 代码文件或目录的路径。
|
||||||
|
- `<output_file>`: 指定输出结果的文件路径和格式,支持的格式有 `.txt`, `.md`, `.html`, `.pdf`。
|
||||||
|
- `<mode>`: 指定检测模式,目前支持的模式有 `regex` 和 `llm`。
|
||||||
|
|
||||||
|
**示例**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m detection ./src -o output/report.pdf -m regex
|
||||||
|
```
|
||||||
|
|
||||||
|
## 结果解读
|
||||||
|
|
||||||
|
- 输出结果将根据指定的格式保存在您指定的文件中。
|
||||||
|
- 结果中会标注出每个文件中发现的高风险和中风险函数调用位置。
|
||||||
|
- 对于依赖检测,结果将标明每个依赖包的安全状态,包括存在安全风险的依赖及其版本。
|
||||||
|
|
||||||
## 常见问题处理
|
## 常见问题处理
|
||||||
|
|
||||||
- 确保所有路径都正确无误,避免因路径错误导致文件读取失败。
|
- 确保所有路径都正确无误,避免因路径错误导致文件读取失败。
|
||||||
|
Loading…
x
Reference in New Issue
Block a user