~cedric/pumpkin

The MAS Demonic Surveillance Platform.
Updated README.
chg: [documentation] Added 10.1109/ACCESS.2020.3027357 in bibliography.
chg: [documentation] added some structure to the architecture.rt page.

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~cedric/pumpkin
read/write
git@git.sr.ht:~cedric/pumpkin

You can also use your local clone with git send-email.

#Pumpkin - The MAS Demonic Surveillance Platform 🎃


Table of Contents

Pumpkin, the MAS Demonic Surveillance Platform, is a libre software which is providing a backend architecture for executing tests on an infrastructure, collecting results and storing proof of checks. It also provides different mechanisms of extensions and connections.

#Conceptual architecture

flowchart LR

A[Probe with periodic behaviour] -->|JSON formatted result| B(Aggregation)
AA[Probe with cyclic behaviour] -->|JSON formatted result| B
AAA[Probe with one shot behaviour] -->|JSON formatted result| B
B --> C(Correlation Engine with cyclic behaviour)
C -->|Write| D[Database]
C -->|Send| E[Ad hoc module]
F[External source] -->|HTTP POST| C

The purpose of this rather complex example is to show what it would currently be possible to do.

Each agent is authenticated, registered and declare its availability (for the presence notification system). The OMEMO protocol can be used for communications between agents.

You can see some screen shots here.

Ad hoc module: a module in order to share data with external platforms, such as MISP or other database systems.

The correlation agent also provides a PubSub mechanism. More information in the documentation.

#Installation

#Install an XMPP server

To choose an XMPP server, visit this page.

To create a new XMPP account you can follow the steps here. Create an XMPP account for each demon. Each demon will have a different JID and a different password.

#Install the correlation agent

$ poetry install

#Documentation

A documentation is available here.

A list of references articles is provided here.

#License

pumpkin is distributed under the terms of the GNU Affero General Public License version 3.

Copyright (C) 2022 Cédric Bonhomme