{"id":19682998,"url":"https://github.com/egida-kassandra/kassandra","last_synced_at":"2025-06-11T08:08:57.406Z","repository":{"id":37650878,"uuid":"235619925","full_name":"Egida-Kassandra/kassandra","owner":"Egida-Kassandra","description":"Analysis of HTTP traffic and detection of anomalous user  behavior in allowed actions. UEBA system.","archived":false,"fork":false,"pushed_at":"2023-02-15T23:15:54.000Z","size":10901,"stargazers_count":22,"open_issues_count":7,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-29T05:35:11.812Z","etag":null,"topics":["anomaly-detection","http","ueba","unsupervised-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Egida-Kassandra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-22T16:54:04.000Z","updated_at":"2025-02-14T06:57:48.000Z","dependencies_parsed_at":"2025-04-29T05:41:01.542Z","dependency_job_id":null,"html_url":"https://github.com/Egida-Kassandra/kassandra","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egida-Kassandra%2Fkassandra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egida-Kassandra%2Fkassandra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egida-Kassandra%2Fkassandra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egida-Kassandra%2Fkassandra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Egida-Kassandra","download_url":"https://codeload.github.com/Egida-Kassandra/kassandra/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egida-Kassandra%2Fkassandra/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259227951,"owners_count":22824903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anomaly-detection","http","ueba","unsupervised-learning"],"created_at":"2024-11-11T18:13:27.088Z","updated_at":"2025-06-11T08:08:57.386Z","avatar_url":"https://github.com/Egida-Kassandra.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kassandra\n\n\u003c!-- PROJECT SHIELDS --\u003e\n[![KASSANDRA VERSION](https://img.shields.io/badge/kassandra-v0.1-blue?style=for-the-badge\u0026color=8B12D1)](https://github.com/albact7/kassandra)\n[![GitHub license](https://img.shields.io/badge/license-Apache-blue?style=for-the-badge)](https://github.com/albact7/kassandra/blob/master/LICENSE)\n[![GitHub release](https://img.shields.io/badge/release-v.0.0.1-yellowgreen?style=for-the-badge)](https://github.com/albact7/kassandra/releases)\n\n\u003c!-- PROJECT LOGO --\u003e\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Egida-Kassandra/kassandra\"\u003e\n    \u003cimg src=\"img/logo.svg\" alt=\"Logo\" width=\"180\" height=\"180\"\u003e\n  \u003c/a\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://egida-kassandra.github.io/kassandra/\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/Egida-Kassandra/kassandra\"\u003eView Source\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Egida-Kassandra/kassandra/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Egida-Kassandra/kassandra/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n## Table of Contents\n\n* [About the Project](#about-the-project)\n* [Prerequisites](#prerequisites)\n* [Installation](#installation)\n* [Getting Started](#getting-started)\n* [Running Tests](#running-tests)\n* [Run Dockerfile](#run-dockerfile)\n* [License](#license)\n* [Contact](#contact)\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About the Project\n\nKassandra analyzes user activity and detects anomalous behaviour  in HTTP requests that could be identified as non-malicious by other systems. Kassandra allows designing of anomaly detection policies. Kassandra is part of the project Egida and Kassandra, Egida can be checked \u003ca href=\"https://github.com/antonioalfa22/egida\"\u003ehere\u003c/a\u003e.\n\n\n## Prerequisites\n\n#### Prepare environment\n\n##### Install Python 3 and pip\n\n```bash\napt install -y python3 pip3 virtualenv\n```\n\n## Installation\n\n#### 1. Download the source from [here](https://github.com/albact7/kassandra/releases).\n \n#### 2. Create virtualenv\n\n```python\nvirtualenv -p /usr/bin/python3 venv\nsource venv/bin/activate\n```\n#### 3. Install requirements\nRun install.bat\n\n\u003c!-- RUN KASSANDRA --\u003e\n## Getting started\nTo start running Kassandra run the following on the root folder of the project.\n```bash\npython kassandra.py\n```\nThis will run an UDP server in localhost:5000, configure your proxy to point to that address.\n\n### Try on my own\n#### Needed files\nTo test Kassandra with you own files you should change [here](https://github.com/albact7/kassandra/blob/master/kassandra.py) the path to those files.\nYou will need:\n1. Train file. Log file with a huge number (40000 is OK) of HTTP requests of a server.\n2. Test file. Log file with some HTTP requests for testing.\n#### Designing of anomaly detection policies\nYou can also customize the anomaly values obtained by editing [config.yml](https://github.com/albact7/kassandra/blob/master/kass_nn/config/config.yml)\n* Danger values are reserved to change the weigh for each characteristc \n* Extended Isolation Forests are reserved for adjust the Machine Learning model to the training data\n\n\u003c!-- RUNNING TESTS --\u003e\n## Running tests\nTo run Kassandra with your own requests and test the model, run the following command and introduce the HTTP request corresponding log.\n```bash\npython kassandra-app.py\n```\n\n## Run Dockerfile\n\n### 1. Build\n\n```bash\ndocker image build -t kassandra .\n```\n\n### 2. Run\n\n```bash\ndocker run -p kassandra\n```\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the Apache 2.0 License. See `LICENSE` for more information.\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nAuthors:\n\n* [Alba Cotarelo Tuñón](https://www.albact.ml/)\n* [Antonio Payá González](https://antoniopg.tk)\n* [Jose Manuel Redondo Lopez](http://orcid.org/0000-0002-0939-0186)\n\nProject Link: [https://github.com/Egida-Kassandra/kassandra](https://github.com/Egida-Kassandra/kassandra)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegida-kassandra%2Fkassandra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fegida-kassandra%2Fkassandra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegida-kassandra%2Fkassandra/lists"}