iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
Modern Web

AI 驅動的 Web 資安新時代系列 第 25

Day25 - AI Agent 在資安合規(OWASP、ISO、GDPR)中的角色

  • 分享至 

  • xImage
  •  

在現代企業中,資安合規(Security Compliance) 已成為與防禦技術同等重要的一環。

無論是 OWASP Top 10(應用層漏洞指南)、ISO 27001(資訊安全管理系統),或是 GDPR(個資保護法規),這些標準都要求組織建立「可持續監控、可稽核、可改善」的安全流程。

然而現實挑戰包括:

  • 合規報告費時且需要人工整理
  • 稽核過程繁瑣複雜
  • 跨標準對應(如 ISO 與 GDPR 條文間的關聯)難以自動化

為解決這些問題,我們將 AI Agent 導入「合規自動化」領域,

使 AI 能夠協助完成:

條文對應 → 稽核分析 → 報告生成 → 改進建議


工作流程

  1. Collector
    • 從雲端設定、系統日誌、API 結果收集安全事件。
    • 範例:AWS Config、Wazuh、Suricata。
  2. Analyzer
    • 比對 OWASP Top10、ISO 27001 控制項、GDPR 條文。
    • 利用自然語言分析:事件是否違反某合規要求?
  3. Reporter
    • 自動生成「合規差距報告(Gap Report)」。
    • 提出補救建議與優先排序。
  4. Audit
    • 可定期執行自動稽核,輸出管理報表(PDF / JSON)。

Server - 模擬稽核 API

這部分是「模擬稽核 API」,提供假資料給 AI 使用

1、初始化伺服器

使用 express 建立一個簡單的 HTTP 伺服器

import express from "express";
const app = express();

2、建立假稽核結果 API

這個 API 回傳一組模擬的合規稽核結果,包含三條不同框架(OWASP、ISO、GDPR)的問題,方便之後 AI 進行分析。

app.get("/api/audit/result", (req, res) => {
   res.json({
      project: "WebApp Demo",
      issues: [
         { rule: "OWASP-A01", desc: "Injection detected in login API", level: "High" },
         { rule: "ISO-27001 A.12.6.1", desc: "No patch management process", level: "Medium" },
         { rule: "GDPR Art.32", desc: "User data not encrypted at rest", level: "High" },
      ],
   });
});

3、啟動伺服器

啟動伺服器在 3000 port,執行後會顯示「伺服器啟動」訊息。

app.listen(3000, () => console.log("伺服器啟動: http://localhost:3000"));

Agent - AI 合規分析

這部分是 AI Agent,會呼叫伺服器 API 並請 Gemini 分析。

1、初始化 AI 模型

  • node-fetch:用來呼叫本地 API。
  • dotenv:載入 .env 中的金鑰(GEMINI_API_KEY)。
  • GoogleGenerativeAI:Google 提供的 Gemini SDK。
import fetch from "node-fetch";
import dotenv from "dotenv";
import { GoogleGenerativeAI } from "@google/generative-ai";

dotenv.config();
const API_KEY = process.env.GEMINI_API_KEY;
const genAI = new GoogleGenerativeAI(API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-2.5-flash" });

2、呼叫稽核 API 並生成報告

  • 透過 fetch() 呼叫本地的模擬 API,取得稽核結果(JSON 格式)。
  • data 會包含多條合規問題,例如 OWASP、ISO、GDPR 條文。
async function analyzeCompliance() {
   const res = await fetch("http://localhost:3000/api/audit/result");
   const data = await res.json();

3、建立提示(Prompt)

這段是給 AI 的指令,將稽核結果轉成自然語言輸入,請 AI 根據合規框架產出報告與修補建議。

 const prompt = `
 你是一位資安合規顧問,請根據以下稽核結果:
 ${JSON.stringify(data, null, 2)}

 請輸出:
 1️合規對照表(OWASP、ISO、GDPR)
 2️風險分級(高 / 中 / 低)
 3️修補與改善建議
 4️管理摘要(以表格呈現 Top 風險與法規對應)
 `;

4、取得 AI 回覆並輸出

  • 呼叫 generateContent() 產生 AI 回覆
  • console.log() 輸出完整報告到終端機
   const result = await model.generateContent(prompt);
   console.log(result.response.text());
}

analyzeCompliance();

上一篇
Day24 - 雲端資安:AI Agent 偵測雲端配置錯誤(AWS、GCP、Azure)
下一篇
Day26 - 情資融合:AI Agent 即時分析威脅情資與網路流量
系列文
AI 驅動的 Web 資安新時代29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言