Velociraptor vs GRR vs osquery

osquery answers SQL questions about endpoints but needs a separate fleet manager, GRR suits remote live forensics on a Python stack, and Velociraptor combines hunts, collection and offline collectors in one binary. This page shows which job fits which team.

On this page

Velociraptor vs GRR vs osquery: which fits your endpoint job

If your security team needs endpoint visibility or incident response on infrastructure you control, choose the tool that matches the job: osquery for continuous SQL inventory and monitoring, which needs a separate fleet manager, GRR for Google-built remote live forensics, and Velociraptor for VQL hunts, collection and offline collectors in one binary. The three overlap more than the labels suggest, and osquery can run inside both GRR and Velociraptor, so the question is which tool owns the workflow you run most often. If you need standing inventory questions answered across every host, such as running processes, open network connections or installed software, osquery is the natural core, but plan for a fleet manager such as one of the third-party options the osquery project lists. If your work is responding to a suspected compromise and pulling artifacts from specific machines, GRR and Velociraptor are the closer fit. Velociraptor also covers hunting across the fleet, and its offline collector can gather evidence from hosts where no client can be installed.

Check three things before you decide. First, confirm whether your responders need an in-house server with a web GUI and an API, or whether a Python-based deployment suits your engineers better. Second, confirm the licenses against your internal policy: osquery is Apache-2.0 or GPL-2.0-only at your option, GRR is Apache-2.0, and Velociraptor is AGPL-3.0, which carries network-use obligations for modified versions. Third, check whether osquery is already on your endpoints. GRR needs the osquery executable present and its Osquery.path setting configured, while Velociraptor's Windows.OSQuery.Generic artifact can push the binary on demand, which changes the rollout work. The tools can also be combined. A team might keep osquery for scheduled inventory and use Velociraptor for hunts and collection, or run osquery queries from inside an existing GRR deployment. Test the workflow you actually expect during an incident on a small lab group before standardizing, and ask any implementation partner to write down which tool handles which job in the agreed scope.

Which platform fits which endpoint scenario

This table maps common endpoint scenarios to the platform most likely to fit each one, with the supplied fact that drives the choice. Read the reason column first, then check the conditional rows against your team's existing skills and tooling.

ScenarioBest fitWhy
Continuous inventory and monitoring across many hostsosquery, or Velociraptor with its osquery artifactosquery runs scheduled queries through osqueryd, but it has no central management server, so you need a third-party fleet manager such as Fleet, Kolide, OSCTRL or Zentral. Velociraptor has a built-in server and can run osquery through Windows.OSQuery.Generic, which avoids a separate fleet manager.
Incident response on a known set of hostsVelociraptorVelociraptor's VQL artifacts, hunts and targeted collection are built for this work, and it is licensed under AGPL-3.0 with a Rapid7 backing history noted in the 2021 acquisition announcement.
Hosts that cannot take an installed clientVelociraptorOffline collectors built from the GUI have all the capabilities of a normal client, can run any artifact and write results to JSONL or CSV. GRR and osquery need an installed agent or executable on the target.
Team with Python skills and an existing GRR deployment (conditional)GRR, with the Rust agent path evaluatedGRR's server and clients are Python, and version 4.0.0.0 added RRG support for a Rust agent. Staying on GRR fits if your team already runs it, but the v2 API change in 4.0.0.0 means custom integrations and routers need updating.
Team that wants one server without a database (conditional)VelociraptorVelociraptor keeps its data in files on the server filesystem and needs no separate database. Confirm that file-based storage and the server's Linux-only full support fit your hosting plan.
Running osquery queries alongside GRR (conditional)GRR with osquery installed on each clientGRR's Osquery collector only works when the osquery executable is already on the client and its location is set in Osquery.path. Clients must be repacked and redeployed after that change, so plan the rollout before you need the query.
Lightweight triage on one machineVelociraptorThe velociraptor gui command starts a GUI, frontend and local client on one machine, which suits single-host triage without a deployed fleet.

Capability comparison across osquery, GRR and Velociraptor

This table compares the three open-source endpoint tools on job, query model, management, storage, operating system coverage, agent language, osquery support, offline collection, licensing and API status. Read each row against your own fleet: the cells that say to confirm are where your environment decides the answer.

CapabilityosqueryGRR Rapid ResponseVelociraptor
Primary jobSQL-based inventory and scheduled monitoring of operating system stateRemote live forensics and incident response on target systemsHunting, targeted artifact collection and client monitoring, with forensics in one tool
Query modelSQL tables compiled into the agent, run ad hoc in osqueryi or on a schedule via osquerydFlows run from the GRR server against clients, with an Osquery collector flow availableVQL queries wrapped in YAML artifacts that can be edited in the GUI without rebuilding clients
Central managementNone built in; the project lists third-party fleet managers such as Fleet, Kolide, OSCTRL and Zentral, which it does not endorse or testBuilt-in GRR server manages clients and flowsBuilt-in server with web GUI, frontend and gRPC API
Server storageNot applicable as a central server; storage depends on the chosen fleet managerPython server infrastructure; confirm its database and scaling model in the GRR documentation for your versionFiles on the server filesystem with no separate database; compatible with distributed file systems such as Amazon EFS
Supported endpoint operating systemsLinux, macOS and WindowsWindows, macOS and Linux client deployment guides are provided; confirm agent coverage for your exact versionsClient on each endpoint; confirm exact platform coverage for your versions in the documentation
Agent languageC++ compiled binaryPython agent and Rust agent (RRG), with both supported since GRR 4.0.0.0Single statically compiled Go executable
osquery supportNativeRuns osquery only if the executable is already on the client and Osquery.path is setCan push the osquery binary on demand via the Windows.OSQuery.Generic artifact
Offline collectionNot a feature of osquery itself; confirm with your fleet managerConfirm in GRR documentation for your versionOffline collectors built from the GUI have all client capabilities and write JSONL or CSV
LicenseApache-2.0 OR GPL-2.0-only, at your choiceApache License 2.0AGPL-3.0
API statusNot applicable; integrations depend on the fleet managerLegacy v1 HTTP API removed in GRR 4.0.0.0 in favor of v2 protobuf API; custom integrations need updatinggRPC API included; confirm current version and compatibility for your integrations

How GRR and Velociraptor run osquery queries

GRR and Velociraptor both can run osquery, but they get there in different ways, and the difference decides how much work lands on your team. In GRR, the Osquery collector flow only works when the osquery executable is already on the target client and its path is set in the Osquery.path configuration option. Because that setting is part of the client configuration, you must repack and redeploy the GRR clients after the change, so plan that rollout before you need the query. In Velociraptor, the Windows.OSQuery.Generic artifact can push the osquery binary to an endpoint on demand, so the binary does not have to be installed in advance. The trade-off is that the Velociraptor path depends on the artifact working on each operating system in your fleet, which you should confirm against the osquery releases page for the version you plan to deploy.

Neither bridge makes the three tools interchangeable. The Velociraptor history names GRR and osquery as two of the open source projects it drew inspiration from, but that lineage describes design ideas, not a shared feature set. Running osquery through GRR or Velociraptor gives you SQL-style tables on demand; it does not turn GRR into an inventory platform or give osquery a server, hunt manager or offline collector. Osquery still has no central management server of its own, so the bridge only helps if you already have a server to receive results. Decide first which job the team needs done (continuous inventory, remote forensics or collection for an incident), then decide whether the bridge is a convenience or a core dependency.

Before you rely on either bridge, test it in your own environment. Confirm the osquery version and binary for each operating system you run, including whether the Velociraptor artifact can deploy and execute it on your Windows builds and whether macOS and Linux endpoints need a separate path. For GRR, test the repack and redeploy cycle on a small group of clients and confirm that Osquery.path is applied as expected. Check that results return to the server with the fields your analysts need, and measure the effect of query load on endpoint performance on hosts that matter most. Record who owns the osquery binary lifecycle, including updates, since a pushed or pre-installed binary becomes another component to patch.

What each license allows and what, if anything, is paid

Velociraptor is licensed under the GNU Affero General Public License version 3 (AGPL-3.0), as stated in the project's LICENSE file. Rapid7 announced its acquisition of the project on April 21, 2021 and said it would continue to build the Velociraptor community and remained committed to supporting its open-source community. The supplied facts do not name a paid Velociraptor edition, so any commercial support terms must come from Rapid7 or the project directly.

  • Modified versions: If you change Velociraptor and let users interact with the modified server over a network, the AGPL-3.0 text requires that those users can obtain the corresponding source of your changes.
  • Distributed builds: If you pass binaries or offline collector builds to outside parties, the license attaches source and license obligations to that distribution.
  • Internal use: Running the stock binary for your own staff does not change the license terms on its own, but the network provision still applies to how your staff reach a modified server.
  • Commercial support: The supplied facts name no paid tier, so ask Rapid7 whether support, training or hardening is sold and on what terms.

Get the commercial support answer in writing, and have counsel review the network provision against how your analysts will reach the server.

What drives the running cost of each endpoint tool

Licensing is only one line in the budget for these three tools. The larger costs come from where the server runs, how agents reach endpoints, how queries are maintained and how much analyst time each hunt consumes. Read each card as a question to put to your implementation partner and to your own staff before you sign a quote.

Velociraptor server hosting

Velociraptor ships as one Go binary and keeps its data in files on the server filesystem, so there is no separate database to host. The server is typically deployed on a cloud VM and is only fully supported on Linux. Ask who owns that VM, its sizing for your host count, how the file store is backed up and whether the server sits in your own cloud account or a data center. Storage growth from collections is the cost to model first.

GRR server infrastructure

GRR runs a Python server stack that manages and talks to clients, and the current recommended install is Docker Compose. Hosting, patching and scaling that stack is a standing task for whoever runs the platform. Because GRR 4.0 removed the legacy UI and v1 API, the server team also carries the cost of keeping that stack on a supported version. Ask for the target server topology, the container host and the owner of server upgrades.

Fleet manager for osquery

osquery has no central management server, so a fleet manager is a separate product that you must select, host and secure. The osquery project lists options such as Fleet, Kolide, OSCTRL and Zentral, and it does not endorse or test them. Each one adds its own database, TLS setup, enrollment process and upgrade cycle. Ask whether the quote includes selecting and hosting that manager, and who answers when the manager and the agent versions drift apart.

Agent rollout and repacking

Agent deployment is often the largest one-time cost. For GRR, the osquery executable must already be on the client and its location set in the Osquery.path option, and clients are repacked and redeployed after that change. Velociraptor can push the osquery binary on demand through the Windows.OSQuery.Generic artifact, which reduces that pre-installation step. Ask how many endpoint platforms you run, which deployment tool pushes agents and how repacking is scheduled.

Query and artifact maintenance

Each tool needs ongoing work on the queries or artifacts that define what it looks for. osquery queries live in scheduled configuration. Velociraptor artifacts are YAML files you can edit in the GUI without rebuilding clients, which lowers the cost of each change but still needs review and version control. Ask who writes and tests custom artifacts or flows, how changes are approved and whether the quote covers the hunts you need in year one.

Analyst time for hunts and collection

Hunts, triage and forensic collections consume analyst hours, and that cost recurs with each incident and each audit request. Velociraptor's offline collectors can gather evidence from hosts where no client is installed, which shifts some work to collection planning and result handling. Ask for the expected number of hunts per month, the retention period for collected results and who reviews and preserves evidence, because those choices drive the staff time you will actually pay for.

What implementing each platform involves

Implementing osquery is mostly a rollout and management problem, because the project has no central server of its own. Your team installs the osquery agent on each endpoint, then chooses a fleet manager from the third-party options the osquery README names, such as Fleet, Kolide, OSCTRL or Zentral. That choice sets the work: you configure the query packs and schedules, decide where results are stored, and build the path that carries results to your SIEM or log platform. Confirm with your endpoint team how the agent will be packaged and pushed through your existing software distribution tooling, which fleet manager's license and support terms fit your procurement rules, and who owns the query library after go-live. Osquery's license is Apache-2.0 OR GPL-2.0-only, so confirm with counsel which option you will rely on.

GRR needs a server before it needs anything else. The GRR documentation recommends Docker Compose, with the Docker image, released pip packages and source installs as alternatives. Plan for the server and its storage, then build client packages for Windows, macOS and Linux using the client deployment guides and deploy them through your management tooling. If you intend to use GRR's osquery collector, the osquery executable must already be on the client and its location set in the Osquery.path option, and clients must be repacked and redeployed after that change. Because GRR 4.0.0.0 removed the legacy UI and the v1 HTTP API in favor of the v2 API, any custom integration or router needs an update plan before you upgrade. Confirm whether you need the Python agent, the Rust RRG agent, or both, since actions are scheduled on either depending on availability.

Velociraptor requires a Linux server, typically on a cloud VM, with the frontend, GUI and gRPC API running from a single binary and data kept in files on the server filesystem. Deploy the client to endpoints, or use offline collectors built from the GUI for hosts where a client cannot be installed. Offline collectors have the same capabilities as a normal client and can write results to JSONL or CSV. Most of the effort sits in reviewing the artifacts that ship with the product and tuning them for your environment, since VQL artifacts are YAML files you can change in the GUI without rebuilding clients or servers. Confirm the server sizing and storage growth for your expected collection volume, which Velociraptor deployment and release notes you will track given the 0.77.3 update, and who approves and tests artifact changes before they reach production.

Questions buyers ask before choosing or hiring help

Which tool should I choose for continuous inventory versus incident response?

For continuous inventory and scheduled monitoring, osquery is the narrower tool: it exposes operating system state as SQL tables and runs queries ad hoc in osqueryi or on a schedule through osqueryd, but it has no central management server of its own. For incident response collection, GRR and Velociraptor are built for remote live forensics and hunts across many hosts. Velociraptor adds a built-in server, VQL artifacts, file collection and offline collectors, which matter when hosts cannot always be reached. Choose by the job you will run most often, then confirm the agent, network and licensing terms against your own environment before standardizing. A fleet manager is an extra component to budget for if you pick osquery alone.

Can osquery be used with Velociraptor or GRR?

Yes, but the path differs by tool. Velociraptor can push the osquery binary to an endpoint on demand through its Windows.OSQuery.Generic artifact, so osquery does not have to be installed in advance. GRR can run osquery queries through its Osquery collector flow only when the osquery executable is already on the client and its location is set in the Osquery.path configuration option, and GRR clients must be repacked and redeployed after that change. Test both paths on a representative host group, and confirm which operating systems and osquery versions your chosen agent supports before you rely on either route.

What does a GRR 4.0 migration require?

GRR 4.0.0.0, released on December 15, 2025, adds server-side support for RRG, a Rust agent, and runs it alongside the Python agent. It also removed the legacy UI and the legacy v1 HTTP API in favor of the v2 API, which uses protocol buffers and a different JSON format. A migration therefore has three parts: inventory any custom API integrations and routers that call v1, rewrite them against v2, and decide whether new endpoints use the Python or Rust agent. Scope depends on how much your team automated on top of GRR. Ask the vendor and your integrators to confirm the exact change list for your version before you plan the cutover.

Can our team run these tools without outside help?

A team with Linux administration, endpoint tooling and incident response experience can run any of these tools internally, and the documentation for each is public. The harder parts are the server deployment, certificate and access setup, client packaging and deployment, and ongoing upgrades. Velociraptor is typically deployed on a cloud VM and is only fully supported on Linux, and its server stores data in files rather than a database, which simplifies operations. GRR is a Python server with a Docker Compose recommended install. If your team has no spare capacity for upgrades and security patching, an implementation partner can cover that part under a retainer, scoped in writing.

How much effort and time does implementation take, and what drives it?

The main drivers are the number and type of endpoints, the networks they sit on, whether clients can be installed directly or need offline collectors, how many custom artifacts or integrations you need, and how much existing tooling must be connected. Velociraptor's single binary and file-based server reduce some setup work, while GRR's Python server and agent packaging add steps. No supplied figure gives a duration for your environment, so ask for a written scope that lists the deployment, testing, integration, documentation and handover tasks, with dates tied to each. Fixed-scope engagements agree those deliverables in writing before work starts.

What does the work need from our staff?

Plan for people who can read and write queries (SQL for osquery, VQL for Velociraptor, and Python for GRR server work), who understand endpoint telemetry, and who can run incident response procedures. Someone must own agent deployment, version tracking and update windows. Velociraptor's documentation asks users to move to release 0.77.3 to address multiple CVEs, which shows why patch ownership must be explicit. Confirm with each vendor which versions receive security fixes, and assign a named owner for each tool before go-live.

What does licensing mean if we host these tools for other teams or clients?

The license controls what you must share, so read it before you offer the tool as a service. Velociraptor is licensed under AGPL-3.0, which carries network-use obligations for modified versions. GRR is Apache License 2.0, and osquery is Apache-2.0 OR GPL-2.0-only, where you may choose either license. Obligations also depend on whether you modify the code and how you distribute clients. Have your legal counsel review the exact terms for your hosting model, and ask any implementation partner to state in writing which license obligations its work creates for you.

How DeployOpen helps teams choose and implement endpoint visibility tools

DeployOpen plans, implements, customizes, integrates, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure. For endpoint visibility, that means matching the job to the tool first, then building the deployment, integrations and evidence around the chosen platform in the team's own cloud accounts, data centers or air-gapped networks.

How we scope

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
  • We confirm whether the need is live inventory queries, incident response collection or both, before naming a platform.
  • We confirm the license position with your legal team, including AGPL-3.0 obligations for Velociraptor and Apache-2.0 or GPL-2.0 terms for osquery and GRR.

How we build

  • We deploy the chosen platform in your environment, with the server, frontend and endpoint client configured for your network.
  • We design artifacts or collector flows for your priority use cases, and test them on representative hosts before any fleet-wide rollout.
  • Where osquery is involved, we set up how the binary reaches endpoints and how results reach your alerting or case workflow.

How we hand over

  • We document the deployment, configuration, artifact library and offline collector procedures for your operators.
  • We provide runbooks covering upgrades, such as applying the current Velociraptor release, and rollback steps.
  • We walk your security and IR staff through the handover so they can run hunts and collections without us.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • We can review new releases and advisories for your deployed platform and plan the upgrade window with your team.
  • Ask any provider to confirm in writing which platform versions, hosting models and support windows the quote covers.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.