
claude-obsidian 發布審計機制完整指南不解壓、不發布也能審計 ZIP 工件【免費下載鏈接】claude-obsidianSelf-organizing AI second brain for Obsidian Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathys LLM Wiki pattern.項目地址: https://gitcode.com/GitHub_Trending/cl/claude-obsidianclaude-obsidian是一個基于 Obsidian Claude Code 的自組織 AI 第二大腦丟入任意資料Claude 會自動閱讀、建立鏈接、歸檔成一張由純 Markdown 構成的互聯知識圖譜完全歸你所有。而它同樣內置了一套發布審計機制——不用解壓、不執行任何發布動作一條命令就能在內存中完成 ZIP 工件的安全審計并輸出結構化的通過/失敗報告。本文帶你弄懂這套零解壓審計如何工作、又該怎么上手。什么是 claude-obsidianAI 第二大腦 知識圖譜claude-obsidian 把散落的筆記、文章、資料自動整理進一個 Obsidian 倉庫并生成可視化圖譜。所有知識以純 Markdown 存儲你隨時可以打開、修改、帶走不依賴任何閉源服務。對個人用戶來說數據私有是剛需對維護者來說把什么交給用戶同樣關鍵——這正是發布審計機制登場的地方。為什么要先審計后發布把一份 ZIP 發布出去不等于解壓出來翻一遍文件就算安全。錯誤文件、密鑰殘留、個人郵箱、私有倉庫路徑都可能藏在幾百個文件之中。claude-obsidian 的發布模塊 claude_obsidian/release.py 在設計上就刻意不具備任何發布和 Git 變更能力構建流程只負責讀取干凈的工作樹、按白名單選取文件、掃描內容、寫出確定性 ZIP然后審計這份 ZIP全部通過才讓它出現在輸出路徑上。核心入口是 audit_artifact() 函數它的文檔注釋寫得非常直白Audit an artifact without extracting it or trusting archive paths——不解壓、不信任歸檔路徑。任何無效或危險的工件都會返回ok: false加穩定的錯誤碼調用方無需處理異常。內存中的四步審計流程整個過程只把 ZIP 讀入內存且全程限制大小絕不落盤解壓。第 1 步結構預檢拒絕非標準壓縮包在解析歸檔之前_preflight_zip_structure() 先檢查 ZIP 結構本身拒絕自解壓、多卷、ZIP64 等非標準格式校驗中央目錄邊界是否一致、有無隱藏間隙只接受 stored不壓縮條目逐條計算壓縮比識別壓縮炸彈條目數、單文件大小、總大小都有硬性上限默認 100MB 歸檔 / 50MB 總載荷 / 5000 個文件見 DEFAULT_LIMITS第 2 步路徑與文件安全擋住越權內容拒絕絕對路徑、..逃逸、大小寫碰撞的路徑拒絕目錄項、符號鏈接、設備文件、加密條目硬排除規則任何配置都無法放寬見 _hard_path_errors().git內部數據、.raw原始來源、.vault-meta運行時狀態、wiki/hot.md與wiki/log.md等用戶實時筆記狀態、.env及憑據類文件一律不得進入發布包第 3 步內容掃描自動攔截秘密與隱私_scan_content() 會對每個文本文件做保守的隱私檢測常見密鑰格式GitHub Token、OpenAI/Anthropic Key、AWS Key、JWT、私鑰塊等允許名單之外的個人郵箱地址連#64;這類 HTML 編碼變體都會先解碼再檢測絕對用戶主目錄路徑如/Users/xxx、C:\Users\xxx未登記的二進制文件必須提供審查過的 SHA-256 指紋才放行第 4 步字節級復現證明壓縮包一絲不差這是最妙的一步包內自帶的 RELEASE_MANIFEST.json 與 SHA256SUMS 兩個控制文件會被逐項核對——每個文件的大小、SHA-256、權限位、時間戳都必須與清單一致。最后審計器還會按清單在內存中重新構建一份 ZIP用常量時間比較hmac.compare_digest逐字節對比。任何 1 字節的差異都會觸發noncanonical_archive錯誤。這意味著工件是真正確定性的同樣的輸入必然產生同樣的字節。構建流程同樣防篡改build_public_artifact() 的構建流程也有多重保險要求 Git 工作樹完全干凈git status零改動構建前后各做一次Git 快照比對過程中倉庫變化立即失敗先寫入臨時文件并完成自審計再原子替換到輸出路徑——失敗時輸出路徑保持原樣全程不 push、不 tag、不發布、不開 issue發布范圍則由白名單 config/release-allowlist.json 顯式聲明公共市場目錄 config/public-marketplace.json 只會被注入到發布產物中開發倉庫本身不含它。相關行為還有 tests/test_release.py 的完整測試覆蓋以及 claude_obsidian/gates.py 提供的發布門禁檢查。快速上手兩條命令完成構建與審計git clone https://gitcode.com/GitHub_Trending/cl/claude-obsidian cd claude-obsidian python3 scripts/claude-obsidian.py release build --output dist/claude-obsidian.zip python3 scripts/claude-obsidian.py release audit dist/claude-obsidian.ziprelease audit的參數就是一個 ZIP 路徑定義見 claude_obsidian/cli.py審計完成會打印包含ok、錯誤碼列表、工件 SHA-256 和來源 commit 的結構化報告。你甚至可以拿它審計任何符合該格式的第三方工件。這套機制保護了誰最終用戶下載到的每個字節都可驗證、可追溯包內絕不會混入他人倉庫的實時筆記與隱私狀態貢獻者本地開發目錄里的密鑰、環境文件即使忘了刪也會被審計硬性攔下維護者ok: true之前工件連輸出路徑都到不了——失敗即安全fail-closed小結claude-obsidian 的發布審計把安全變成了流水線上的默認動作不解壓、不發布、不信任只憑內存中的四步檢查結構預檢、路徑安全、內容掃描、字節級復現為 ZIP 工件簽發可信證明。對任何需要分發制品的開源項目來說這套先審計、后放行的思路都值得參考。更多細節可閱讀 docs/install-guide.md 與 SECURITY.md。【免費下載鏈接】claude-obsidianSelf-organizing AI second brain for Obsidian Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathys LLM Wiki pattern.項目地址: https://gitcode.com/GitHub_Trending/cl/claude-obsidian創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考