Requirements
- OEM access for scan queueing and status
- API access for host details
- A specific hostname you own or are authorized to scan
- An approved expected-port and prohibited-port policy
- Python 3.10 or later with
requests
Step 1: complete the scan lifecycle
Run Orchestrate an OEM Scan Lifecycle withFULLHUNT_SCAN_TYPE=host. Keep the completed state file.
Step 2: evaluate a fresh host observation
verify_deployment_exposure.py
FULLHUNT_RESULT_POLLS bounded and wait between attempts.
Deployment decision
- Pass: The observation is fresh enough, every expected port is present, and no prohibited port is present.
- Fail: The observation is fresh enough but violates the explicit port policy.
- Unknown: The scan completed, but no indexed host record at or after
completed_atbecame available within the polling budget.
unknown into pass. Decide whether the deployment system should wait, stop, or require manual review.
This verifies externally observed network exposure. It does not validate application health, authentication, authorization, request routing, or source-code configuration. Run those checks in the deployment platform.