SENTINEL
AI Security Interpreter
Hackathon Track: Coding Track Project Type: Functional Security Prototype
“Sentinel doesn't just tell you whether something is suspicious. It shows you why.”
1. Project Overview
Sentinel is an explainable security analysis tool for suspicious URLs, QR codes, and messages.
It analyzes security indicators, produces a deterministic risk score from 0–100, displays the evidence behind that score, and uses a locally running AI model to translate the technical findings into plain language.
The main design principle is the separation between security assessment and AI explanation. Sentinel's security engine calculates the risk score. The AI does not calculate, modify, or override the assessment. It only explains the evidence already produced by the security engine.
Deployment Disclaimer
The public Vercel deployment of Sentinel does not currently run the Ollama/Llama AI model. Vercel hosts the Sentinel web interface and security analysis backend, while AI-generated explanations fall back to a lightweight local explanation system when Ollama is unavailable.
The full Sentinel environment can be run locally with Docker, where Ollama and Llama 3.2 3B provide the AI explanation layer.
The security risk score is calculated independently by Sentinel's deterministic security engine and is not generated or modified by the AI. This ensures that the AI explanation cannot arbitrarily change the underlying security assessment.
Public Demo: Lightweight deployment with deterministic analysis and fallback explanations. Local: Full deployment with Ollama + Llama 3.2 3B.
2. The Problem
Suspicious links are common in messages, websites, emails, and QR codes.
A URL can contain multiple technical indicators that are difficult for an ordinary user to understand. Many security tools provide a verdict such as “safe” or “dangerous” without clearly explaining the evidence behind that decision.
This can make it difficult for users to understand why a URL received a particular risk assessment.
Sentinel addresses this problem by turning security findings into an explainable report.
3. The Solution
Sentinel provides three main analysis methods:
URL Analysis
Users can submit a URL directly. Sentinel examines characteristics such as:
- HTTP or HTTPS usage
- IP addresses
- Suspicious URL patterns
- URL length
- The
@symbol - Domain-like text before an
@symbol - Multiple subdomains
- Non-standard ports
- Reputation information
QR Code Analysis
Sentinel can decode a QR code and extract its destination.
The extracted URL is then passed through the same security analysis engine used for normal URLs.
Message Analysis
Sentinel can analyze a message, extract URLs from it, and send those URLs through the security engine.
This allows suspicious links inside messages to be investigated without manually analysing every URL separately.
4. What Makes Sentinel Different
Sentinel focuses on explainability.
Instead of only displaying a risk level, Sentinel shows the individual findings that contributed to the assessment.
For example, a URL might receive points because it:
- contains multiple suspicious terms,
- contains an
@symbol, - contains domain-like text before the
@symbol, - or uses a non-standard port.
The user can therefore see how the final score was produced.
Another important feature is the controlled use of AI.
The local AI model does not make the security decision. Sentinel's deterministic security engine makes the assessment, while the AI converts the existing evidence into simple language.
5. System Architecture
Sentinel follows this general pipeline:
User Input → Security Engine → Evidence Collection → Risk Engine → Evidence JSON → AI Explainer → Human-readable Risk Report
The backend is implemented using Flask.
URL requests are processed by the URL analyzer, which collects security findings and sends them through the scoring and evidence systems.
QR requests are first decoded using OpenCV. The extracted destination is then passed to the URL analyzer.
Message requests are processed by extracting URLs from the message and passing each URL through the same URL analysis engine.
The frontend displays the results through an interactive dashboard containing the risk score, risk level, evidence findings, matched patterns, explanations, and expandable evidence details.
6. Security Analysis Engine
Sentinel currently uses deterministic security indicators.
| Indicator | Behaviour |
|---|---|
| HTTP connection | Adds 10 risk points |
| IP address | Adds 20 risk points |
| Multiple suspicious URL patterns | Adds 15 risk points |
| URL longer than 200 characters | Adds 5 risk points |
@ symbol |
Adds 20 risk points |
Domain-like text before @ |
Adds 15 risk points |
| Many subdomains | Adds 10 risk points |
| Non-standard port | Adds 10 risk points |
| Malicious reputation result | Adds 40 risk points |
| Suspicious reputation result | Adds 20 risk points |
The suspicious URL pattern detector currently checks terms such as:
login, verify, account, password, secure, update
Two or more matching patterns produce the corresponding finding.
These indicators are treated as evidence rather than automatic proof of malicious intent.
7. Risk Scoring
Sentinel calculates a score between 0 and 100.
| Score | Risk Level |
|---|---|
| 0–24 | LOW |
| 25–49 | MODERATE |
| 50–74 | HIGH |
| 75–100 | CRITICAL |
The score is calculated by adding the points associated with the detected findings.
The final score is then limited to the range of 0–100.
The risk level is determined from the final score.
8. AI Explanation Layer
Sentinel uses Ollama with a locally running Llama 3.2 3B model.
The AI receives structured information containing:
- The final risk score
- The final risk level
- Security findings
- Finding explanations
- Finding severity
- Point contributions
- Additional evidence details
The AI is instructed to explain only the evidence provided by Sentinel.
It is explicitly instructed not to:
- Calculate the score
- Change the risk level
- Invent security findings
- Discuss security features that were not detected
- Make unsupported claims
- Treat missing information as proof of safety
If the local AI service is unavailable, Sentinel has a deterministic mock explanation as a fallback.
9. Reputation Analysis
Sentinel can use the VirusTotal API to obtain domain reputation information.
When configured, the system checks the domain against VirusTotal and uses the returned information as additional evidence.
For example, malicious or suspicious detections can contribute risk points.
API credentials are stored through an environment variable rather than directly inside the source code.
If reputation information is unavailable, Sentinel treats this as an informational condition rather than assuming that the domain is safe.
10. Technology Stack
| Component | Technology |
|---|---|
| Backend | Python |
| Web API | Flask |
| Frontend | React |
| Frontend language | TypeScript |
| Build tool | Vite |
| QR decoding | OpenCV |
| Reputation | VirusTotal API |
| Local AI | Ollama + Llama 3.2 3B |
| Testing | Python automated tests |
| Version control | Git + GitHub |
11. Example Assessment
One demonstration URL used during development was:
https://[email protected]:8080/login/verify/account
Sentinel detects the following indicators:
| Finding | Points |
|---|---|
| Multiple suspicious URL indicators: login, verify, account | +15 |
@ symbol |
+20 |
Domain-like text before @ |
+15 |
| Non-standard port 8080 | +10 |
| Total | 60 / 100 — HIGH |
This demonstrates Sentinel's explainability because the final score can be traced directly back to the evidence displayed by the dashboard.
12. Testing
Sentinel includes automated tests covering:
- Normal HTTPS URLs
- HTTP URLs
- IP-address URLs
- Suspicious URL patterns
@symbol handling- Long URLs
- Multiple subdomains
- Non-standard ports
- Invalid URLs
- Empty input
- Evidence details
- IP-address hostname handling
Current test result: 13 tests passed.
13. Current Limitations
Sentinel is a functional prototype and has several limitations.
- URL heuristics are indicators and are not proof of malicious intent.
- Reputation analysis depends on the availability of the external reputation service.
- The current message analyzer primarily focuses on extracting URLs.
- QR analysis depends on the quality and readability of the supplied image.
- The system is not intended to replace professional security investigation or enterprise security products.
14. Future Improvements
Future development could include:
- Redirect-chain analysis
- Domain-age information
- Additional reputation sources
- More advanced message analysis
- Analysis history
- Improved mobile optimisation
- Additional URL security indicators
- More detailed reputation information
- Expanded QR analysis capabilities
15. Project Status
Sentinel currently provides a functional prototype containing:
- URL security analysis
- QR-code-to-URL analysis
- Message URL extraction and analysis
- Deterministic risk scoring
- Explainable security evidence
- Interactive evidence display
- Local AI-generated explanations
- Automated testing
- GitHub source code and documentation
16. Core Philosophy
Sentinel is built around one simple principle:
Security decisions should be explainable.
Rather than simply telling users whether something is suspicious, Sentinel shows the evidence behind the assessment and translates that evidence into language that ordinary users can understand.
The security engine makes the assessment.
The AI explains it.
Sentinel doesn't just tell you whether something is suspicious. It shows you why.
Log in or sign up for Devpost to join the conversation.