4.4 KiB
Synthetic source fixtures
These inputs are now registered in tests/importers/import-contracts.json and checksum-protected by the mandatory import compatibility gate. See docs/IMPORT_COMPATIBILITY.md. Keep existing inputs and expected behavior; extend with new synthetic cases instead of replacing a working format. Customer reports are not permitted as compatibility baselines.
All files below are deliberately small, synthetic, and free of customer or company data. They are regression inputs for the generic import pipeline, not complete vendor golden files. Source-specific recognition and semantic extraction remain part of Phase 6.
PingCastle
- Files:
pingcastle/healthcheck.synthetic.htmlandpingcastle/healthcheck.synthetic.xml - Basis: the official PingCastle repository describes the healthcheck report and its score categories. The published report generator uses the categories Stale Objects, Privileged Accounts, Trusts, and Anomalies and renders matched rule details with Rule ID, Description, Technical explanation, Advised solution, and Points.
- Sources:
- The HTML and XML fixtures represent the same synthetic matched rule. Their format-native extraction must resolve to the same PingCastle Rule ID while preserving each file's original fields and source location.
- https://github.com/netwrix/pingcastle
- https://github.com/netwrix/pingcastle/blob/master/PingCastleCommon/Report/ReportRiskControls.cs
- https://github.com/netwrix/pingcastle/blob/master/PingCastleCommon/Report/ReportHealthCheckSingle.cs
- https://github.com/netwrix/pingcastle/blob/master/PingCastleCommon/Data/HealthcheckData.cs
CIS-CAT
- Files:
cis-cat/assessment.synthetic.htmlandcis-cat/assessment.future-controls.synthetic.html - Basis: the official CIS-CAT guide documents the HTML sections Summary, Profiles, Assessment Results, and Assessment Details; it also documents Pass, Fail, Error, Unknown, and Manual result states and the detail areas Description, Rationale, Remediation, Impact, Assessment, References, and CIS Controls.
assessment.future-controls.synthetic.htmlrepeats the same rule structure with control mappings the application cannot know in advance: a newer revision of the same CIS series and an unrelated framework. It is the regression input for section detection that must read its headings from the report instead of a fixed list, so that hidden evidence and control tables keep reaching the results window when a later report adds a framework.- Sources:
Maester
-
File:
maester/test-results.synthetic.csv -
Basis: the official
Convert-MtResultsToFlatObjectimplementation defines the flat CSV/Excel columns used here.Invoke-Maesterdocuments CSV, Excel, HTML, JSON, and Markdown output. -
Sources:
-
File:
maester/test-results.synthetic.html -
Models the inert JSON object embedded by the official single-file Maester HTML report generator; it contains synthetic test values only.
-
Sources:
-
File:
purple-knight/security-assessment.synthetic.html -
Models the script-embedded
window.reportJSONand category indicator assignments observed in a locally supplied PurpleKnight dummy report. No source values were copied into this fixture.
maester/application-json-binding.synthetic.html protects the current static declaration in an application/json script. maester/multi-tenant.synthetic.html protects separate native tenant paths. Both contain only invented Dummy values.
Compatibility references use synthetic data only, including when a real report reveals a new structure.
Microsoft Defender for IoT
- Files:
defender-for-iot/cves.synthetic.csv(vulnerability export) anddefender-for-iot-alerts/alerts.synthetic.csv(alert export) - Basis: the same fictional devices, CVE IDs from the reserved
CVE-2099-*range, TEST-NET addresses and documentation MACs as the Defender importer tests. Added 2026-10-12 as additive contracts when the protected gate met the existing Defender profiles.