跳至主要内容

8 篇文章 含有標籤「GitHub」

檢視所有標籤

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-15

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

GitHub SSH 存取引入後量子安全 🔒

Source: https://github.blog/engineering/platform-security/post-quantum-security-for-ssh-access-on-github/

  • GitHub 將為其 SSH 端點新增一個後量子安全 SSH 金鑰交換演算法:sntrup761x25519-sha512(或 sntrup761x25519-sha512@openssh.com)。
  • 此變更僅影響 SSH 存取,對 HTTPS 存取無影響,也不影響位於美國地區的 GitHub Enterprise Cloud 資料駐留。
  • 目的是防範未來量子電腦可能進行的「先儲存,後解密」攻擊,確保資料的長期安全。
  • 採用混合式方法,結合了 Streamlined NTRU Prime(一種新的後量子安全演算法)與經典的 Elliptic Curve Diffie-Hellman(使用 X25519 曲線),確保安全性不低於經典演算法。
  • 此演算法將於 2025 年 9 月 17 日起在 GitHub.com 和非美國地區的 GitHub Enterprise Cloud 上啟用,並將包含在 GitHub Enterprise Server 3.19 中。
  • 大多數現代 SSH 客戶端(例如 OpenSSH 9.0 或更新版本)將自動選擇新演算法,無需手動配置;舊版客戶端將回退到舊演算法。
  • 您可以透過執行 ssh -Q kex 來檢查 SSH 客戶端是否支援此演算法,並使用 ssh -v git@github.com exit 2>&1 | grep 'kex: algorithm:' 來查看連接 GitHub 時所使用的金鑰交換演算法。

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-09-09

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

🔗 如何使用 GitHub 與 JFrog 整合實現從提交到生產的安全可追溯建構

Source: https://github.blog/enterprise-software/devsecops/how-to-use-the-github-and-jfrog-integration-for-secure-traceable-builds-from-commit-to-production/

  • GitHub 與 JFrog 推出新的整合,旨在建立安全、可追溯的軟體供應鏈,將原始程式碼與經認證的二進位檔案連結。
  • 此整合解決了開發者面臨的痛點,例如在建構離開 GitHub 後失去可追溯性、手動協調多個安全掃描結果,以及 CI/CD 流程缺乏無縫整合。
  • 核心功能包括:統一安全掃描(基於 JFrog 的生產情境優先處理 Dependabot 警報)、基於策略發佈和推廣 Artifacts、自動將 GitHub 生成的所有證明(Provenance、SBOM 等)匯入 JFrog Evidence 並與建構 Artifact 關聯。
  • 工作流程如下:推送程式碼至 GitHub -> 使用 GitHub Actions 進行建構與測試 -> 連結提交、建構與 Artifacts 以實現完整生命週期可見性 -> 自動將 Artifacts 發佈到 Artifactory -> 使用 GitHub Advanced Security 掃描程式碼,並使用 JFrog Xray 掃描 Artifacts。
  • 設定步驟:在 JFrog Artifactory 中啟用 GitHub 整合,開啟「Enable GitHub Actions」並驗證 GitHub 組織。
  • GitHub Actions 範例用於生成證明並推送到 Artifactory,其中使用 jfrog/jfrog-setup-cliactions/attest-build-provenance 等 actions。
    name: Build, Test & Attest

    on:
    push:
    branches:
    - main

    env:
    OIDC_PROVIDER_NAME: [...]
    JF_URL: ${{ vars.JF_URL }}
    JF_REGISTRY: ${{ vars.JF_REGISTRY }}
    JF_DOCKER_REPO: [...]
    IMAGE_NAME: [...]
    BUILD_NAME: [...]

    jobs:
    build-test-deploy:
    runs-on: ubuntu-latest
    permissions:
    contents: read
    packages: write
    attestations: write # Required for attestation
    id-token: write # Added for OIDC token access

    steps:
    - name: Checkout code
    uses: actions/checkout@v5

    - name: Install JFrog CLI
    id: setup-jfrog-cli
    uses: jfrog/setup-jfrog-cli@v4.5.13
    env:
    JF_URL: ${{ env.JF_URL }}
    with:
    version: 2.78.8
    oidc-provider-name: ${{ env.OIDC_PROVIDER_NAME }}

    - name: Docker login
    uses: docker/login-action@v3
    with:
    registry: ${{ env.JF_REGISTRY }}
    username: ${{ steps.setup-jfrog-cli.outputs.oidc-user }}
    password: ${{ steps.setup-jfrog-cli.outputs.oidc-token }}

    - name: Set up Docker Buildx
    uses: docker/setup-buildx-action@v3

    - name: Build and push Docker image
    id: build-and-push
    uses: docker/build-push-action@v6
    with:
    context: .
    push: true
    tags: ${{ env.JF_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.run_number }}
    build-args: ${{ env.BUILD_ARGS }}

    - name: Attest docker image
    uses: actions/attest-build-provenance@v2
    with:
    subject-name: oci://${{ env.JF_REGISTRY }}/${{ env.IMAGE_NAME }}
    subject-digest: ${{ steps.build-and-push.outputs.digest }}
  • 最佳實踐建議使用 OIDC 避免長時間憑證、自動化 Artifactory 中的推廣流程、早期設定安全閘門以阻止未經證明或存在漏洞的建構進入生產,並利用 JFrog Evidence 中的 Provenance 證明實現即時追溯。

TechSummary 2025-08-28

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

🤖 GitHub Models 如何幫助開源維護者專注於核心工作

Source: https://github.blog/open-source/maintainers/how-github-models-can-help-open-source-maintainers-focus-on-what-matters/

  • 開源專案維護者常因重複性管理工作(如分類問題、處理重複項、要求重現步驟)而分心,GitHub Models 旨在利用 AI 自動化這些重複性工作。
  • 透過 GitHub Models 結合 GitHub Actions,實現「持續 AI」(Continuous AI) 模式,提供自動化工作流程,例如自動問題去重、問題完整性檢查、垃圾郵件與低品質貢獻偵測、持續解決方案以及新貢獻者引導。
  • 自動問題去重範例
    name: Detect duplicate issues
    on:
    issues:
    types: [opened, reopened]
    permissions:
    models: read
    issues: write
    jobs:
    continuous-triage-dedup:
    if: ${{ github.event.issue.user.type != 'Bot' }}
    runs-on: ubuntu-latest
    steps:
    - uses: pelikhan/action-genai-issue-dedup@v0
    with:
    github_token: ${{ secrets.GITHUB_TOKEN }}
    # Optional tuning:
    # labels: "auto" # compare within matching labels, or "bug,api"
    # count: "20" # how many recent issues to check
    # since: "90d" # look back window, supports d/w/m
  • 問題完整性檢查範例
    name: Issue Completeness Check
    on:
    issues:
    types: [opened]
    permissions:
    issues: write
    models: read
    jobs:
    check-completeness:
    runs-on: ubuntu-latest
    steps:
    - name: Check issue completeness
    uses: actions/ai-inference@v1
    id: ai
    with:
    prompt: |
    Analyze this GitHub issue for completeness. If missing reproduction steps, version info, or expected/actual behavior, respond with a friendly request for the missing info. If complete, say so.

    Title: ${{ github.event.issue.title }}
    Body: ${{ github.event.issue.body }}
    system-prompt: You are a helpful assistant that helps analyze GitHub issues for completeness.
    model: openai/gpt-4o-mini
    temperature: 0.2
    - name: Comment on issue
    if: steps.ai.outputs.response != ''
    uses: actions/github-script@v7
    with:
    script: |
    github.rest.issues.createComment({
    owner: context.repo.owner,
    repo: context.repo.repo,
    issue_number: ${{ github.event.issue.number }},
    body: `${{ steps.ai.outputs.response }}`
    })
  • 建議維護者從一個工作流程開始,逐步擴展,並監控結果、根據專案語氣調整 AI 提示。

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-11

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

🔗 大規模保障供應鏈安全:從 71 個重要開源專案做起

Source: https://github.blog/open-source/maintainers/securing-the-supply-chain-at-scale-starting-with-71-important-open-source-projects/

  • Log4j 零日漏洞事件後,凸顯了開源庫安全性對整個軟體供應鏈的巨大影響,促使 GitHub 於 2024 年 11 月啟動「GitHub 安全開源基金」(GitHub Secure Open Source Fund)。
  • 該基金為維護者提供資金支援,參與為期三週的專案,內容包含安全教育、導師指導、工具、認證及安全意識社群等,旨在提升安全影響力、降低風險,並大規模保護軟體供應鏈。
  • 前兩期專案已集合來自 71 個重要開源專案的 125 位維護者,取得了顯著成果:
    • 修復了 1,100 多個由 CodeQL 檢測到的漏洞。
    • 發布了 50 多個新的常見漏洞與暴露(CVE),保護下游依賴項。
    • 阻止了 92 個新機密洩漏,並檢測和解決了 176 個已洩漏的機密。
    • 80% 的專案啟用了三個或更多基於 GitHub 的安全功能,63% 的專案表示對 AI 和 MCP 安全有更好理解。
    • 維護者利用 GitHub Copilot 進行漏洞掃描、安全審計、定義和實施模糊測試策略等。
  • 專案涵蓋了 AI/ML 框架(如 Ollama, AutoGPT)、前端/全端框架(如 Next.js, shadcn/ui)、Web 伺服器/網路/閘道(如 Node.js)、DevOps/建置工具(如 Turborepo)、安全框架/身份/合規工具(如 Log4j)、以及開發者工具/CLI 助手(如 Charset-Normalizer, nvm, JUnit)等多個關鍵領域。
  • 該計劃的成功關鍵在於:資金支援結合時間限制的專注訓練、互動式編碼經驗以及建立一個以安全為重點的社群,促進了維護者之間的快速交流與協作。

TechSummary 2025-07-16

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

GitHub 6月服務中斷回報 🚧

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

  • 6月發生三次服務事件影響GitHub服務,造成性能下降。
  • 5日Actions服務超載,延遲啟動且失敗,影響Copilot和Pages部署,問題由內部請求限制配置錯誤造成,已修正。
  • 12日Copilot模型服務中斷,部分模型不可用或延遲,源自模型供應商故障,已透過禁用端點來降低影響,改善偵測和解決流程。
  • 17日網路路由政策部署導致部分系統連線中斷,部分請求錯誤率高,部署已回滾,將擴展路由變更審查流程。
  • 來源頁面會提供最新狀態及事故回顧,並持續提升監控預警能力。