Vulnerability › Module 3 › Lesson 3
Scope List
Build the authorized target list — $LAB_HOST and lab services you installed, nothing else.
Visual · scope_list
Scope list literacy. $LAB_HOST only. Original Cyberlium.
Opening
Scanners read YOUR scope file — not every IP the router knows about.
A scope list is the authoritative inventory of IPs, hostnames, and URLs approved for VA this cycle. It includes exclusions (production neighbors, cloud IPs out of contract) and owner contacts. Cyberlium teaches a one-row scope file for $LAB_HOST — expandable only with written RoE updates, never with 'interesting' strangers. You will NOT append classmate VMs because they are online, or café gateways for 'context.' Next: Inventory Lab.
1. In-scope vs out-of-scope columns
In-scope: $LAB_HOST IP/hostname, optional lab web URL on localhost or lab-only DNS. Out-of-scope: default gateway if not yours, dorm /24, employer prod, internet ranges, café Wi-Fi.
Professional VA imports scope CSVs into scanners — wrong scope equals wrong job; you practice precision on one row first.
Command guide
Try these commands — In-scope vs out-of-scope columns
═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)
Greenbone docs — https://docs.greenbone.net/ (scope lists for scans) NIST CSF Identify — https://www.nist.gov/cyberframework
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install python3
macOS:
Command — copy this
brew install python3
Windows: Download https://python.org/downloads/
═══ LINUX / macOS ═══
Command — copy this
cat > "$HOME/cyberlium-lab/t18-scope-list.txt" <<'EOF' in_scope: - 127.0.0.1 (lab VM) out_of_scope: - default gateway, classmates EOF
Command — copy this
grep -A2 in_scope "$HOME/cyberlium-lab/t18-scope-list.txt"
Primary tools to practice this lesson: grep, python3. Reference sites: Greenbone docs (https://docs.greenbone.net/); NIST CSF Identify (https://www.nist.gov/cyberframework). Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.
2. Scope changes need paperwork
Adding a second lab VM requires RoE update and date stamp — not a casual Discord IP paste. Removing targets after decomission prevents stale scan jobs.
Sharing scope files with classmate targets is scope violation — they maintain their own $LAB_HOST.
3. Ship the list before the scan
Create scope-list.txt with in/out columns for this module. Scanner modules later consume this artifact on $LAB_HOST only.
Ship: scope list with $LAB_HOST in-scope and NEVER ranges out. Next: Inventory Lab.
4. What you ship: VA scope list for $LAB_HOST
In-scope: $LAB_HOST. Out-of-scope: dorm, café, internet, strangers. chmod 600.
5. What you record before the next lesson
Date. Scope in/out columns. $LAB_HOST in-scope only. File t18-m03-l03-scope-list.txt chmod 600.
6. Wrong vs right: stranger nets vs YOUR lab assets
Worked failure — same MSF word, opposite target. Right never needs a café Wi-Fi or classmate laptop.
Wrong
Append neighbor IPs 'while building list.' Use 0.0.0.0/0 as scope.
Right
Write scope list with $LAB_HOST only. Next: Inventory Lab.
Mission: authorized scope list
1) Create in-scope row for $LAB_HOST. 2) List five out-of-scope examples (dorm, café, etc.). 3) Date and sign operator name. Never expand scope without RoE update.
Stuck? Ask Cyberlium AI Mentor
Scanners are dumb — they scan what you feed them. Feed only $LAB_HOST.
Knowledge Check
APPLY: A VA scope list defines:
Multiple choice
Knowledge Check
APPLY: True or False: Adding a classmate IP without RoE update is valid scope expansion.
True or False
Knowledge Check
APPLY: Out-of-scope for Cyberlium labs includes:
Multiple choice