Connect를 통한 서명된 PDF의 포렌식 분석
Connect를 통한 서명된 PDF의 포렌식 분석
섹션 제목: “Connect를 통한 서명된 PDF의 포렌식 분석”한눈에 보기
섹션 제목: “한눈에 보기”이 레시피는 Connect 전송 계층을 통해 포렌식 분석 도구를 사용해 서명된 문서의 리비전 이력을 재구성하고, 서명된 바이트 범위 밖에서 발생한 콘텐츠 변경을 보고하는 방법을 설명합니다. 이 도구는 Enterprise 등급입니다. class_exists() 프로브로 탐지되며, nextpdf/premium이(가) 서버와 함께 설치된 경우에만 등록됩니다.
이 도구는 관찰된 증거 — 리비전, 바이트 범위, 서명 커버리지, 신뢰도 점수가 포함된 휴리스틱 섀도 공격 지표 —를 보고합니다. “clean” 판정은 도구가 수행하는 분석 범위 내에서 탐지된 수정이 없음을 의미하며, 문서가 변조되지 않았다는 보장이 아닙니다. 결과는 조사를 뒷받침할 뿐, 무결성을 인증하지는 않습니다.
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 포렌식 도구가 등록되지 않으며, 호출은 알 수 없는 도구 오류로 실패합니다.
프런트 매터 예산은 문서에 명시된 상한값입니다. 매우 큰 문서는 도구의 분석 크기 한도를 초과할 수 있습니다. 이 경우 도구는 조용히 잘라내지 않고 크기 한도 오류를 반환합니다.
보안 참고 사항
섹션 제목: “보안 참고 사항”섀도 공격 지표는 휴리스틱이며 신뢰도 점수를 포함합니다. 이 지표는 패턴을 표시할 뿐, 의도를 입증하지는 않습니다. “clean” 판정은 수행된 분석 범위 내에서 수정이 탐지되지 않았음을 의미하며, 변조되지 않았다는 보장이 아닙니다. 외부 전송 로그 레벨에서는 문서 경로나 전체 보고서를 기록하지 마십시오.
적합성
섹션 제목: “적합성”| 주장 | 조항 | 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/ — 위험 모델과 게이트를 설명합니다.