Whale Sentinel Agents are lightweight runtime security modules that monitor, analyze, and optionally block HTTP requests in Python web applications. They provide intelligent protection and visibility by collecting and analyzing metadata at runtime.
These agents are plug-and-play components designed for frameworks like Flask, FastAPI, and Django. Once integrated and configured, they silently monitor or actively defend your application based on the selected operation mode.
| No. | Language | Framework | Support | Agent | Agent Version |
|---|---|---|---|---|---|
| 1 | Python | Flask >= 3.0.0 | ✅ | whale-sentinel-flask-agent |
0.1.1 |
| 2 | Python | FastAPI >= 0.15.0 | ✅ | whale-sentinel-fastapi-agent |
0.1.1 |
| 3 | Python | Django >= 5.2.0 | ✅ | whale-sentinel-django-agent |
0.1.1 |
The agent supports four operation modes defined in its runtime profile:
| Mode | Description |
|---|---|
off |
Disables protection. Requests are passed through without interception. |
lite |
Collects lightweight request metadata and sends it asynchronously. |
monitor |
Full request inspection with no blocking. Useful for passive analysis. |
protection |
Full active defense. Malicious requests may be blocked in real-time. |
secure_response_headers: If enabled, security headers (e.g.,X-Frame-Options,X-Content-Type-Options) will be added to outgoing responses.
Each request may trigger a metadata payload sent to Whale Sentinel backend or stored locally. This includes:
agent_idagent_name
ipdevice_typeplatformbrowser,browser_versionnetwork_type
method,url,scheme,host,endpointheaders: user-agent, content-type, content-length, referrerbody,query_parameters
file_name: Name of the uploaded filefile_size: File size in bytesfile_type: MIME type of the filefile_content: Base64-encoded content of the filefile_hash256: SHA-256 hash of the file content
ip_address,pid,run_asexecutable_path,executable_name,executable_versionprocess_name,process_path,process_commandplatform,cpu_usage,memory_usagearchitecture,os_name,os_version,os_build
- request_created_at: UTC timestamp in ISO 8601 format
This project is licensed under the MIT License.
If you discover a vulnerability, please report it responsibly via GitHub Issues or contact the maintainers privately.