{"id":47191970,"url":"https://github.com/usbshield/usbshield","last_synced_at":"2026-04-01T17:03:39.526Z","repository":{"id":343460802,"uuid":"1177829610","full_name":"USBShield/USBShield","owner":"USBShield","description":"USBShield protects your Windows from unauthorized USB devices","archived":false,"fork":false,"pushed_at":"2026-03-10T12:57:55.000Z","size":163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-10T19:14:00.723Z","etag":null,"topics":["security","usb","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/USBShield.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-10T12:16:39.000Z","updated_at":"2026-03-10T13:00:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/USBShield/USBShield","commit_stats":null,"previous_names":["usbshield/usbshield"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/USBShield/USBShield","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/USBShield%2FUSBShield","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/USBShield%2FUSBShield/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/USBShield%2FUSBShield/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/USBShield%2FUSBShield/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/USBShield","download_url":"https://codeload.github.com/USBShield/USBShield/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/USBShield%2FUSBShield/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30466310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T11:00:43.441Z","status":"ssl_error","status_checked_at":"2026-03-13T11:00:23.173Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["security","usb","windows"],"created_at":"2026-03-13T11:01:36.855Z","updated_at":"2026-04-01T17:03:39.509Z","avatar_url":"https://github.com/USBShield.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# USBShield\nUSBShield protects your Windows system from unauthorized USB devices.\n\n- Automatically **disables unknown USB devices** when inserted  \n- Simple and readable **rule** syntax  \n- Writes **warning logs** to Event Viewer  \n- **Portable** software  \n\n\n| Comparison        | USBShield | Endpoint Protector | DeviceLock | ManageEngine Device Control | GiliSoft USB Lock |\n|------------------------|-----------|--------------------|-----------|----------------------------------|-------------------|\n| Paid / Free            | **Free**      | Paid  | Paid | Paid          | Paid |\n| Open source            | **Yes**       | No                 | No        | No                               | No                |\n| Can block USB devices  | **Yes**       | Yes                | Yes       | Yes                              | Yes               |\n| Can log events         | **Yes**       | Yes                | Yes       | Yes                              | Limited    |\n\n\n----\n\n| - | - |\n| -- | -- |\n| ![](https://raw.githubusercontent.com/USBShield/USBShield/refs/heads/main/image/gui.jpg) |   |\n| ![](https://raw.githubusercontent.com/USBShield/USBShield/refs/heads/main/image/1.jpg) | ![](https://raw.githubusercontent.com/USBShield/USBShield/refs/heads/main/image/2.jpg) |\n| ![](https://raw.githubusercontent.com/USBShield/USBShield/refs/heads/main/image/3.jpg) | ![](https://raw.githubusercontent.com/USBShield/USBShield/refs/heads/main/image/4.jpg) |\n\n\n## How to Use (Installer / Easy)\n1. Download `setup.exe` and run the installer.\n2. Open `USBShield`.\n3. **Install** the service.\n\n- You can start or stop USBShield from the UI.\n- If you want to uninstall USBShield, make sure to uninstall the service first.\n\n\n## How to Use (Portable)\n1. Open **Command Prompt** (cmd).  \n2. Run `usbshield.exe generate-rules` to create a `rules.conf` file.  \n3. Open `rules.conf` and edit it if necessary (see *Rules* below).  \n4. Run `usbshield.exe list-devices` to display currently connected devices and see how USBShield will respond.  \n5. Run `usbshield.exe watch` in an **elevated** (administrator) Command Prompt to start monitoring.\n\n- Or just use `usbshield_gui.exe`.\n\n\n## Rules / Format\n- The default policy is: **deny any device not listed in `rules.conf`.** (except HUBs, which are allowed to prevent accidental blocking)\n- By default, `allow input` and `allow connected` are included in generated config file - you can remove them for _stricter_ protection.\n- Syntax: `allow {USBID}`\n- Use `#` to add comments.\n- **It is recommended to review your rules** with `usbshield.exe list-devices` _before_ starting `usbshield.exe watch`.  \n\nSpecial rules:\n- `allow input`\n  - Allows _input_ devices (such as keyboards or mice) even if they are not listed in `rules.conf`.\n- `allow connected`\n  - Allows currently connected devices even if they are not listed in `rules.conf`.\n  - When USBShield detects a device that is not listed in `rules.conf`, it will display a warning message and log it in the Event Viewer.\n\nFor Those who want strict rules:\n- Removing \"allow connected\" is recommended. Just remember to run `usbshield.exe list-devices` to ensure your rules are correct.\n\n\n## When Mistake Happens\n- When USBShield takes an action, it logs the event in Event Viewer.  \n- To allow a previously disabled USB device:\n  1. Stop USBShield (because it will disable device again)\n  2. Open **Device Manager** (`devmgmt.msc`).  \n  3. Find the disabled USB device and enable it.  \n  4. (Optional) Update your `rules.conf` by running `usbshield.exe generate-rules` again or by editing it manually.  \n- Another solution:\n  - Stop USBShield temporarily while you're using your computer.\n  - Restart USBShield when you are away (e.g., when your computer is locked)\n\n\n## Optional: Register as a Service\n- Use `usbshield.exe service install` to register USBShield as a service, allowing it to monitor your computer in the background.\nOther commands:\n```\nservice install     Install the USBShield service\nservice uninstall   Uninstall the USBShield service\nservice start       Start the USBShield service\nservice stop        Stop the USBShield service\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusbshield%2Fusbshield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusbshield%2Fusbshield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusbshield%2Fusbshield/lists"}