CIS Control 1
Enterprise Asset Inventory is the first control in CIS Controls v8 -- intentionally, because every other control depends on it
32%
of enterprise assets are unknown to IT at any given time, per Armis research -- attackers find them first
67%
of breaches exploit assets that the security team did not know existed or believed were decommissioned

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:

ProblemRoot CauseFix
Inventory is always out of dateManual updates onlyAutomated discovery on a schedule
Cloud assets missing entirelyCMDB was designed for on-premIntegrate cloud provider APIs
IoT and OT devices not trackedPassive-discovery-only tools miss themAdd network traffic analysis for passive discovery
Shadow IT not in inventoryOnly approved assets are trackedExternal attack surface scanning
Inventory has records, not contextNo criticality or owner dataEnrich 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:

AttributeWhy It Matters
Hostname and IP (primary + all aliases)Link to vulnerability scan results
MAC addressNetwork control (802.1X, NAC)
OS and versionVulnerability prioritization, patch management
Asset criticality (Critical/High/Medium/Low)Risk-based patching SLAs
Business owner / technical ownerEscalation path for vulnerabilities
Environment (Prod/Dev/Test/Staging)Scope definitions for security controls
Network segment / VLANSegmentation verification
Agent deployed (EDR, vulnerability scanner)Coverage gap identification
Cloud provider / accountCloud 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 CriticalityInternal Scan FrequencyExternal Scan Frequency
Critical (payment, auth, data stores)DailyWeekly
High (production servers)WeeklyWeekly
Medium (internal servers)MonthlyMonthly
Low (workstations, printers)QuarterlyN/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.

Free daily briefing

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)
  • CostCenter
  • Criticality (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:

  1. 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.

  2. 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.

  3. 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:

ToolApproachBest For
Censys ASMCertificate transparency + DNS enumeration + IP ownershipComprehensive external discovery
Shodan MonitorContinuous scanning of your IP rangesOrganizations with known IP space
Runzero (formerly Rumble)Fast internal + external discoverySMB and mid-market with limited tooling
Tenable Attack Surface ManagementEASM integrated with Tenable VMTenable VM customers
Microsoft Defender EASMCloud-native, Azure-integratedMicrosoft-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:

  1. CASB/SSE proxy: Intercept web traffic to identify SaaS destinations; Netskope and Zscaler categorize 40,000+ cloud apps
  2. DNS query analysis: Analyze DNS logs for corporate devices resolving SaaS app domains
  3. Browser extension inventory: Policy-enforce browser extension lists via Chrome Enterprise or Intune; extensions are often untracked cloud app connectors
  4. 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

  1. CIS Controls v8: Control 1 - Enterprise Asset Management
  2. NIST SP 800-128: Guide for Security-Focused Configuration Management
  3. Armis State of Cyber Exposure Report
  4. Steampipe Cloud Query Tool

Free resources

25
Free download

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.

No spam. Unsubscribe anytime.

Free download

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.

No spam. Unsubscribe anytime.

Free newsletter

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.

Eric Bang
Author

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.

Free Brief

The Mythos Brief is free.

AI that finds 27-year-old zero-days. What it means for your security program.

Joins Decryption Digest. Unsubscribe anytime.

Daily Briefing

Get briefings like this every morning

Actionable threat intelligence for working practitioners. Free. No spam. Trusted by 50,000+ SOC analysts, CISOs, and security engineers.

Unsubscribe anytime.

Mythos Brief

Anthropic's AI finds zero-days your scanners miss.