Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add YARA queries to osquery-perf (#25272)
# Overview This PR adds support for remote YARA queries to osquery-perf, so that remote YARA queries can be load-tested. # Details The existing `runLiveQuery()` is updated to branch off into different query running functions based on the content of the query. If the query contains `from yara` and `sigurl`, then the new `runLiveYaraQuery()` function is run which makes a request to the Fleet "get yara rules" API before returning an appropriate response. Otherwise, the new `RunLiveMockQuery()` function is run which includes the previous logic for sending a mock response. # Testing I don't see any automated testing for osquery-perf, but I manually tested in the following way: 1. Started osquery-perf with `go run agent.go` 2. Ran a live query on the new host using ``` SELECT * FROM yara where sigurl="https://localhost:8080/api/osquery/yara/rule1.yar" ``` and verified that the result was as-expected: <img width="1642" alt="image" src="https://github.com/user-attachments/assets/a2c9cacf-e28d-409c-8e83-1c82809b89c0" /> I also used a log in Fleet to verify that the "get yara rules" API was really being called. 3. Ran another live query on the host using: ``` SELECT * FROM system_info" ``` and verified that the result was as expected: <img width="1665" alt="image" src="https://github.com/user-attachments/assets/a8d35389-f193-4902-badf-200d760fdf46" /> I also tested that sending a `sigurl` with the wrong host returns a `live yara query failed because sigurl host did not match server address` error # Checklist for submitter <!-- Note that API documentation changes are now addressed by the product design team. --> - [X] Added support on fleet's osquery simulator `cmd/osquery-perf` for new osquery data ingestion features.
- Loading branch information