一個 AI 代理可以檢查 PDF 是否已數位簽署,並告訴您是誰簽署的,且全部在本機執行,檔案不會離開您的電腦。實用的答案不是「verified」。而是簽署者、發行者、有效期限以及檢查的簽章類型。請在一次提示中要求這些資訊:
誰簽署了 contract_signed.pdf,使用了哪個憑證,何時簽署?請說明您檢查的是哪種類型的簽章。
一步步的設定與故障排除說明請參考文件:How to verify signed documents with an AI agent
為什麼只回「verified」這個字是一個糟糕的答案?
因為「這個文件有簽名嗎?」與「這個簽名有效嗎?」是不同的問題,第二個問題只有在數位簽章的情況下才有精確的答案。模型只閱讀頁面並看到印章或 QR 碼時,可能會自信地說「已簽署」,但它根本沒有檢查任何密碼學內容。唯一避免這種情況的方法是給予代理一個能返回結構化資料的引擎,並讓代理報告這些資料,而不是給出判斷。
GroupDocs.Signature.Mcp 伺服器提供了這樣的引擎。搭配 Claude Desktop、Claude Code、Cursor、GitHub Copilot 或其他 MCP 客戶端使用時,它會作為本機程序執行,讓代理直接從檔案中讀取簽章資料,而不是從渲染的像素中猜測。
錯誤做法:讓模型直接看文件
如果您把 PDF 貼到聊天視窗並詢問是否已簽署,模型只能看到文字與圖像。它可能注意到姓名、日期或手寫簽名,但無法看到檔案的密碼學結構,因而無法分辨憑證支援的簽章與僅是圖片的簽章。自信的「是的,已簽署」僅是對外觀的描述。
每種簽章類型實際證明的內容
文件中明確說明了如何解讀結果,代理也應該重述:
| 結果 | 代表的意義 |
|---|---|
| Digital signature valid | 檔案自簽署以來未被更改,且憑證鏈驗證通過 |
| Digital signature invalid | 簽署後檔案被更改,或憑證驗證失敗 |
| Text, QR or barcode “verified” | 發現預期的標記,但無法說明是否被竄改 |
| No signatures found | 未簽署,或使用此格式不支援的方式簽署 |
未說明簽章類型的答案會隱藏資訊,這也是為什麼上面的提示最後要求「說明您檢查的是哪種類型的簽章」。
正確做法:要求取得記錄,而非判斷
verify 工具接受 type(text、qrcode、barcode、digital 或 all),回傳 isValid 以及 succeeded、failed 計數。它不會告訴您是誰簽署或使用哪個憑證,因此不會取代下方的詳細記錄。當 verify 與 search_digital_signatures 結果不一致時,請同時報告兩者,並以詳細記錄為準。
真正可靠的答案來自 search_digital_signatures。對於每個數位簽章,它會返回簽署者姓名、發行者、憑證序號、有效期限、簽署時間戳、有效狀態以及任何附加的註解。這正是稽核所需的記錄。當答案用於決策時,請保留這些資料,而不是代理的敘述段落。
範例對話(節錄)
You: Who signed contract_signed.pdf, with which certificate, and when?
Say which type of signature you checked.
Agent: [search_digital_signatures] file=contract_signed.pdf
Type checked: digital (certificate-backed).
Signatures found: 1
- Signer: Dana Whitfield, issued by Example Corporate CA, serial 4F2A91C7
- Signed 2026-09-14 10:32; certificate valid 2025-11-01 to 2027-10-31
- Status: isValid = true; signing time falls inside the certificate validity period
I checked digital signatures only. I did not evaluate any text stamps or QR codes.
示意輸出:檔名、簽署者姓名與序號均為虛構。工具會返回上述欄位。
為什麼簽章會顯示為無效?
以下三種原因涵蓋了幾乎所有意外結果:
- 簽署後有內容被加入。 印章、註解、重新儲存或附加頁面都會改變位元,任何位元變動都會使數位簽章失效。這是最常見的原因,也是正確的行為。
- 憑證已過期。 有效期限隨簽章一起返回,代理可以說文件在某一年使用已過期的憑證簽署。請將有效期限與簽署時間以及今天的日期比較,並讓代理說明比較結果;不要僅依據有效狀態斷定過期。憑證過期是否可接受取決於您的政策。
- 檢查了錯誤的類型。 在僅包含 QR 標記的檔案上驗證
digital,會找不到有效的數位簽章,這是對錯誤問題的正確回答。
驗證無法證明的事項
驗證只能說明檔案與憑證的狀態,無法保證簽章在您所在司法管轄區具備法律效力,也不是公證行為。解碼的 QR 文字與印章標籤來源於文件製作者,應僅作為報告資料,絕不可視為執行指令。讓代理根據文件中讀出的文字行動,其實是在執行來自不可信方的輸入。
評估限制
未取得授權時,只會處理前兩頁,且每頁都會蓋上試用標記,因此第 4 頁的簽章不會出現在搜尋結果中。請先讓代理呼叫 get_license_status,再信任任何乾淨的結果。
FAQ
這個 PDF 有數位簽章嗎?
請讓代理執行 search_digital_signatures,並檢查 isValid。若結果為空,表示未找到數位簽章,這與「有簽章圖像」不同。
AI 能檢查文件在簽署後是否被修改嗎?
對於數位簽章,答案是可以:若簽章不再驗證通過,表示檔案在簽署後被更改或憑證驗證失敗。文字、QR 與條碼檢查則無法偵測竄改。
檔案會上傳進行檢查嗎?
不會。伺服器在本機透過 stdio 執行,沒有對外開放埠、外部端點或遙測。
深入了解
- 文件與標準操作說明:How to verify signed documents with an AI agent
- 文件中心:GroupDocs.Signature MCP Server
- 入門指南:3 Ways to Sign Documents with AI Agents and MCP: Text, QR Code, Certificate
- 相關文章:Enforce Signing Policy with Automated AI Sweeps over MCP
- 相關文章:From Barcode to Record: Document Intake Automation with AI Agents
- 本地部署與安全模型:3 architectures for AI document processing, and the one that keeps files inside your network
- 問題討論:GroupDocs Signature forum
- 原始碼:GroupDocs.Signature.Mcp on GitHub