하나의 좋은 XML 보고서를 받아들이는 파서는 좁은 테스트만 통과한 것입니다. 유용한 유효성 검사 모음은 추출하는 내용, 거부하는 내용, 지원되는 변형을 처리하는 방법 및 재시도가 총계를 변경하는지 여부를 확인합니다. 예상되는 정규화된 값은 테스트에서 생성할 수 있는 출력이 아니라 고정 장치의 일부로 처리됩니다.
지원되는 계약 선언
참고자료: RFC 9990 §3.1.1, RFC 9990 §3.2.
파서, 런타임, 압축 해제기 및 스키마 버전을 기록합니다. 지원되는 보고서 형식 및 확장과 레거시 입력이 처리되는 방법을 명시합니다. RFC 9990 현재 집계 형식과 확장 모델을 정의합니다. 이전 형식에 대한 지원은 별도의 호환성 결정입니다.
최소한의 유효한 설비를 먼저 구축하십시오. 바이트, 해시, 예상 메타데이터, 간격, 소스 IP, 개수, ID 및 정렬된 결과를 저장합니다. 성공적인 XML 구문 분석만으로는 충분하지 않다고 생각하십시오. 필드 유형과 의미를 확인하십시오. 누락된 선택적 값을 유효하지 않은 필수 데이터와 구별되도록 유지하세요.
일반적인 의미론적 실수를 테스트하세요.
참고자료: RFC 9990 §3.1.1.9, RFC 9990 §3.1.1.11, RFC 9989 §5.3.5.
원시 포함 DKIM DKIM 오류가 정렬된 관련 없는 도메인 아래로 전달되고 원시 SPF 없이 통과하다 조정. 정렬된 메커니즘 중 하나는 통과하고 다른 하나는 실패하는 경우를 포함합니다. 정규화된 결과가 두 메커니즘을 모두 통과하거나 정렬과 원시 성공을 동일시하도록 요구하지 않는지 확인하세요.
게시된 정책의 단순한 추론과 다른 보고된 처리를 추가합니다. 사용 가능한 재정의 이유를 유지합니다. 현재 스키마의 경우 알 수 없는 레거시 값으로 거부하는 대신 ActionDispositionType 값 전달을 포함합니다. RFC 9990 부록 A 통과하도록 정의합니다. DMARC 시행하는 정책을 가지고 있습니다. 레거시 형식 기대치를 명시적으로 분리하세요. 첫 번째 서명만 남기고 모두 삭제하지 않고 여러 DKIM 결과를 테스트하세요. 목적은 불완전한 데이터로부터 새로운 수신자 평가를 조작하는 것이 아니라 보고서에 명시된 내용을 보존하는 것입니다.
구조 및 보안 사례 연습
참고자료: RFC 9990 §3.2, RFC 9990 §8.1.
참조: OWASP XML 외부 엔터티 방지, 일반 지침.
잘못된 필수 값, 잘못된 형식의 XML, 지원되는 네임스페이스 확장, 지원되지 않는 버전, 누락된 선택적 요소 및 과도한 경계 중첩을 사용하세요. 압축 및 확장된 크기 제한, 중단된 입력 및 무해한 외부 참조 센티널을 별도로 테스트합니다. 각 입력이 허용, 격리 또는 거부되는지 여부와 그 이유를 정의합니다.
다운스트림 분석에서 이를 보존해야 한다고 주장하는 경우 지원되는 확장이 자동으로 사라져서는 안 됩니다. 지원되지 않는 구문은 실패한 인증으로 재분류되기보다는 명시적인 호환성 결과를 생성해야 합니다. 보안 테스트를 소규모로 유지하고 리소스 제한을 두십시오. 단지 한계를 보여주기 위해 파괴적인 작업 부하를 생성하지 마십시오.
중복 및 거래 행위 확인
참고자료: RFC 9990 §3.5.4.
픽스처를 가져와서 재생한 후 다시 재생하기 전에 작업자를 다시 시작하세요. 계산된 보고서는 문서화된 중복 규칙에 따라 단일 상태로 유지되어야 합니다. 동일한 보고서 ID를 주장하는 다른 첨부 파일을 추가하고 명시적인 충돌 결정을 요구합니다. 동일한 ID만으로는 검토 없이 다른 증거를 폐기할 수 없습니다.
커밋하기 전에 제어된 중단을 삽입합니다. 부분 레코드가 프로덕션 측정항목에 영향을 주지 않고 허용된 재시도가 예상된 결과를 한 번 생성하는지 확인합니다. 0으로 나누거나 완벽한 합격률을 만드는 대신 0 관찰 출력을 사용할 수 없는 것으로 테스트합니다.
수락 행을 통해 작업
합성 고정물 F1에는 정렬된 DKIM 통과가 있는 90개의 관측치가 포함되어 있고 정렬된 통과 메커니즘이 없는 10개의 관측치가 포함되어 있습니다. 예상되는 포함 횟수는 100이고 예상되는 관찰 통과 횟수는 90입니다. F1을 재생하면 두 값을 모두 변경하지 않고 그대로 두어야 합니다. 의도적으로 잘린 사본은 총계를 늘리지 않고 거부되어야 합니다.
실행하기 전에 예상 값을 저장하십시오. 실제 출력, 자원 측정 및 진단을 해당 기준과 비교하십시오. 이는 상업용 또는 테넌트 파서가 이를 통과했다는 주장이 아니라 파서 승인 사양입니다. 별도의 새로운 오프라인 산술/재생 모델은 반복되는 동일성에 대해 100/90 값과 변경되지 않은 개수를 확인합니다. RFC 9990 XML 보고서를 구문 분석하거나 검증하지 않습니다. 케이스가 실패하는 경우 나중에 개정판에서 재현할 수 있도록 결함과 정확한 고정 장치를 보관하십시오.
기록된 결과의 게이트 변경
픽스처 ID, 해시, 목적, 예상 결과, 실제 결과, 파서 구성 및 검토 결정을 포함하는 매트릭스를 유지합니다. 지원되지 않는 기능에 대한 문서화된 예외를 포함하여 배포된 개정에서 모든 필수 사례를 통과하도록 요구합니다. 종속성 또는 정규화 변경 후 다시 실행하고 저장된 보고서를 다시 처리하기 전에 기록 메트릭 효과를 비교하세요. 파서 검증은 시스템 가용성과 사람들이 정책 결정에 사용하는 숫자의 의미를 모두 보호해야 합니다.