Connect 経由で行う署名済み PDF のフォレンジック分析
Connect 経由で行う署名済み PDF のフォレンジック分析
「Connect 経由で行う署名済み PDF のフォレンジック分析」という見出しのセクションこのレシピでは、フォレンジック分析ツールを Connect トランスポート経由で使用し、署名済みドキュメントのリビジョン履歴を再構築して、署名済みバイト範囲の外側で生じたコンテンツ変更を報告します。このツールは Enterprise ティア です。class_exists() プローブで検出され、nextpdf/premium がサーバーと併せてインストールされている場合にのみ登録されます。
このツールは、観測された証拠(リビジョン、バイト範囲、署名カバレッジ、および信頼度スコア付きのヒューリスティックなシャドウアタック指標)を報告します。「クリーン」という判定は、ツールが実行する分析の範囲内で変更が検出されなかったことを意味するにすぎず、ドキュメントが改ざんされていないことを保証するものではありません。この調査結果は調査を裏付けるためのものであり、完全性を証明するものではありません。
インストール
「インストール」という見出しのセクションcomposer require nextpdf/servertools/list を呼び出して、Enterprise フォレンジックツールが存在することを確認します。詳細は /connect/tool-catalog/ を参照してください。
概念の概要
「概念の概要」という見出しのセクション署名はバイト範囲をカバーしており、署名後の変更は、ドキュメントをその範囲と比較することで検出できます(ISO 32000-2 §12.8)。増分更新はリビジョンを追加するものであり、署名はその後に追加されたコンテンツをカバーしません(ISO 32000-2 §12.8)。リビジョンチェーンは、相互参照セクションから再構築できます(ISO 32000-2 §7.5)。このツールはこれらの構造をたどってタイムラインを構築し、署名カバレッジの外側で変更されたコンテンツにフラグを立てます。
API サーフェス
「API サーフェス」という見出しのセクションtools/list で、ツール名を稼働中のレジストリと照合して確認します。正式なカタログは /connect/tool-catalog/ です。このレシピでは、ツール数を改めて記載しません。
コードサンプル — クイックスタート
「コードサンプル — クイックスタート」という見出しのセクション{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "forensic_analyze", "arguments": { "document_id": "<id>" } }}コードサンプル — 本番
「コードサンプル — 本番」という見出しのセクションcurl -sS -X POST https://connect.example.com/v1/tools/forensic_analyze \ -H 'Authorization: Bearer '"$NEXTPDF_CONNECT_TOKEN" \ -H 'Content-Type: application/json' \ -d '{"source":"/var/lib/nextpdf/evidence/disputed-contract.pdf"}' \ -o /tmp/forensic.json -w '%{http_code}' > /tmp/forensic-status || { echo "transport failure invoking forensic_analyze" >&2; exit 1; }レスポンスには、リビジョンのタイムライン、リビジョンごとの署名カバレッジ、バイトオフセットと重大度を含む unsigned_modifications リスト、信頼度スコア付きのヒューリスティックなシャドウアタック指標、およびカバレッジのギャップが含まれます。この判定は結論ではなく、解釈が必要な証拠として扱ってください。
エッジケースと注意点
「エッジケースと注意点」という見出しのセクション- ドキュメントに署名がない場合。 ツールは署名なしエラーを返します。 署名なしドキュメントの検証には、規格チェックを使用してください。
- 暗号化されたドキュメントの場合。 復号用の資格情報を指定してください。指定しない場合、呼び出しは部分的な分析に進まず失敗します。
- 形式が不正な相互参照の場合。 著しく破損したファイルでは、再構築が失敗することがあります。再送信する前に PDF を修復してください。
- ツールが存在しない場合。
nextpdf/premiumがなければ Enterprise フォレンジックツールは登録されず、呼び出しは不明なツールエラーで失敗します。
パフォーマンス
「パフォーマンス」という見出しのセクションフロントマターの予算は、文書化された上限です。非常に大きなドキュメントは、ツールの分析サイズ上限を超えることがあります。その場合、ツールは暗黙に切り詰めるのではなく、サイズ上限エラーを返します。
セキュリティに関する注意事項
「セキュリティに関する注意事項」という見出しのセクションシャドウアタック指標はヒューリスティックであり、信頼度スコアを伴います。これらはパターンにフラグを立てるものであり、意図を証明するものではありません。「クリーン」という判定は、実施された分析の範囲内で変更が検出されなかったことを意味します。改ざんがないことの保証ではありません。外部へ送出されるレベルのログには、ドキュメントパスやレポート全体を記録しないでください。
| 主張 | 条項 | reference_id |
|---|---|---|
| 署名後の変更は、署名済みバイト範囲に対して検出可能 | ISO 32000-2 §12.8 | |
| 署名は、後続の増分更新で追加されたコンテンツをカバーしない | ISO 32000-2 §12.8 | |
| リビジョンチェーンは、相互参照セクションから再構築可能 | ISO 32000-2 §7.5 |
フォレンジック分析のサポートは、ドキュメントの完全性を証明するものではありません。証拠の解釈は、独立した検査者が行います。
商用コンテキスト
「商用コンテキスト」という見出しのセクションフォレンジック分析ツールは Enterprise ティアであり、nextpdf/premium がサーバーと併せてインストールされている場合にのみ登録されます。
Connect 固有の事項
「Connect 固有の事項」という見出しのセクショントランスポートの利用可否(MCP / REST / gRPC)
「トランスポートの利用可否(MCP / REST / gRPC)」という見出しのセクション共有ツールエグゼキューターを通じて、MCP の tools/call、REST ツールエンドポイント、および gRPC サービスのいずれからも同じ方法で呼び出されます。
HITL リスクティア
「HITL リスクティア」という見出しのセクションこの分析は読み取り専用であり、デフォルトでは approval_required ではありません。オペレーターによるオーバーライドは、そのリスクレベルを引き上げることしかできません。詳細については /connect/hitl-risk-tiers/ を参照してください。
確認ゲートの JSON エンベロープ
「確認ゲートの JSON エンベロープ」という見出しのセクションオペレーターによるオーバーライドで approval_required に引き上げられない限り、ツールはゲートを起動しません。エンベロープと単回使用トークンの契約は /connect/hitl-risk-tiers/ にあります。
- /cookbook/connect/compliance-check/ — 指定された規格に対して検証します。
- /cookbook/connect/ltv-health-check/ — 長期検証マテリアルの検査。
- /connect/tool-catalog/ — ティアごとのツールセットの算出。
- /connect/hitl-risk-tiers/ — リスクモデルとゲート。