如何在本地运行 OWASP MAS 网站¶
本指南将帮助你在本地机器上设置和运行 OWASP MAS 网站。按照以下步骤开始。
使用 Docker¶
运行网站的最简单方法是使用 Docker。
git clone https://github.com/OWASP/mastg.git
cd mastg
docker build . -t mastg
docker run --name mastg -it --rm -p 8000:8000 -u $(id -u):$(id -g) -v $(pwd):/workspaces/mastg mastg
这将使网站在 https://:8000
上可用。 默认情况下,与 Github API 的交互被禁用,这意味着某些动态检索的内容将不可用。 如果你想启用 Github API,创建一个个人访问令牌并将其导出为环境变量。 确保 docker 可以通过使用 -e GITHUB_TOKEN
访问令牌
export GITHUB_TOKEN=<TOKEN>
docker run --name mastg -it --rm -p 8000:8000 -u $(id -u):$(id -g) -e GITHUB_TOKEN -v $(pwd):/workspaces/mastg mastg
不使用 Docker¶
高级用户的 TLDR
- 克隆 MASTG、MASVS 和 MASWE 仓库
- 设置虚拟环境
- 从
src/scripts/requirements.txt
安装依赖项- 将你的令牌添加为环境变量:
export GITHUB_TOKEN=<TOKEN>
- 使用
./run_web.sh
运行网站
准备工作¶
在运行网站之前,请确保你的系统上已安装以下组件
- Python 3.8 或更高版本
- pip (Python 包管理器)
- Git
- Visual Studio Code (vscode)
在 Github 上创建一个个人访问令牌,并将此令牌导出为环境变量(例如,在你的 .zshrc 文件中)
export GITHUB_TOKEN=<TOKEN>
或者,你可以将你的令牌添加到 run_web.sh
脚本中。 在代码编辑器中打开脚本以获取更多信息。
步骤 1:克隆 OWASP MAS 仓库¶
在你的终端中运行以下命令
git clone https://github.com/OWASP/mastg.git
git clone https://github.com/OWASP/masvs.git
git clone https://github.com/OWASP/maswe.git
注意: 我们将只使用 OWASP/mastg
仓库,但网站的运行需要 OWASP/masvs
和 OWASP/maswe
。
步骤 2:在 vscode 中打开 OWASP MASTG 仓库¶
在你的终端中运行以下命令
cd mastg
code .
步骤 3:安装 Python 依赖¶
强烈建议使用虚拟环境 (venv) 来管理依赖项,并避免与其他 Python 项目发生冲突。
使用 vscode 的 命令面板
(在 macOS 上按 ⌘+Shift+P
或在 Windows/Linux 上按 Ctrl+Shift+P
)
- 创建一个 venv
- 按
⌘+Shift+P
->Python: 创建环境
- 选择
"快速创建"
- 按
- 选择 venv 作为 Python 解释器
- 按
⌘+Shift+P
->Python: 选择解释器
- 选择你刚刚创建的 venv。
- 按
- 安装依赖项
- 按
⌘+j
打开终端 - 运行
pip install -r src/scripts/requirements.txt
步骤 4:运行网站¶
在终端中运行以下命令
./run_web.sh
该脚本只是运行带有附加参数的 mkdocs serve
。 在代码编辑器中打开脚本以获取更多信息。
在 https://:8000 访问该网站。
步骤 5:调试网站¶
要调试网站
- 转到 vscode 中的
运行和调试
(或在 macOS 上按⌘+Shift+D
) - 选择
Python: MkDocs Serve
- 单击绿色播放按钮开始调试
- 根据需要在代码中设置断点