# USBGuard/usbguard

USBGuard is a software framework for implementing USB device authorization policies (what kind of USB devices are authorized) as well as method of use policies (how a USB device may interact with the system)

Repository: https://github.com/USBGuard/usbguard
Canonical: https://ross.abutalabs.com/products/usbguard
Homepage: https://usbguard.github.io/
Language: C++
License: GPL-2.0
License Family: copyleft
Topics: usb, usb-devices, c-plus-plus, rule-language, security, security-hardening, whitelist, blacklist, linux, hacktoberfest
Last push: 2026-01-27T00:03:28+00:00

## Health v2 (maintenance only)
Score: 52/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 64, release rhythm 8, longevity 100
- inputs: {"age_days": 4186, "days_push": 219, "days_rel": 414, "gap_med": null, "n_releases_24m": 1}
- flags: no_readme
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1373, forks 152 (observed 2026-08-28T04:04:32.361717+00:00)

## What it is
USBGuard is a C++ software framework for implementing USB device authorization policies on Linux, protecting against rogue USB devices (BadUSB) via whitelisting and blacklisting based on device attributes. It includes a rule language, an enforcement daemon with an IPC interface, CLI and GUI tools, and a shared-library C++ API.

## Use cases
- block unauthorized USB devices from connecting to my Linux machine
- protect against BadUSB attacks
- create whitelist/blacklist policies for USB devices
- control how USB devices may interact with the system
- enforce USB device authorization policies via a daemon
- manage USB device rules from the command line or a GUI

## When to choose
- you run Linux and need kernel-enforced USB device authorization
- you want policy-based protection against rogue USB devices
- you need dynamic interaction with USB authorization rules via IPC, CLI, or GUI

## When to avoid
- you need USB device control on Windows, macOS, or other non-Linux platforms
- you only need simple USB storage mounting restrictions without a policy daemon

## Facets
- artifact type: framework
- maturity: active
- function: security, middleware
- domain: security, operating-systems, developer-tools
- platform: cpp
- tags: usb, badusb, device-authorization, whitelist, blacklist, usbguard, security-hardening, daemon, ipc, linux

## Member repositories
- USBGuard/usbguard (main) score 52

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:32.361717+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:40.947320+00:00, confidence not recorded.
  - homepage: https://usbguard.github.io/ (fetched 2026-08-29T11:57:03.066763+00:00, sha 24d8d132aa79)
- Data as of 2026-08-30T08:39:29.467469+00:00.
