コンテンツにスキップ

Connect 経由で行う署名済み PDF のフォレンジック分析

このレシピでは、フォレンジック分析ツールを Connect トランスポート経由で使用し、署名済みドキュメントのリビジョン履歴を再構築して、署名済みバイト範囲の外側で生じたコンテンツ変更を報告します。このツールは Enterprise ティア です。class_exists() プローブで検出され、nextpdf/premium がサーバーと併せてインストールされている場合にのみ登録されます。

このツールは、観測された証拠(リビジョン、バイト範囲、署名カバレッジ、および信頼度スコア付きのヒューリスティックなシャドウアタック指標)を報告します。「クリーン」という判定は、ツールが実行する分析の範囲内で変更が検出されなかったことを意味するにすぎず、ドキュメントが改ざんされていないことを保証するものではありません。この調査結果は調査を裏付けるためのものであり、完全性を証明するものではありません。

Terminal window
composer require nextpdf/server

tools/list を呼び出して、Enterprise フォレンジックツールが存在することを確認します。詳細は /connect/tool-catalog/ を参照してください。

署名はバイト範囲をカバーしており、署名後の変更は、ドキュメントをその範囲と比較することで検出できます(ISO 32000-2 §12.8)。増分更新はリビジョンを追加するものであり、署名はその後に追加されたコンテンツをカバーしません(ISO 32000-2 §12.8)。リビジョンチェーンは、相互参照セクションから再構築できます(ISO 32000-2 §7.5)。このツールはこれらの構造をたどってタイムラインを構築し、署名カバレッジの外側で変更されたコンテンツにフラグを立てます。

tools/list で、ツール名を稼働中のレジストリと照合して確認します。正式なカタログは /connect/tool-catalog/ です。このレシピでは、ツール数を改めて記載しません。

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "forensic_analyze",
"arguments": { "document_id": "<id>" }
}
}
Terminal window
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 がサーバーと併せてインストールされている場合にのみ登録されます。

共有ツールエグゼキューターを通じて、MCP の tools/call、REST ツールエンドポイント、および gRPC サービスのいずれからも同じ方法で呼び出されます。

この分析は読み取り専用であり、デフォルトでは approval_required ではありません。オペレーターによるオーバーライドは、そのリスクレベルを引き上げることしかできません。詳細については /connect/hitl-risk-tiers/ を参照してください。

オペレーターによるオーバーライドで approval_required に引き上げられない限り、ツールはゲートを起動しません。エンベロープと単回使用トークンの契約は /connect/hitl-risk-tiers/ にあります。

  • /cookbook/connect/compliance-check/ — 指定された規格に対して検証します。
  • /cookbook/connect/ltv-health-check/ — 長期検証マテリアルの検査。
  • /connect/tool-catalog/ — ティアごとのツールセットの算出。
  • /connect/hitl-risk-tiers/ — リスクモデルとゲート。