monkey
monkey copied to clipboard
Infection Monkey - An open-source adversary emulation platform
# What does this PR do? Fixes #2156 ## PR Checklist * [ ] Have you added an explanation of what your changes do and why you'd like to include...
## Summary The `EventQueue` will manage publisher/subscriber functionality within both the agent and island. Implement the event queue [using pypubsub](https://github.com/guardicore/monkey/issues/1951#issuecomment-1148803965). ## Goals - Publishers and subscribers should be protected from...
# Refactor ## Component(s) to be refactored - AWS version lambda ## Explanation The AWS lambda is violating the single responsibility principle by doing at least 3 different things: 1....
## Description The Hugo documentation needs to be hosted on Linode instead of Guardicore's server. ## Tasks - [x] Work with IT to get Linode an infection monkey account and...
# Refactor ## Component(s) to be refactored - Agent - infection_monkey.credential_collectors - infection_monkey.telemetry.messengers.CredentialsInterceptingTelemetryMessenger ## Explanation Use the EventQueue in the agent to handle `CredentialsStolenEvent` events. Register for these events and...
Follow up to #2130 ### By-reference vs by-value tokens The main libraries for session-based authentication are [Flask-Login](https://flask-login.readthedocs.io/en/latest/#login-example) and more robust version of it [Flask-Security](https://github.com/Flask-Middleware/flask-security/). Although, based on [this article](https://blog.devgenius.io/flask-how-to-create-authentication-system-without-flask-login-cf804c8152a8) setting...
## Description Write a subscriber in the agent that subscribes to all events and pushes them to the `/api/events` endpoint on the Island. The subscriber should receive events and push...
# Refactor ## Component(s) to be refactored - `CredentialsTelem` - Island - Agent ## Explanation Telemetry is being replaced by events. Specifically, `CredentialsTelem` is being replaced by `CredentialsStolenEvent`. ## Tasks...
## Summary Receive `CredentialsStolenEvents` in the Island and store them in the `IEventRepository` ## Tasks - [ ] Create `IEventRepository` for storing events - [ ] Remove `ITelemetryRepository` - [...
## Description The island and agent cannot have _a priori_ knowledge about all event types. Rather, events will need to be registered with the island so that it can serialize/deserialize...