RansomShield AI Real-Time Ransomware Detection System

RansomShield AI Real-Time Ransomware Detection System

A working ransomware detection system that scores every running process 0-100 using RandomForest, XGBoost and IsolationForest with a SOC dashboard, incident timeline and zero real malware in the code. Full Python source included.

Technology Used

Python 3.10.11 | Django 5 | Django REST Framework | scikit-learn | XGBoost | SQLite3 | psutil | watchdog | Chart.js | Tailwind CSS

codeAj
codeAjVerified
🏆5K+ Projects Sold
Google Review
4991999

Get complete project source code + Installation guide + chat support

Project Files

Get Project Files

What This Project Actually Does

RansomShield AI watches processes running on a machine and decides, in near real time, whether one of them is behaving like ransomware. Not by matching virus signatures — by watching behaviour. How many files a process is touching per second, whether those files are suddenly getting more random (entropy going up, which is what encryption looks like from the outside), how much it's writing to disk, how old the process is, how many network connections it has open.

All of that gets turned into a feature vector and pushed through three machine learning models plus a bank of behavioural rules. Out comes a single number between 0 and 100. Below 30 is SAFE. Above 81 is CRITICAL, and that's when the dashboard lights up and an email goes out.

Here's the part that matters for your submission: this project contains no ransomware. Not a line of it. The agent only ever reads small samples of files that other processes already wrote, to estimate entropy. It never writes, encrypts, renames or deletes anything. To demo detection you run python manage.py replay, which streams pre-generated synthetic telemetry through the exact same pipeline a live agent would use. Your examiner sees a CRITICAL incident on screen. Your laptop's files stay exactly where they were.

Key Features

  • 0-100 risk score with a real explanation. Click into any incident and you get a horizontal bar chart showing which features actually drove the score — z-score against a benign baseline, weighted by model feature importance. Nobody has to take the number on faith.
  • Three models, blended on purpose. RandomForest and XGBoost handle supervised classification. IsolationForest catches anomalies it's never been trained on. The /models page shows a side-by-side comparison table so you can explain why blending beats trusting any one of them.
  • A deliberate false-positive test built into the data. The training generator creates a "backup job" archetype — huge file throughput, near-zero entropy change. Legitimate software that looks scary. Watch BackupAgent.exe sit at LOW while svchost32.exe hits 100, and you've just demonstrated the hardest problem in behavioural detection.
  • Standalone endpoint agent. The agent/ daemon needs only psutil, watchdog and requests — no Django, no scikit-learn. It auto-registers at /api/v1/agents/register/, stores its API key in agent_config.json, then POSTs telemetry to /api/v1/telemetry/ every 2 seconds.
  • SOC-style dashboard. Live process table, incident list filterable by severity and status, per-process telemetry history charts at /processes/9931/, full event timeline with rule hits and the synthetic file activity log.
  • Response actions that stay safe. ALERT and QUARANTINE only, gated behind a setting that defaults to alert-only. There's no auto-terminate anywhere in the codebase, which is a design decision you can defend in your viva.
  • Email alerts that don't spam. A CRITICAL incident sends exactly one email, tracked via Incident.alert_sent. SMTP failures get caught and logged — they never break the detection pipeline.
  • Real evaluation metrics. Accuracy, precision, recall, F1, ROC-AUC, false-positive rate, backup-job-specific FPR and mean detection latency, all written to eval_results.json and rendered on screen. Deterministic per seed=42, so your report numbers match what your guide sees when they run it.

Why the Architecture Is Split Into Three Folders

This is the bit examiners tend to poke at, so it's worth knowing. The detection/ package has zero Django dependency — you can import it from the web app, from a script, from anything. The agent/ package has zero dependency on detection/ or Django, because in the real world you ship an agent to a thousand endpoints and you absolutely do not want scikit-learn on all of them. And backend/ ties it together with a shared ingest path in core/services.py that both the live API and the replay command go through, so the demo path and the production path are genuinely the same code.

Three folders, three responsibilities. It's the kind of thing that reads as "this person has actually thought about deployment" during a viva.

Real-World Applications

  • Endpoint detection and response tooling — the category Sophos, CrowdStrike and SentinelOne compete in, at a scale you can actually explain
  • Hospital and bank IT teams, where a single encrypted file server means patient records or transaction logs go offline
  • Behavioural anomaly detection on file servers and NAS boxes, where signature-based antivirus is always one variant behind
  • Security operations centre training material — the incident timeline and feature breakdown work well as a teaching artefact
  • Research into false-positive reduction, which is the actual bottleneck in deployed detection systems, not raw accuracy

One Hard Thing and One Easy Thing

The hard part: file-to-process attribution. A userspace agent using psutil and watchdog can only make a best-effort guess about which PID caused a file event — it checks which running process currently holds the file handle. Exact attribution needs kernel-level hooks, ETW on Windows or fanotify on Linux, and that's out of scope here. The project handles this honestly by bucketing unattributed events under pid 0 instead of quietly dropping them. If your examiner asks about limitations, this is your answer, and admitting it will score better than pretending it's solved.

The easy part: you never have to generate training data yourself. detection/data_synth.py builds the whole dataset — benign desktop activity, backup jobs, ransomware-like behaviour including a chunk of samples that simulate encrypting already-compressed media where the entropy signal goes weak. Run python -m detection.train, wait a couple of minutes, models are on disk. No dataset hunting on Kaggle at midnight.

Who Should Buy This

If you're a student who needs a working project for your college submission, final-year project, semester project, internship, or academic demonstration, this is for you. Whether you're studying BCA, B.Tech, MCA, M.Tech, Computer Science, IT, AI, Data Science, or another related field, you can choose a project that fits your requirements. If you need the source code, project report, documentation, or help setting up and running the project, CodeAj gives you the resources and support to get started faster.

Honestly, this one suits you especially well if your department leans toward security or if you want something that doesn't look like the fifth CRUD app your guide reviewed that week. It's also a solid pick if you like ML but want an application of it rather than another accuracy-score notebook.

Why CodeAj

You get the complete codebase — every Python file, migrations, management commands, the scenario generator, the trained model artefacts. Plus the project report and documentation, written to match what the code actually does instead of some generic template. If setup breaks on your machine, we'll get on it with you rather than pointing at a README. Browse more cyber security final year projects if you want to compare, or dig through the wider machine learning projects with source code collection. Django-specific builds live over in the Django final year projects section.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
No, and you can prove it in about thirty seconds. There's no encryption code, no file rename loop, no mass delete anywhere in the repo. The agent opens files in read mode only, to sample bytes for an entropy calculation. Everything the examiner sees during the demo comes from pre-generated JSONL files full of numbers. Show them scenarios/ransomware_like.jsonl and they'll see rows of feature vectors, not malware.
You run python manage.py replay ../scenarios/ransomware_like.jsonl. That command pushes synthetic telemetry through backend/core/services.py, which is the exact same ingest path a live agent hits. So the detection logic being demonstrated is real, only the input is synthetic. Add --live --speed 4 and the dashboard updates in front of the examiner as it plays, which looks a lot better than an instant dump.
Yeah. RandomForest, XGBoost and IsolationForest are all CPU models, and the training data is synthetic and small. Training finishes in a couple of minutes on ordinary hardware. Database is SQLite3, so there's no Postgres or Docker setup to fight with either.
Three inputs get blended. Supervised classifier confidence from RandomForest and XGBoost, an anomaly score from IsolationForest that was fitted only on benign telemetry, and a set of weighted behavioural rules like mass file modification, entropy spike, mass deletion and a young process behaving aggressively. Those combine into one number from 0 to 100, banded as SAFE, LOW, SUSPICIOUS and CRITICAL. Then open any incident and point at the contribution bar chart, which shows exactly which features pushed that score up. That last bit is what impresses people.
Because that's the failure mode real detection products get judged on. A backup or sync job moves an enormous number of files very fast, which looks exactly like ransomware if all you're counting is file operations. The difference is entropy, which barely moves for a backup. The benign_backup archetype in data_synth.py trains the models to tell them apart, and the /models page reports a backup-job-specific false positive rate so you can show the number instead of claiming it.
Only for the Tailwind CDN and Chart.js, which handle styling and charts. Train the models and generate the scenarios beforehand and the detection side works fully offline. If your college wifi is the usual disaster, download those two files locally and swap the CDN links before your presentation. Takes five minutes, saves a lot of panic.
Yes. Set RANSOMSHIELD_WATCH_DIR to whatever folder you want and run python -m agent.main. The agent registers itself, saves an API key to agent_config.json, then polls psutil and a watchdog observer every two seconds and sends numbers to the server. It never modifies anything in that folder. Your scores will sit in the SAFE band because normal desktop activity is boring, which is actually a good thing to show as a baseline right before you replay the CRITICAL scenario.
Setup to a populated dashboard takes roughly twenty five minutes if Python is already installed. That leaves you the rest of the time for the report and for actually understanding the pipeline, which matters more than the code during a viva. Message us on WhatsApp after purchase if anything breaks and we'll sort it out with you instead of leaving you to debug alone at 2 AM.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

4.9(38+ reviews)
Google review 1
Google review 2
Google review 3
Google review 4
Google review 5
Google review 6
Google review 7
Google review 8
Google review 9
Google review 10
Google review 11
Google review 12
Google review 13
Google review 14
Google review 15
Google review 16
Google review 17
Google review 18
Google review 19
Google review 20
Google review 21
Google review 22
Google review 23
Google review 24
Google review 25
Google review 26
Google review 27
Google review 28
Google review 29
Google review 30
Google review 31
Google review 32
Google review 33
Google review 34
Google review 35
Google review 36
Google review 37
Google review 38
⭐ 98% SUCCESS RATE
  • Full Development
  • Documentation
  • Presentation Prep
  • 24/7 Support