跳过内容

如何在本地运行 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/masvsOWASP/maswe

步骤 2:在 vscode 中打开 OWASP MASTG 仓库

在你的终端中运行以下命令

cd mastg
code .

步骤 3:安装 Python 依赖

强烈建议使用虚拟环境 (venv) 来管理依赖项,并避免与其他 Python 项目发生冲突。

使用 vscode 的 命令面板(在 macOS 上按 ⌘+Shift+P 或在 Windows/Linux 上按 Ctrl+Shift+P

  1. 创建一个 venv
    • ⌘+Shift+P -> Python: 创建环境
    • 选择 "快速创建"
  2. 选择 venv 作为 Python 解释器
    • ⌘+Shift+P -> Python: 选择解释器
    • 选择你刚刚创建的 venv。
  3. 安装依赖项
  4. ⌘+j 打开终端
  5. 运行 pip install -r src/scripts/requirements.txt

步骤 4:运行网站

在终端中运行以下命令

./run_web.sh

该脚本只是运行带有附加参数的 mkdocs serve。 在代码编辑器中打开脚本以获取更多信息。

https://:8000 访问该网站。

步骤 5:调试网站

要调试网站

  • 转到 vscode 中的 运行和调试(或在 macOS 上按 ⌘+Shift+D
  • 选择 Python: MkDocs Serve
  • 单击绿色播放按钮开始调试
  • 根据需要在代码中设置断点