Skip to content

Refactor of queues - #5035

Merged
scudette merged 4 commits into
masterfrom
queue_refactor
Sep 24, 2026
Merged

scudette merged 4 commits into
masterfrom
queue_refactor

Conversation

@scudette

Copy link
Copy Markdown
Contributor

The queue manager is used to pass messages between parts of Velociraptor. Previously, the queue name corresponded with the artifact name that defines the queue. However, this allowed messages intended to client monitoring to be passed to server monitoring artifacts under some conditions.

This refactor changes the queue name to also contain the artifact type. This change better keeps track of messages and which queues they are sent to.

Additionally, the journal manager now records two records in each monitoring row:

  1. The _Source records who authorized the row.
  2. The _From records who actually sent the row in the first place.

ACL decisions are now made based on the _Source only making it more consistent to determine if a row can be sent on a particular queue.

The queue manager is used to pass messages between parts of
Velociraptor. Previously, the queue name corresponded with the
artifact name that defines the queue. However, this allowed messages
intended to client monitoring to be passed to server monitoring
artifacts under some conditions.

This refactor changes the queue name to also contain the artifact
type. This change better keeps track of messages and which queues they
are sent to.

Additionally, the journal manager now records two records in each
monitoring row:
1. The _Source records who authorized the row.
2. The _From records who actually sent the row in the first place.

ACL decisions are now made based on the _Source only making it more
consistent to determine if a row can be sent on a particular queue.
This was not well naintained and increases attack surface.
@scudette
scudette merged commit 72ea73f into master Sep 24, 2026
6 checks passed
@scudette
scudette deleted the queue_refactor branch September 24, 2026 04:54
scudette added a commit that referenced this pull request Oct 4, 2026
The queue manager is used to pass messages between parts of
Velociraptor. Previously, the queue name corresponded with the artifact
name that defines the queue. However, this allowed messages intended to
client monitoring to be passed to server monitoring artifacts under some
conditions.

This refactor changes the queue name to also contain the artifact type.
This change better keeps track of messages and which queues they are
sent to.

Additionally, the journal manager now records two records in each
monitoring row:
1. The _Source records who authorized the row.
2. The _From records who actually sent the row in the first place.

ACL decisions are now made based on the _Source only making it more
consistent to determine if a row can be sent on a particular queue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant