本文介紹如何在 Ubuntu Linux 中使用 PentAGI 搭配本地端 Ollama 框架與 Qwen 模型,讓 AI 進行自動化滲透測試。
PentAGI 是一套開源的全自主 AI 滲透測試平台,採用多智能體(Multi-Agent)協作架構,整合了 Nmap、Metasploit、Sqlmap 等 20 多種資訊安全工具,能在隔離的 Docker 沙箱環境中自動執行資訊收集、漏洞掃描、攻擊驗證與報告生成。
開始安裝之前,請先參考 Ubuntu Linux 安裝與設定 NVIDIA GPU 與 Docker 環境,安裝 NVIDIA 與 Docker 環境,並設定讓 GPU 可在 Docker 容器內運行。
安裝 Ollama
LLM 的服務框架我們選擇最簡單的 Ollama,參考 Ollama 的官方文件,安裝 Ollama:
# 安裝 Ollama
curl -fsSL https://ollama.com/install.sh | sh
安裝完成後,查看一下 Ollama 服務,確認它有正常啟動:
# 查看 Ollama 服務狀態
systemctl status ollama
更改 Ollama 傾聽 IP 位址
Ollama 服務預設會傾聽 127.0.0.1 這個本機的 IP 位址,如果要讓 Docker 裡面的 PentAGI 也可以存取 Ollama,可以修改 /etc/systemd/system/ollama.service 設定檔,加上一行設定讓 Ollama 傾聽所有網路介面:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
修改完設定檔之後,重新啟動 Ollama 系統服務:
# 重新載入設定檔
systemctl daemon-reload
# 重新啟動 Ollama
systemctl restart ollama
下載與布署 Qwen3.8 模型:
# 下載 qwen3.8:27b 模型
ollama pull qwen3.8:27b
# 下載 qwen3-embedding:8b 模型
ollama pull qwen3-embedding:8b
安裝 PentAGI
PentAGI 本身只是一個用 Docker Compose 包裝好的專案,在使用 PentAGI 之前要進行一些系統的設定,可以利用它提供的 installer 設定工具,對於初次使用 PentAGI 的人,此工具可以快速釐清有哪一些設定需要寫:
# 建立 PentAGI 專用目錄
mkdir -p pentagi && cd pentagi
# 下載並解壓縮 PentAGI
wget -O installer.zip https://pentagi.com/downloads/linux/amd64/installer-latest.zip
unzip installer.zip
# 進行設定
./installer
PentAGI 可以調整的選項非常多,其中 Ollama 與 Embedding 的部份是一定要設定的,請參考下方 .env 的內容來進行設定,設定好之後 installer 會自動產生 .env 這個檔案,比較重要的內容如下:
# Ollama 伺服器 URL(必要)
OLLAMA_SERVER_URL=http://host.docker.internal:11434
# Ollama 使用的 LLM 模型(必要)
OLLAMA_SERVER_MODEL=qwen3.8:27b
# Ollama 自動下載模型
OLLAMA_SERVER_PULL_MODELS_ENABLED=true
# Embedding 伺服器 URL(必要)
EMBEDDING_URL=http://host.docker.internal:11434
# Embedding 模型(必要)
EMBEDDING_MODEL=qwen3-embedding:8b
# Embedding 模型由 Ollama 提供
EMBEDDING_PROVIDER=ollama
installer 在設定完成後會產生 docker-compose.yml 設定檔,並自動呼叫 Docker Compose 將服務啟動,但我們需要再進行一些調整,所以先手動停止 PentAGI 的 Docker Compose:
# 停止 PentAGI
docker compose down -v
編輯 docker-compose.yml 設定檔,在 pentagi 之下加上 extra_hosts 的設定,讓 Docker 容器內部可以連到外面的 Ollama 伺服器,同時加上 CVE-2021-3129 靶機的 Docker 容器:
services:
pentagi:
# ...
# 讓 Docker 容器內部可以連到外面的 Ollama 伺服器
extra_hosts:
- host.docker.internal:host-gateway
# ...
# CVE-2021-3129 靶機
vulhost:
image: vulhub/laravel:8.4.2
設定完成後,就可以用一個 Docker Compose 啟動 PentAGI 與靶機,進行滲透測試了:
# 啟動 PentAGI 與靶機
docker compose up -d
PentAGI 啟動之後,會將網頁操作介面開在 http://localhost:8443/,使用瀏覽器打開之後,即可使用,預設帳號與密碼如下:
預設帳號:[email protected]
預設密碼:admin
接著對 CVE-2021-3129 靶機進行滲透測試,新增一條 flow,輸入以下提示詞:
對 http://vulhost/ 進行滲透測試
這樣 PentAGI 就會自動對靶機進行滲透測試了。

PentAGI 自動進行滲透測試
待處理事項
PentAGI 還有非常多的功能我尚未釐清,待未來有時間再繼續補:
- 根據不同 agent 需求設定不同的 LLM 模型,範例可參考 ollama-llama318b.provider.yml 或同目錄下的其他 YAML 設定檔。
- 將 Ollama 改為 vLLM,可增加效能,可參考 GitHub 的文件。
- 嘗試 PentAGI 建議的本地端模型,例如
llama3.1:8b-instruct-q8_0。 - 讓 Ollama 傾聽所有網路介面,會有安全性問題,若在正式環境則必須重新設計架構。
- 靶機目前寫死在 Docker Compose 設定檔,可考慮動態加入的方式。
