Mike Salvatore
|
0f0f50208d
|
Agent: Add missing "param" in docstring
Co-authored-by: Kekoa Kaaikala <kekoa.kaaikala@gmail.com>
|
2022-09-13 15:07:25 -04:00 |
Mike Salvatore
|
5905d3bf5b
|
Common: Add register_common_agent_event_serializers()
|
2022-09-13 15:04:45 -04:00 |
Mike Salvatore
|
ad01003480
|
Common: Rename i_event_serialize{,r}.py
|
2022-09-13 14:58:15 -04:00 |
Mike Salvatore
|
1c742c3f96
|
Merge pull request #2280 from guardicore/2179-credentialsstolenevent-pydantic
2179 credentialsstolenevent pydantic
|
2022-09-13 14:47:10 -04:00 |
Mike Salvatore
|
1503c3f0ba
|
Common: Switch AbstractAgentEvent.source from int to AgentID
|
2022-09-13 13:25:47 -04:00 |
Mike Salvatore
|
80cd5a05a1
|
Common: Move AgentID definition to common
|
2022-09-13 13:25:45 -04:00 |
Mike Salvatore
|
1998d492eb
|
Agent: Remove disused credential_collectors.credential_components pkg
|
2022-09-13 13:17:02 -04:00 |
Mike Salvatore
|
04d79a0a35
|
Agent: Add TCPPortSelector
|
2022-09-13 12:24:14 -04:00 |
Ilija Lazoroski
|
31f3c1a4d6
|
UT: Fix all unit tests that we creating events to use pydantic
|
2022-09-13 17:53:58 +02:00 |
Ilija Lazoroski
|
1799f1253c
|
Common: Make AbstractAgentEvent to be a pydantic modell
In this way we are saying that every event needs to be a pydantic model
for which we may pay the price later on.
|
2022-09-13 17:45:48 +02:00 |
Ilija Lazoroski
|
a68a765722
|
Common: Make CredentialsStolenEvent to be a class
|
2022-09-13 17:45:48 +02:00 |
Kekoa Kaaikala
|
1a96e9fd8d
|
Common: Make CredentialsStolenEvent a pydantic model
|
2022-09-13 17:45:48 +02:00 |
Kekoa Kaaikala
|
78d5094f90
|
Common: Use int instead of UUID in AbstractAgentEvent
|
2022-09-13 17:45:48 +02:00 |
Kekoa Kaaikala
|
69063de627
|
Agent: Add note about unintentional disconnect
|
2022-09-13 15:38:19 +00:00 |
Kekoa Kaaikala
|
4ba4cb583a
|
Agent: Add thread ID to SocketsPipe thread name
|
2022-09-13 15:32:15 +00:00 |
Mike Salvatore
|
bde44f74f5
|
Merge pull request #2275 from guardicore/2179-implement-pydantic-event-serializer
2179 implement pydantic event serializer
|
2022-09-13 09:56:57 -04:00 |
Mike Salvatore
|
69e11d6b50
|
Common: Ignore mypy cyclical definition warning for JSONSerializable
|
2022-09-13 09:22:24 -04:00 |
Ilija Lazoroski
|
d3a4f255f0
|
Common: Use isinstance in PydanticEventSerializer
|
2022-09-13 14:09:54 +02:00 |
Mike Salvatore
|
ef2bac6de2
|
Merge pull request #2278 from guardicore/2234-remove-repository-service
Island: Remove RepositoryService
|
2022-09-13 08:01:36 -04:00 |
Mike Salvatore
|
6c0b63aa29
|
Common: Don't hide AttributeError from the caller
|
2022-09-13 07:55:15 -04:00 |
Mike Salvatore
|
780595cf19
|
Common: Use `simplify=True` in PydanticEventSerializer
|
2022-09-13 07:53:30 -04:00 |
Mike Salvatore
|
34e843f7f3
|
Common: Make PydanticEventSerializer generic
|
2022-09-13 07:50:38 -04:00 |
Ilija Lazoroski
|
dcd9cab0f4
|
Project: Remove clear_simulation_data entry from vulture_allowlist
|
2022-09-13 13:40:54 +02:00 |
Ilija Lazoroski
|
62ab6e5a77
|
Common: Add generic events to PydanticEventSerializer
|
2022-09-13 13:38:41 +02:00 |
Ilija Lazoroski
|
88d65f40ae
|
Project: Add PydanticEventSerializer to vulture_allowlist
|
2022-09-13 13:38:41 +02:00 |
Ilija Lazoroski
|
9e9160304c
|
UT: Add unit tests for PydanticEventSerializer
|
2022-09-13 13:38:41 +02:00 |
Ilija Lazoroski
|
1755d72ae7
|
Common: Export PydanticEventSerializer from __init__
|
2022-09-13 13:38:33 +02:00 |
Ilija Lazoroski
|
e756e0dbc3
|
Common: Implement EventSerializer for pydantic objects
|
2022-09-13 13:38:26 +02:00 |
Mike Salvatore
|
d58d8bb87b
|
Island: Remove RepositoryService
Issue #2234
|
2022-09-13 07:26:13 -04:00 |
Mike Salvatore
|
b226c84b6c
|
Merge pull request #2277 from guardicore/2234-refactor-clear-simulation-data
2234 refactor clear simulation data
|
2022-09-13 07:25:49 -04:00 |
Mike Salvatore
|
7c86bfc182
|
Island: Rename _handle_*_events() -> _subscribe_*_events()
|
2022-09-13 07:24:25 -04:00 |
Ilija Lazoroski
|
f944347644
|
UT: Test ResetAgentConfiguration endpoint
|
2022-09-13 11:41:08 +02:00 |
Ilija Lazoroski
|
f87fb39b0f
|
Project: Add clear_simulation_data to vulture_allowlist
Remove once #2277 is closed
|
2022-09-13 11:30:13 +02:00 |
Mike Salvatore
|
4e49e59447
|
Island: Rename local event_queue -> island_event_queue
Disambiguate Island event queues from Agent event queues
|
2022-09-13 11:07:35 +02:00 |
Mike Salvatore
|
6d297dc201
|
Island: Subscribe legacy Database.reset_db to CLEAR_SIMULATION_DATA
|
2022-09-13 11:07:35 +02:00 |
Mike Salvatore
|
9479b56722
|
Island: Subscribe ICredentialsRepository to CLEAR_SIMULATION_DATA
|
2022-09-13 11:07:35 +02:00 |
Mike Salvatore
|
745027bf93
|
Island: Wrap island event handler setup in separate function
|
2022-09-13 11:07:35 +02:00 |
Mike Salvatore
|
7f29e0342d
|
Island: Use interface instead of concrete in island_event_handlers
|
2022-09-13 11:07:35 +02:00 |
Mike Salvatore
|
ba724db969
|
Island: Publish IslandEventTopic.CLEAR_SIMULATION_DATA from resource
|
2022-09-13 11:07:35 +02:00 |
Mike Salvatore
|
2c750acc7a
|
Island: Return 204 No Content from ClearSimulationData POST
|
2022-09-13 11:07:35 +02:00 |
ilija-lazoroski
|
e0fb651c69
|
Merge pull request #2276 from guardicore/2234-refactor-reset-agent-config
2234 refactor reset agent config
|
2022-09-13 10:55:47 +02:00 |
Ilija Lazoroski
|
afa6c6b159
|
Island: Rename event_queue to island_event_queue
|
2022-09-13 10:44:52 +02:00 |
Ilija Lazoroski
|
2bfb85a652
|
UT: Add typehints to test_reset_agent_configuration
|
2022-09-13 09:33:48 +02:00 |
Ilija Lazoroski
|
599c753cf7
|
Island: Add docstrings to reset_agent_configuration event handler
|
2022-09-13 09:31:38 +02:00 |
Mike Salvatore
|
70978f9b30
|
Merge branch '2216-find-servers-concurrently' into 2216-fix-connection-issues
|
2022-09-12 16:49:07 -04:00 |
Kekoa Kaaikala
|
3dd2052dc5
|
Agent: Add debug logging to TCPRelay
|
2022-09-12 20:45:37 +00:00 |
Mike Salvatore
|
c532cdec72
|
Agent: Detect closed socket in SocketsPipe
When a socket is closed, select.select() returns the socket in the
read_list. A closed socket can be detected by attempting to read from
it. If 0 data is read, then the socket is closed.
See below for more details:
> If a socket is in the output readable list, you can be
as-close-to-certain-as-we-ever-get-in-this-business that a recv on
that socket will return something.
https://docs.python.org/3/howto/sockets.html#non-blocking-sockets
https://stackoverflow.com/questions/17386487/python-detect-when-a-socket-disconnects-for-any-reason
https://stackoverflow.com/questions/17705239/is-there-a-way-to-detect-that-tcp-socket-has-been-closed-by-the-remote-peer-wit
|
2022-09-12 16:35:36 -04:00 |
Mike Salvatore
|
fe954bb659
|
Agent: Call pipe.start(), not run()
run() blocks, start() starts the run method on a different thread.
|
2022-09-12 16:31:03 -04:00 |
Mike Salvatore
|
9002c47d56
|
Agent: Add a timeout on TCPPipeSpawner dest socket
|
2022-09-12 16:29:19 -04:00 |
Mike Salvatore
|
77c97062eb
|
Agent: Wrap relay stop logic in a method
|
2022-09-12 14:53:19 -04:00 |