psyray/oasis

Ollama Automated Security Intelligence Scanner

OASIS – 開源自動化安全智能掃描器

是什麼 – OASIS 是一個基於 Python 的命令列工具,使用本地執行的大語言模型(LLM)來審計原始碼中的安全問題。它支援任何 Ollama 模型或任何 OpenAI 相容伺服器(vLLM、LM Studio、LocalAI 等),並產生機器可讀的 JSON 報告,以及可選的 HTML、PDF 或 Markdown 渲染版本。

如何運作 – 此工具遵循 LangGraph 協調的流程:

  1. 發現 – 遍歷提供的檔案/目錄,並按檔案或(實驗性地)按函數對原始碼進行分塊。
  2. 快速掃描 – 執行輕量級模型(可透過 --scan-model 設定)以標記潛在問題。
  3. 深度分析 – 將標記的片段輸入一個或多個大型模型(--models),以取得詳細的漏洞描述、嚴重性、可利用性判斷,以及可選的 PoC 提示。
  4. 發現驗證 – 在掃描過程中執行決定論性、程式碼驅動的驗證器,為每個發現結果附加帶置信度權重的判斷。
  5. 報告產生 – 每個發現結果以標準 JSON 物件形式寫入;工具還會產生 HTML 仪表板、PDF/Markdown 摘要,以及用於 CI 整合的 SARIF 檔案。

主要功能

  • 多模型支援 – 可將快速的「掃描」模型與強大的「深度分析」模型結合使用,或並行執行多個深度模型並合併其輸出(--report-model)。
  • 僅本地執行 – 所有 LLM 呼叫均針對本地託管的 Ollama 實例或自託管的 OpenAI 相容伺服器進行,確保原始碼與資料的私密性。
  • 互動式 Web UIoasis --web 啟動一個密碼保護的儀表板,使用者可探索發現結果、請求助理重新調查特定問題,或查看 RAG 增強的解釋。
  • 快取機制 – 嵌入與分析結果會快取至磁碟,可透過 --clear-cache-embeddings--cache-days 清除或過期。
  • CI/CD 友好 – 可在嚴重性閾值上強制退出碼(--fail-on),並提供 GitHub Actions 範例。
  • 抑制與差異對比 – 可維護一個抑制指紋的 JSON 註冊表,並將新執行與基線進行對比(--diff-against)。
  • 可擴展提示 – 可向 LLM 提示中附加自訂指令文字(--custom-instructions)。

典型工作流程

# 透過 pipx 安裝(可編輯)
pipx install -e .

# 使用小模型和大模型對專案進行兩階段掃描
oasis -i my_project/ -sm gemma3:4b -m llama3:latest

# 本地提供結果以進行互動式審查
oasis -i my_project/ -sm gemma3:4b -m llama3:latest --web

報告將出現在 security_reports/<project-slug>/ 目錄下,可直接在瀏覽器中開啟或被其他工具使用。

適合對象 – 希望在不將專有原始碼傳送至外部服務的情況下,將 AI 輔助靜態分析整合至原始碼審查流程中的開發人員、安全工程師或 DevSecOps 團隊。


TL;DR – OASIS 是一個開源、本地執行的 AI 安全掃描器,透過協調多個 LLM 來發現、驗證和報告原始碼漏洞,並配備 Web 仪表板與 CI 整合。

相關

  • 專案
  • 專案
  • 專案
  • 專案