- PERSONA
- Educator / Student
- CATEGORY
- Education
- ENDPOINTS
- 5 used
- UPDATED
- April 2026
Real DFIR tools for students and instructors
Teaching DFIR with real tools is harder than it should be
- VirusTotal free tier is capped at 500 lookups/day per key and prohibits institutional sharing.
- Enterprise TI platforms quote $20k+/year and require a 12-month commitment — outside every course budget.
- Self-hosted sandboxes (Cuckoo, CAPE) need a GPU host, a maintenance plan, and a semester of TA time to keep running.
- Students graduate having read about IOC enrichment without ever running a real query against a real dataset.
“VirusTotal free tier is capped at 500 lookups/day per key and prohibits institutional sharing.”
The endpoints that solve it
IOC enrichment
Submit a batch of IPs, domains, URLs, or hashes and get a normalized verdict per indicator across up to 11 sources. Ideal for a 'triage this incident' lab where students defend their conclusions against multi-source evidence.
Phishing email analyzer
Hand students a real .eml, ask them to explain the SPF/DKIM/DMARC verdict, then let them compare against the API's output. Great first-week exercise for an incident-response module.
File / malware static analysis
Upload a sample, get hashes, PE / ELF metadata, strings, and a multi-source reputation lookup. Use for malware-fundamentals classes that need something between 'read the strings' and 'run a full sandbox'.
AI triage with rationale
Returns a verdict and the reasoning behind it — the single most useful endpoint in a teaching setting because it models the analyst's thought process in natural language, which students can critique.
Public classroom tools
/ioc-check and /phishing-check are free, browser-based, and zero-setup. Perfect for live demos in a lecture theatre without asking the class to create accounts.
A 10-week course, one shared credit budget
# Week 3 lab: students classify a list of indicators and defend
# their verdict against multi-source evidence. ~10 indicators per
# student at 3 credits each = 30 credits per submission.
import os, requests
API_KEY = os.environ["DFIR_API_KEY"] # shared classroom key
indicators = [
{"type": "ip", "value": "45.142.212.x"},
{"type": "domain", "value": "login-paypa1.example"},
{"type": "url", "value": "https://bit.ly/fakelink-demo"},
]
r = requests.post(
"https://api.dfir-lab.ch/v1/enrichment/lookup",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"indicators": indicators},
timeout=30,
)
# Students write up: which sources agreed? where did they disagree?
# what single piece of evidence would change the verdict?
for result in r.json()["results"]:
print(result["indicator"], "->", result["verdict"])- 01Step 01
Instructor signs up on the Academic tier
Register from a .edu (or national academic) address. Academic eligibility is reviewed manually — a syllabus link or course page is usually enough.
- 02Step 02
Issue a shared lab key
The Academic tier includes 2 API keys. Keep one for instructor prep, issue the second as the classroom key — rotated per term.
- 03Step 03
Design the weekly exercise
Pick one endpoint per week. Week 1: /phishing-check in the browser. Week 3: /v1/enrichment/lookup in Python. Week 7: /v1/file/analyze on a sample from your teaching corpus.
- 04Step 04
Grade on reasoning, not verdict
The /v1/ai/triage endpoint returns an explanation. Ask students to agree or disagree with it in writing — the grading target is the argument, not the label.
- 05Step 05
Reset every month
Academic credits refresh monthly. Course runs longer? A second month of $9 or a one-time $9 top-up covers a whole semester.
Pricing that tracks your workload
- 01
Small seminar — 8 students, weekly 10-IOC lab
8 × 4 × 10 × 3 = 960 credits/month — OR split across weeks: ~240 credits/week peakOne Academic seat ($9/mo, 500 credits) covers 2 of 4 weeks; a second month or a 500-credit top-up ($35) covers the whole semester. - 02
Standard class — 20 students, weekly 10-IOC lab
20 × 4 × 10 × 3 = 2,400 credits/month — spread as ~600 credits/weekAcademic (500 credits) does not cover this alone — pair with a 2,000-credit top-up, or step up to Professional ($99, 2,500 credits) for the duration of the course. - 03
Bootcamp cohort — 30 students, IOC + file + AI mix
30 × 4 × (5 × 3 + 1 × 5 + 1 × 10) = 30 × 4 × 30 = 3,600 credits/monthFits Professional ($99/mo, 2,500 credits) plus a 1,000-credit top-up, or negotiate an Enterprise seat for a multi-cohort program.
Three ways to evaluate
Apply for the $9 Academic tier
Full API access, dashboard, and your own credits. Includes everything the free tier offers.
Try /ioc-check — live in class, no signup
The public IOC checker. Paste an IP, domain, URL, or hash and watch the multi-source verdict resolve live. Best first-lecture demo we have — no accounts, no keys, no setup friction.
API reference
Full schema, error codes, rate limits, and copy-ready code snippets for every endpoint referenced above.
Frequently asked
- Q / 01
- Instructors and students at accredited universities, community colleges, and recognized cyber programs, using an institutional email address or with a verifiable affiliation (staff page, syllabus, program listing). If your situation is borderline, email us and explain — we would rather say yes than be gatekeepers.
- Q / 02
- The Academic tier includes 2 API keys. The common pattern is one instructor key and one shared classroom key rotated each term. A per-student key is not required — students authenticate by calling from a lab machine / notebook, not by owning individual accounts.
- Q / 03
- No — it is a full, ongoing plan at $9/month. You keep paying $9 as long as the account is active and verified as academic. Convert to a paid tier if you leave academia.
- Q / 04
- Yes. Students writing a dissertation in DFIR or threat intelligence are explicitly welcome on the Academic tier. Cite the platform and endpoints used — that is all the attribution required.
- Q / 05
- The /v1/file/analyze endpoint accepts hashes — so classroom exercises can pivot on a known sample hash (e.g. from VX-Underground, Malware Bazaar) without every student downloading live binaries. Safer for the students and for the campus network.
- Q / 06
- A starter pack of Jupyter notebooks lives in the docs. Contributions welcome — the instructor community pushes back sample assignments and we merge the good ones.
Other teams solving adjacent problems
Stop triaging by hand.
Create a free account — 100 credits per month, no credit card. Or keep browsing to find the use case that matches your workflow.