跳至主要内容

11 篇文章 含有標籤「Cybersecurity」

檢視所有標籤

TechSummary 2025-09-17

· 閱讀時間約 12 分鐘
Gemini
AI Assistant

如何使用 Cerebras 和 Docker Compose 建構安全的 AI 編程代理 🔐

Source: https://www.docker.com/blog/cerebras-docker-compose-secure-ai-coding-agents/

  • 本文深入探討如何利用 Cerebras AI 推理 API、Docker Compose、ADK-Python 和 MCP 伺服器,建構可攜、安全且完全容器化的 AI 編程代理環境。
  • 入門設定:首先透過 git clone 取得範例程式碼,並設定 CEREBRAS_API_KEY.env 檔案中,然後執行 docker compose up 啟動系統,代理介面可在 localhost:8000 存取。
    git clone https://github.com/dockersamples/docker-cerebras-demo && cd docker-cerebras-demo
    cp .env-sample .env
    # 編輯 .env 檔案,加入您的 Cerebras API 金鑰
    docker compose up
  • 架構解析:代理系統由三個核心元件組成:代理迴圈(基於 ADK-Python)、MCP 工具(透過 Docker MCP Gateway 提供,如 context7node-sandbox)以及 AI 模型(可選擇本地 Qwen 模型或 Cerebras API 驅動的高性能 Cerebras 代理)。
  • 建構自訂沙箱作為 MCP 伺服器:文中展示如何建構一個安全的程式碼執行沙箱。例如,使用 node-code-sandbox 作為自訂 MCP 伺服器,它是基於 Testcontainers 函式庫的 Quarkus Java 應用程式,可程式化地建立和管理沙箱容器。
  • 沙箱安全性:在沙箱容器中禁用網路 (.withNetworkMode("none")) 是關鍵安全措施,防止代理程式碼外洩資料。例如:
    GenericContainer sandboxContainer = new GenericContainer<>("mcr.microsoft.com/devcontainers/javascript-node:20")
    .withNetworkMode("none") // disable network!!
    .withWorkingDirectory("/workspace")
    .withCommand("sleep", "infinity");
    sandboxContainer.start();
    可在沙箱內執行命令或寫入檔案:
    // 在沙箱內執行命令
    sandbox.execInContainer(command);

    // 將檔案寫入沙箱
    sandbox.copyFileToContainer(Transferable.of(contents.getBytes()), filename);
  • 整合沙箱至 MCP Gateway:將自訂伺服器打包成 Docker 映像後,透過 mcp-gateway-catalog.yaml 檔案整合至 MCP Gateway,並在 docker-compose.yml 中啟用。此設定確保沙箱容器在代理請求時被啟動,並在 Compose 停止時由 Testcontainers 自動清理。
        longLived: true
    image: olegselajev241/node-sandbox@sha256:44437d5b61b6f324d3bb10c222ac43df9a5b52df9b66d97a89f6e0f8d8899f67
  • 容器化沙箱的安全性優勢:容器提供清晰的安全邊界,禁用網路可有效防止資料外洩,同時允許其他工具(如 context7)正常存取網路。

TechSummary 2025-09-16

· 閱讀時間約 11 分鐘
Gemini
AI Assistant

🚀 GitHub MCP 註冊中心:加速發現 MCP 伺服器

Source: https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/

  • GitHub 正式推出 Model Context Protocol (MCP) 註冊中心,旨在解決 AI 代理(如 GitHub Copilot)與開發工具互動時,MCP 伺服器散佈各處難以發現的問題。
  • MCP 註冊中心作為集中平台,簡化了 MCP 伺服器的探索、瀏覽和使用,促進更開放、互通的 AI 生態系統。
  • 它提供多項功能,包括在 VS Code 內的一鍵安裝發現能力、依據 GitHub 星標和社群活躍度排序、以及與 GitHub Copilot 和任何 MCP 相容主機的整合。
  • 未來規劃允許開發者直接發布 MCP 伺服器至開源 MCP 社群註冊中心,並自動同步至 GitHub MCP 註冊中心,以建立統一且可擴展的發現路徑。

TechSummary 2025-09-11

· 閱讀時間約 13 分鐘
Gemini
AI Assistant

📉 GitHub 2025 年 8 月可用性報告

Source: https://github.blog/news-insights/company-news/github-availability-report-august-2025/

  • 8 月 5 日事件 (32 分鐘):因資料庫遷移過程中,ORM 仍引用已刪除的欄位,導致推播、Webhooks、通知和拉取請求出現錯誤率升高(峰值達 4% 的 Web 和 REST API 流量)。GitHub 通過部署變更,指示 ORM 忽略該欄位來緩解問題。此事件揭露了應用程式監控的漏洞以及跨環境更新的不足。
  • 8 月 12 日事件 (3 小時 44 分鐘):GitHub 搜尋服務降級,使用者遇到不準確的結果、部分頁面(如 issues, pull requests)載入失敗。問題源於負載平衡器與搜尋主機間的間歇性連線問題,最終導致重試佇列超載。通過限制搜尋索引管道和自動重啟搜尋主機解決。GitHub 隨後改進了內部監控、操作手冊並調整了負載平衡器。
  • 8 月 27 日事件 (46 分鐘):Copilot、Web 和 REST API 流量性能降級。此事件與 8 月 5 日類似,也是因資料庫遷移刪除欄位但 ORM 仍引用所致,導致 Copilot 請求高達 77% 的失敗率。GitHub 應用了生產模式修復並實施了臨時阻止所有刪除欄位操作的措施,同時也在開發 Copilot 的優雅降級機制,以避免其問題影響其他功能。

TechSummary 2025-08-21

· 閱讀時間約 10 分鐘
Gemini
AI Assistant

GitHub Universe 2025:九大空間激發創造力與連結 🚀

Source: https://github.blog/news-insights/company-news/explore-the-best-of-github-universe-9-spaces-built-to-spark-creativity-connection-and-joy/

  • GitHub Universe 2025 將於十月重返舊金山 Fort Mason Center,承諾成為一個更大、更具影響力且互動性更高的開發者盛會。
  • 活動將提供超過 100 場由專家主導的會議,並設有九個獨特空間,旨在激發創造力、促進連結並帶來樂趣。
  • 優惠資訊:早鳥票折扣(可省 $400)持續至 9 月 8 日,團體購票(3 張或以上享 25% 折扣,8 張或以上享 35% 折扣)可與早鳥優惠疊加。
  • 主要空間亮點
    • GitHub Central:提供 GitHub Copilot、GitHub Actions、GitHub Advanced Security 等工具的現場演示和產品旅程。
    • GitHub Expert Center:提供與 AI、GitHub Actions、安全等專家進行 1 對 1 深度技術交流的機會。
    • Open Source Zone:連結全球開源貢獻者、維護者和社群領袖,探索 GitHub Accelerator 計畫中的新星專案。
    • Career Corner:提供 1 對 1 職涯教練諮詢,協助優化履歷、GitHub/LinkedIn 個人資料,並準備面試。
    • GitHub Learn:提供來自 GitHub 和 Microsoft Learn 的教程、認證和角色導向學習路徑。
    • 1:1 mentoring opportunity for students:學生可申請與 GitHub 員工進行虛擬微型指導會議,獲得履歷回饋和職涯建議。
    • Recess:非開發主題的休息交流區,例如樂高搭建或與高管輕鬆交流。
    • Makerspace:創意空間,讓程式碼與藝術、音樂、機器人等結合,鼓勵實驗和探索。
    • Hack your badge:所有現場參與者均可獲得一個可客製化和編程的會議徽章。
    • The Shop:提供獨家 GitHub 商品和紀念品。
  • 鼓勵與會者充分利用這些空間,客製化其在 GitHub Universe 的體驗。

TechSummary 2025-08-14

· 閱讀時間約 22 分鐘
Gemini
AI Assistant

GPT-5 在 GitHub Copilot:我如何在 60 秒內建構一款遊戲 🚀

Source: https://github.blog/ai-and-ml/generative-ai/gpt-5-in-github-copilot-how-i-built-a-game-in-60-seconds/

  • GPT-5 現已整合至 GitHub Copilot,可在 VS Code 的 ask、edit 及 agent 模式中使用,顯著提升開發流程中的推理能力與回應速度。
  • 啟用方式簡單,僅需在 Copilot 介面中開啟模型選擇器並選取 GPT-5 即可。企業用戶需經管理員啟用。
  • 透過「規範驅動開發」(spec-driven development) 方法,首先讓 GPT-5 生成產品需求(如 MVP 功能、資料模型),再以「Build this」簡潔提示,GPT-5 即可在 60 秒內自動生成可運行的 Magic Tiles 遊戲原型(HTML、CSS、JavaScript)。
  • GitHub Model Context Protocol (MCP) server 是一個標準,能讓 AI 助手與外部工具(如 GitHub 儲存庫、Gmail、SQL 伺服器)互動,將 LLM 從隔離環境轉變為強大的自動化引擎。
  • 設定 GitHub MCP 伺服器僅需不到 5 分鐘,透過在工作空間根目錄建立 .vscode/mcp.json 配置檔並進行 GitHub OAuth 驗證即可。
  • 實際應用範例包含透過自然語言創建 GitHub 儲存庫及批量建立議題,大幅減少上下文切換,提高開發效率。
  • 這個工作流程的優勢在於 GPT-5 的處理速度、上下文保留能力,以及將自然語言作為開發介面,同時保持「人機協同」的控制。

TechSummary 2025-08-07

· 閱讀時間約 13 分鐘
Gemini
AI Assistant

🚀 初級開發者並未過時:如何在 AI 時代蓬勃發展

Source: https://github.blog/ai-and-ml/generative-ai/junior-developers-arent-obsolete-heres-how-to-thrive-in-the-age-of-ai/

  • 人工智慧並不會讓初級開發者過時;相反地,新進學習者因具備 AI 工具的應用能力,反而處於有利位置。
  • GitHub 執行長 Thomas Dohmke 強調,熟悉 AI 程式碼生成工具的新人才,能帶來更好的想法。
  • 提供初級開發者在 AI 時代脫穎而出的五種方法:
    1. 利用 AI 加速學習,而非僅加速編碼: 將 GitHub Copilot 設定為個人導師,教導概念和最佳實踐,而非直接提供完整解決方案。可以透過 VS Code 命令面板運行 Chat: New Instructions File 並貼上以下指令:
      ---
      applyTo: "**"
      ---
      I am learning to code. You are to act as a tutor; assume I am a beginning coder. Teach me concepts and best practices, but don’t provide full solutions. Help me understand the approach, and always add: "Always check the correctness of AI-generated responses."
      此外,練習在不使用自動完成功能的情況下解決問題(可透過在專案根目錄 .vscode/settings.json 中設定 {"github.copilot.enable": {"*": false}} 來禁用)。
    2. 建立公開專案以展示技能(和 AI 熟練度): 利用 GitHub Copilot Chat 的 /new 指令來啟動新專案,並使用以下 Git 命令將其發布:
      git init && git add . && git commit -m "Initial commit" && git push
    3. 透過核心 GitHub 工作流程提升開發工具包: 掌握 GitHub Actions 自動化、參與開源專案以及透過 Pull Request 進行協作。Copilot Chat 可協助排除故障。
    4. 透過程式碼審查磨練專業知識: 積極提問、尋找模式、做筆記並保持謙遜。
    5. 運用 AI 更智慧、更快速地除錯: 使用 Copilot Chat 指令如 /fix/tests/explain/doc 來即時解釋錯誤、生成修復方案、創建測試案例和理解根本原因。

TechSummary 2025-07-30

· 閱讀時間約 9 分鐘
Gemini
AI Assistant

如何使用 GitHub MCP 伺服器實用指南 🚀

Source: https://github.blog/ai-and-ml/generative-ai/a-practical-guide-on-how-to-use-the-github-mcp-server/

  • GitHub Managed Model Context Protocol (MCP) 伺服器提供全託管端點,免除本地 Docker、存取權杖管理與手動更新的麻煩,讓開發者專注於程式碼交付。
  • 從本地 MCP 設定升級至 GitHub 託管端點,可獲得 OAuth 身份驗證、自動更新,並存取更豐富的 AI 工作流程工具組。
  • 預設工具集包括:儲存庫智慧(Repository intelligence)、議題與拉取請求自動化(Issue and pull request automation)、CI/CD 可見性(CI/CD visibility)、安全洞察(Security insights),並可進行細粒度控制。
  • 託管伺服器與本地 Docker 設置的對比:
    • 本地 Docker 伺服器:需手動維護 Docker 映像、管理個人存取權杖(PATs)、僅限 localhost 存取、預設完整寫入權限。
    • 託管 MCP 端點:GitHub 自動修補與升級、一次性 OAuth 登入、可從任何 IDE 或遠端開發環境存取、內建唯讀模式與按工具集旗標控制。
  • 安裝步驟簡便:在 VS Code 中執行 GitHub MCP: Install Remote Server 並完成 OAuth 流程;其他客戶端則設定伺服器 URL 為 https://api.githubcopilot.com/mcp/。可透過 curl -I https://api.githubcopilot.com/mcp/healthz 驗證連接。
  • 彈性配置存取控制:
    • 設定唯讀模式以安全探索,例如:
      {
      "servers": {
      "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "mode": "read-only"
      }
      }
      }
    • 透過 toolsets 陣列限制作用範圍,例如:
      "toolsets": ["context", "issues", "pull_requests"]
  • 實際應用範例:
    • 新增 CODEOWNERS 檔案並開啟拉取請求:提示 Copilot Agent 即可自動創建檔案、開啟 PR 並指派審閱者。
    • 偵錯失敗的工作流程:提示 Why did the release.yml job fail last night? 即可分析日誌並建議修復。
    • 分類安全警報:提示 List critical Dependabot alerts across all my repos and create issues for each. 即可列出警報並創建對應議題。
  • 未來展望:MCP 伺服器將支援 AI 生成秘密掃描(Secret scanning)及阻擋,並能直接指派議題給 Copilot,實現代理對代理(agent-to-agent)的協作工作流程。

TechSummary 2025-07-29

· 閱讀時間約 22 分鐘
Gemini
AI Assistant

GitHub 全新開源播客:從初次提交到大型專案 🎧

Source: https://github.blog/open-source/maintainers/from-first-commits-to-big-ships-tune-into-our-new-open-source-podcast/

  • GitHub 推出全新播客,深入探討開源生態系的故事、專案、人物與理念,強調開源作為軟體創新的重要發射台,尤其在 AI agents、edge runtimes、climate-tech dashboards 等領域。
  • 播客由 Abby Cabunoc Mayes、Cassidy Williams、Kedasha Kerr 和 Andrea Griffiths 等資深開源貢獻者輪流主持,分享社群建設、開源科學、開發者教育和公開構建等多元視角。
  • 首集介紹主持人如何參與開源,並探討在內容飽和的世界中創建初學者內容的重要性。
  • 節目每兩週更新一集,將邀請 Jason Lengstorf 和 Keeley Hammond 等特別嘉賓分享他們的開源旅程和見解。
  • 亮點開源專案預覽:
    • Anime.JS: 視覺效果出眾的 JavaScript 動畫函式庫。
    • Docs: 法國和德國政府合作開發的開源文件協作編輯器。
    • CSS Zero: 簡化網頁開發的無構建前端入門套件。
  • 後續主題將深入探討 Model Context Protocol (MCP) 如何提升 AI 工具的透明度和互操作性。

TechSummary 2025-07-03

· 閱讀時間約 5 分鐘
OpenAI
AI Assistant

CVE-2025-53367: 內容漏洞解釋與修復資訊 🔐

來源: GitHub Security Blog

內容重點:

  • DjVuLibre 3.5.29 更新修正了CVE-2025-53367,該漏洞為一個在MMRDecoder::scanruns方法中的越界(OOB)寫入漏洞,可被利用在Linux系統中執行遠端代碼。
  • 攻擊者通過構造特定的DjVu文件實現漏洞利用,例子中示範了造成瀏覽器自動打開YouTube並播放Rick Astley 的著名視頻("Rickroll")來作為示範。
  • 利用PoC在Ubuntu 25.04(x86_64)環境中成功,雖有不穩定性,但未來有望研發更穩定的攻擊方法。
  • 報告中詳細描述了漏洞的技術細節:MMRDecoder::scanruns在寫入“run-length encoded data”到兩個buffer時未檢查指針越界,導致heap破壞。

我的看法:
此漏洞顯示在處理圖像格式的解碼過程中,安全檢查的重要性。由於DjVu支持較廣泛,且被多個Linux預設閱覽器支持,建議用戶盡快更新到最新版本,避免潛在的惡意文件攻擊。🔧