Bug › Module 7 › Lesson 2
No Data Harm
Validation without destroying, modifying, or exfiltrating real data on $PROGRAM scope — read program rules, prefer lab.
Visual · t20_no_data_harm
No data harm = no destroy, no mass exfil, no real PII in notes. Original Cyberlium.
Opening
A valid bug does not require harming real users — synthetic proof and your own test rows come first.
Responsible validation avoids deleting records, corrupting production data, changing stranger account settings, spamming notifications to real users, or exfiltrating PII you do not need for the report. Use accounts you created, cart lines with zero-dollar lab SKUs, harmless marker strings, revert test data when program allows. If only production exists, read $PROGRAM policy on test accounts and prohibited actions — when unclear, ask program security before destructive tests. Cyberlium refuses teaching data-destruction 'impact demos' on strangers, ransomware staging, or mass email triggers. Defenders want reproducible proof, not incident response from your submission. chmod 600 notes; redact before mentor share.
1. Harm categories to refuse
Mass exfiltration, account deletion, payment manipulation on real cards, spam/notification floods, persistent malware on in-scope hosts.
DoS and resource exhaustion — refused even if 'accidental' from scanners.
Command guide
Try these commands — Harm categories to refuse
═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)
PoC shaping — curl demonstrates request, not weaponized payload httpbin.org — safe educational mirror
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install curl sudo apt install jq
macOS:
Command — copy this
brew install jq
Windows: Built-in (PowerShell: Invoke-WebRequest)
Command — copy this
choco install jq
═══ LINUX / macOS ═══
Command — copy this
curl -sS 'https://httpbin.org/post' -X POST -H 'Content-Type: application/json' -d '{"role":"user"}' | jq '.json'
curl -sS 'https://httpbin.org/get?role=admin_test' | jq '.args'Primary tools to practice this lesson: curl, jq. Reference sites: PoC shaping; httpbin.org. Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.
2. Safer validation habits
Create disposable test users per program rules; use obvious test prefixes in names; delete your own test rows if allowed.
Describe theoretical blast radius when live test would harm others — triage accepts honest impact language with minimal proof.
3. Defender alignment
Programs log submissions — destructive tests burn trust and may violate CFAA/computer misuse laws outside safe harbor.
Report includes 'data touched' disclosure: synthetic only, one row, no foreign PII — transparency speeds triage.
4. What you ship: no-data-harm checklist
Refusal list + safer alternatives + data-touched disclosure line for reports.
5. What you record before the next lesson
No data harm checklist path.
6. Wrong vs right: random sites vs in-scope program
Worked failure — same MSF word, opposite target. Right never needs a café Wi-Fi or classmate laptop.
Wrong
Delete random production orders to prove admin IDOR impact.
Right
No-data-harm checklist written. Next: Dupes and Noise.
Mission: no-data-harm checklist
1) List five refused harmful actions. 2) Write safer alternative for IDOR and logic each. 3) Draft data-touched disclosure line. 4) chmod 600 storage rule.
Stuck? Ask Cyberlium AI Mentor
Ask Mentor: “Logic bug — when to stop before payment capture?”
Knowledge Check
APPLY: No data harm means:
Multiple choice
Knowledge Check
APPLY: True or False: Deleting prod records shows serious impact.
True or False
Knowledge Check
APPLY: Safer IDOR proof uses:
Multiple choice