Running an AI-first external attack surface assessment with CVEngine A security practitioner documented an end-to-end AI-first external attack surface assessment workflow that combines subfinder, httpx, dig, jq and nmap for asset discovery with CVEngine's AI-assisted correlation for triage, taking 60 to 90 minutes for a first pass. The workflow emphasizes written authorization for all in-scope assets, a scope.yaml inventory built before scanning, and flattening httpx JSON output into a CSV that CVEngine ingests for column mapping. The author notes that CVEngine-specific menu labels, API paths and token formats are marked for verification against each deployment's documentation. I spend a lot of time on the least glamorous part of security work: keeping an accurate list of everything we actually expose to the internet. This is the loop I now run end to end — scope, inventory, an AI-assisted assessment in CVEngine, then hands-on triage. A first pass takes 60 to 90 minutes and sits at intermediate level: you should be comfortable with a shell, DNS and basic HTTP. Two things before any command. First, get written authorisation for every asset in scope — scanning hosts you do not own is illegal in most jurisdictions, and "we thought it was ours" is not a defence. Second, three terms I use throughout: the attack surface is every host, subdomain, IP address and open port you expose; ASM is the ongoing job of discovering those assets and keeping the list current; triage is deciding which findings are real and which come first. Where I could not confirm a CVEngine-specific menu label, API path, scan-profile name or token format from the source material, I mark it