IT Asset Inventory for Security: Building a Complete, Accurate Asset Register
Asset inventory is CIS Control 1 for a reason: every other security control -- patch management, vulnerability scanning, EDR deployment, network segmentation -- depends on knowing what assets exist. Organizations without an accurate asset inventory operate with unknown attack surface, miss vulnerabilities on untracked systems, and cannot prioritize remediation effectively. This guide covers how to build a security-focused asset inventory from scratch, maintain it accurately over time, and use it as the foundation for vulnerability management and attack surface management programs.
Why Asset Inventories Fail and How to Fix Them
Most organizations have some form of asset inventory -- a spreadsheet, a CMDB, or a procurement record -- but it is incomplete, stale, or missing the security context needed to prioritize risk.
Common failure modes:
| Problem | Root Cause | Fix |
|---|---|---|
| Inventory is always out of date | Manual updates only | Automated discovery on a schedule |
| Cloud assets missing entirely | CMDB was designed for on-prem | Integrate cloud provider APIs |
| IoT and OT devices not tracked | Passive-discovery-only tools miss them | Add network traffic analysis for passive discovery |
| Shadow IT not in inventory | Only approved assets are tracked | External attack surface scanning |
| Inventory has records, not context | No criticality or owner data | Enrich with business context |
The two-track approach:
A reliable asset inventory requires both active discovery (sending probes to enumerate assets) and passive discovery (observing network traffic to identify assets that do not respond to probes):
- Active discovery: Nmap, Tenable Nessus, Qualys, Rapid7 -- sends packets to enumerate listening hosts and services; catches everything that responds on the network
- Passive discovery: Network traffic analysis (Zeek/Bro, ExtraHop, Darktrace) -- identifies assets by observing communications without sending probes; catches assets that block ICMP and port scans, and IoT/OT devices that are fragile under active scanning
Asset attributes required for security:
Every asset record needs at minimum:
| Attribute | Why It Matters |
|---|---|
| Hostname and IP (primary + all aliases) | Link to vulnerability scan results |
| MAC address | Network control (802.1X, NAC) |
| OS and version | Vulnerability prioritization, patch management |
| Asset criticality (Critical/High/Medium/Low) | Risk-based patching SLAs |
| Business owner / technical owner | Escalation path for vulnerabilities |
| Environment (Prod/Dev/Test/Staging) | Scope definitions for security controls |
| Network segment / VLAN | Segmentation verification |
| Agent deployed (EDR, vulnerability scanner) | Coverage gap identification |
| Cloud provider / account | Cloud asset context |
Active Discovery: Network Scanning at Scale
Nmap for network discovery:
# Fast host discovery (ping sweep -- no port scan)
nmap -sn 10.0.0.0/8 -oG hosts.txt
# Service and OS detection on discovered hosts
nmap -sV -O --top-ports 1000 -iL hosts.txt -oX scan-results.xml
# Aggressive scan with scripts (use only on authorized networks)
nmap -A -p- 10.0.1.0/24 -oX full-scan.xml
# Export to CSV for import into asset inventory
nmap -sV --top-ports 100 10.0.0.0/8 -oX - | python3 nmap-to-csv.py
Scan frequency guidelines:
| Asset Criticality | Internal Scan Frequency | External Scan Frequency |
|---|---|---|
| Critical (payment, auth, data stores) | Daily | Weekly |
| High (production servers) | Weekly | Weekly |
| Medium (internal servers) | Monthly | Monthly |
| Low (workstations, printers) | Quarterly | N/A (no external exposure) |
Vulnerability scanner as discovery tool:
Nessus, Qualys, and Rapid7 InsightVM can be used in discovery mode to enumerate assets as a first pass, then scan discovered assets for vulnerabilities. This collapses two steps into one:
Tenable.io: Settings > Sensors > Linked Scanners > [Scanner] > Network Discovery
- Enable "Discovery" scan type on your full RFC 1918 range
- Schedule weekly
- All discovered assets automatically appear in your asset database
Agent-based discovery for remote and laptop assets:
Network scanning misses laptops that connect via VPN from home or are rarely on the corporate network. Deploy lightweight agents (Tenable Nessus Agent, Qualys Cloud Agent, or Microsoft Defender's device inventory) that report asset information regardless of network location.
Briefings like this, every morning before 9am.
Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.
Cloud Asset Discovery and CSPM Integration
Cloud assets are the largest source of inventory gaps in modern organizations. Developers provision resources directly via CLI or Terraform, bypassing traditional IT procurement workflows. Cloud assets must be discovered via provider APIs, not network scanning.
AWS asset discovery:
# List all EC2 instances across all regions
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,State.Name,InstanceType,PublicIpAddress,Tags[?Key==`Name`]|[0].Value]' --output table --region us-east-1
# Export all resources via AWS Config (comprehensive, cross-service)
aws configservice describe-configuration-recorders
aws configservice list-discovered-resources --resource-type AWS::EC2::Instance
# Use AWS Systems Manager Inventory for detailed OS/software data
aws ssm describe-instance-information --output table
Multi-cloud asset inventory with Steampipe:
Steampipe is an open-source tool that queries cloud provider APIs using SQL:
-- All EC2 instances with their security groups and public IPs
SELECT
instance_id,
instance_state,
instance_type,
public_ip_address,
tags->>'Name' as name,
region
FROM aws_ec2_instance
WHERE instance_state = 'running'
ORDER BY region;
-- Azure VMs
SELECT name, location, os_disk_os_type, power_state
FROM azure_compute_virtual_machine
WHERE power_state = 'running';
CSPM as asset inventory:
Cloud Security Posture Management tools (Wiz, Orca, Prisma Cloud) maintain real-time asset inventories as a byproduct of continuous cloud scanning. If you have a CSPM tool deployed, export its asset list as the authoritative source for cloud assets and sync it with your CMDB.
Tagging strategy for cloud asset context:
Cloud assets without tags are unattributable to owners or business functions. Enforce mandatory tagging via cloud policy:
AWS: Service Control Policy (SCP) to deny resource creation without required tags:
Environment(Production, Staging, Development)Owner(email or team name)CostCenterCriticality(Critical, High, Medium, Low)
Azure Policy: Built-in "Require a tag and its value on resources" policy GCP: Organization Policy Constraints for label enforcement
CMDB Integration and Data Quality
A Configuration Management Database (CMDB) is the authoritative record of IT assets and their relationships. ServiceNow, Freshservice, and BMC Helix are common enterprise CMDBs. The challenge: CMDBs are accurate at initial population and degrade rapidly without automated refresh.
CMDB data quality problems:
- Assets decommissioned in reality but still marked active in CMDB
- New assets provisioned without CMDB records
- IP addresses reassigned without updating CMDB
- Software versions not updated after patching
Automated CMDB refresh approach:
-
Discovery tool integration: Tenable, Qualys, and Rapid7 all provide CMDB connectors for ServiceNow. Scan results automatically update CMDB records -- IP addresses, OS versions, and open ports are refreshed with each scan.
-
Cloud provider sync: Use ServiceNow's Cloud Management or a custom integration via ServiceNow's Import Sets to pull cloud assets from AWS Config, Azure Resource Graph, and GCP Asset Inventory on a daily schedule.
-
Reconciliation workflow: Run a weekly reconciliation report:
- Assets in CMDB but not found by scanner in 30 days: flag for decommission review
- Assets found by scanner but not in CMDB: auto-create stub record, assign to network owner for enrichment
- Assets with mismatched OS versions: auto-update CMDB from scan results
Asset criticality scoring:
Criticality should be based on business impact, not just technical characteristics:
Criticality = MAX(
Data sensitivity score, -- Does it store/process PII, PCI, PHI?
Availability impact score, -- How many users/processes depend on it?
Regulatory scope score, -- Is it in PCI/HIPAA scope?
Attack path score -- Is it externally exposed or adjacent to crown jewels?
)
Critical assets (score 4): payment processing, authentication infrastructure, customer databases High assets (score 3): production application servers, internal admin tools Medium (score 2): internal servers, development systems Low (score 1): workstations, printers, non-production systems
External Attack Surface and Shadow IT Discovery
Your asset inventory is incomplete without external visibility -- the assets attackers see before they reach your internal network.
External Attack Surface Management (EASM):
EASM tools continuously discover your organization's internet-exposed assets by scanning from the outside, the same way an attacker would:
| Tool | Approach | Best For |
|---|---|---|
| Censys ASM | Certificate transparency + DNS enumeration + IP ownership | Comprehensive external discovery |
| Shodan Monitor | Continuous scanning of your IP ranges | Organizations with known IP space |
| Runzero (formerly Rumble) | Fast internal + external discovery | SMB and mid-market with limited tooling |
| Tenable Attack Surface Management | EASM integrated with Tenable VM | Tenable VM customers |
| Microsoft Defender EASM | Cloud-native, Azure-integrated | Microsoft-centric organizations |
What EASM finds that internal tools miss:
- Forgotten subdomains still pointing to decommissioned infrastructure
- Cloud storage buckets with public access (S3, Azure Blob, GCS)
- Development or staging servers exposed to the internet
- Expired SSL certificates on internet-facing services
- Services running on non-standard ports
- Third-party SaaS instances registered with your domain
Shadow IT discovery:
Shadow IT (SaaS tools employees use without IT approval) creates asset inventory gaps and data residency risks. Discovery methods:
- CASB/SSE proxy: Intercept web traffic to identify SaaS destinations; Netskope and Zscaler categorize 40,000+ cloud apps
- DNS query analysis: Analyze DNS logs for corporate devices resolving SaaS app domains
- Browser extension inventory: Policy-enforce browser extension lists via Chrome Enterprise or Intune; extensions are often untracked cloud app connectors
- OAuth app audit: Review which SaaS apps have been granted OAuth access to corporate email and file storage accounts (Google Workspace and Microsoft 365 both provide this in admin consoles)
The bottom line
Asset inventory is not a project -- it is a program. The one-time inventory effort decays within weeks without automated discovery, CMDB reconciliation, and cloud API integration. The payoff for maintaining a complete, accurate asset inventory is that every downstream security program works better: vulnerability management can prioritize by criticality, EDR teams can identify coverage gaps, and incident responders can quickly determine blast radius. Start with automated network discovery and cloud API integration, enrich with business context (owner, criticality, environment), and schedule weekly reconciliation to catch drift.
Frequently asked questions
What is the difference between a CMDB and an asset inventory?
An asset inventory is a list of assets -- hardware, software, cloud resources -- with their key attributes (IP, OS, owner, status). A CMDB (Configuration Management Database) is a broader concept that includes assets (called Configuration Items or CIs) and their relationships: this server runs this application, which depends on this database, which is backed up by this process. CMDBs are designed for IT service management (ITSM) and change management, not just security. For security purposes, you need an asset inventory at minimum; CMDB integration is valuable because it adds relationship context (if this server goes down, what breaks?) that improves incident response and vulnerability prioritization.
How do we discover assets on networks where we cannot run active scans?
For networks where active scanning is disruptive (OT/ICS environments, medical device networks) or where you cannot deploy scanners (partner networks, branch offices without scanner infrastructure), use passive discovery: (1) Network traffic analysis -- deploy a network TAP or SPAN port to capture traffic; Zeek, ExtraHop, or Darktrace identify assets from observed communications without generating any traffic; (2) DHCP log analysis -- DHCP servers see every device that connects; export DHCP leases and hostnames for asset identification; (3) DNS passive -- analyze DNS query logs to identify assets by hostname; (4) Endpoint agent data -- if you have EDR or configuration management agents deployed, query them for asset metadata without generating network traffic.
How do we keep the asset inventory accurate over time?
Accuracy requires automation, not manual processes. Three mechanisms that work: (1) Scheduled discovery scans -- run Nmap or vulnerability scanner discovery scans weekly or monthly across all subnets; any new host that appears gets auto-created in the CMDB as a stub record for enrichment; (2) Cloud provider event hooks -- use AWS EventBridge, Azure Event Grid, or GCP Pub/Sub to trigger CMDB updates when cloud resources are created or terminated; (3) Reconciliation reports -- weekly report comparing scanner-discovered assets to CMDB: assets in CMDB not found by scanner in 30 days are flagged for decommission review; assets found by scanner not in CMDB trigger an alert. Without automated reconciliation, inventory accuracy degrades within 60 days of any manual effort.
What should asset criticality be based on?
Asset criticality should be based on business impact, not technical characteristics. The key factors: (1) Data sensitivity -- does the asset store or process regulated data (PCI cardholder data, HIPAA PHI, GDPR personal data)? If yes, criticality is at minimum High; (2) Availability impact -- how many users, customers, or revenue-generating processes depend on this asset? A payment processing server affecting all transactions is Critical; a development workstation affecting one developer is Low; (3) Attack path position -- is the asset externally exposed or adjacent to crown jewels? An internet-facing server in the DMZ needs higher scrutiny than an equivalent internal server; (4) Regulatory scope -- assets in PCI, HIPAA, or SOC 2 scope require accelerated patching SLAs regardless of other factors.
How does asset inventory integrate with vulnerability management?
Asset inventory is the prerequisite for vulnerability management. Without it: you do not know which systems to scan, you cannot calculate coverage gaps (what percentage of assets are being scanned?), and you cannot prioritize vulnerabilities by asset criticality. The integration workflow: asset inventory feeds scanner scope (scan all known assets at the frequency defined by their criticality tier); scanner results enrich the asset inventory with OS and software versions; vulnerability findings are joined to asset records so each finding inherits the asset's criticality; remediation SLAs are driven by criticality (Critical asset with Critical CVE = 24-hour SLA; Low asset with Medium CVE = 90-day SLA). This asset-driven prioritization is what separates mature vulnerability management programs from organizations that are just running scans.
What is External Attack Surface Management (EASM) and do we need it?
EASM tools continuously discover your internet-exposed assets from an external perspective -- the same vantage point an attacker has. They find assets your internal inventory misses: forgotten subdomains, shadow cloud accounts, public storage buckets, expired certificates on forgotten services, and development servers accidentally exposed to the internet. If your organization has been in operation for more than 5 years, has ever had M&A activity, or uses multiple cloud providers, an EASM scan will find assets you did not know existed. Tools range from free (Shodan's free tier for limited scanning, SecurityTrails for DNS enumeration) to enterprise (Censys ASM, Tenable EASM, Mandiant Advantage Attack Surface Management). Start with a one-time free EASM scan to quantify your unknown external exposure before deciding whether continuous monitoring is warranted.
Sources & references
Free resources
Critical CVE Reference Card 2025–2026
25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.
Ransomware Incident Response Playbook
Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.
Get threat intel before your inbox does.
50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, weekly, no spam.
Unsubscribe anytime. We never sell your data.

Founder & Cybersecurity Evangelist, Decryption Digest
Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals weekly.
The Mythos Brief is free.
AI that finds 27-year-old zero-days. What it means for your security program.
