{"id":24861602,"url":"https://github.com/xiosec/leakguard","last_synced_at":"2026-05-03T04:40:33.529Z","repository":{"id":181071198,"uuid":"666164976","full_name":"xiosec/LeakGuard","owner":"xiosec","description":"LeakGuard is a project to prevent the use of leaked passwords.","archived":false,"fork":false,"pushed_at":"2023-07-13T22:13:24.000Z","size":226,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T22:19:00.053Z","etag":null,"topics":["active-directory","hardening","ldap","leak","leakguard","lsa","lsass","security","windows","windows-internals"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiosec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-13T21:40:54.000Z","updated_at":"2023-08-13T19:57:23.000Z","dependencies_parsed_at":"2023-07-13T23:23:24.873Z","dependency_job_id":null,"html_url":"https://github.com/xiosec/LeakGuard","commit_stats":null,"previous_names":["xiosec/leakguard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiosec%2FLeakGuard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiosec%2FLeakGuard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiosec%2FLeakGuard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiosec%2FLeakGuard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiosec","download_url":"https://codeload.github.com/xiosec/LeakGuard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245698629,"owners_count":20657980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["active-directory","hardening","ldap","leak","leakguard","lsa","lsass","security","windows","windows-internals"],"created_at":"2025-01-31T22:18:43.717Z","updated_at":"2026-05-03T04:40:28.494Z","avatar_url":"https://github.com/xiosec.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Leak Guard\n\n[![xiosec - LeakGuard](https://img.shields.io/static/v1?label=xiosec\u0026message=LeakGuard\u0026color=blue\u0026logo=github)](https://github.com/xiosec/LeakGuard)\n[![stars - LeakGuard](https://img.shields.io/github/stars/xiosec/LeakGuard?style=social)](https://github.com/xiosec/LeakGuard)\n[![forks - LeakGuard](https://img.shields.io/github/forks/xiosec/LeakGuard?style=social)](https://github.com/xiosec/LeakGuard) [![GitHub release](https://img.shields.io/github/release/xiosec/LeakGuard?include_prereleases=\u0026sort=semver)](https://github.com/xiosec/LeakGuard/releases/)\n[![issues - LeakGuard](https://img.shields.io/github/issues/xiosec/LeakGuard)](https://github.com/xiosec/LeakGuard/issues)\n\n![banner](assets/images/banner.png)\n\n\u003cp align=\"center\"\u003e\n\u003ci\u003eLeakGuard is a project to prevent the use of leaked passwords\u003c/i\u003e\n\u003c/p\u003e\n\nLeakGuard has a [custom password filter](https://learn.microsoft.com/en-us/windows/win32/secmgmt/password-filters) module for Windows (Active Directory) which is loaded in the [lsass](https://learn.microsoft.com/en-us/windows-server/security/windows-authentication/credentials-processes-in-windows-authentication) process, and when a request is made to change or set a password for a user, this module sends the password to the server to check its leaking status. If the password has already been leaked, setting this password will be prevented.\n\n## Description\n\nI have always wanted to create a project that checks whether a user's password has already been leaked or not before choosing a password.\nThere are challenges for such a project, including the high volume of leaked passwords and the speed of password searches\nIn this project, elasticsearch is used to search passwords, which has an acceptable speed.\n\nIn one of the tests, the amount of time spent searching in `1,440,604` passwords was `3.6251095ms` on average.\n![banner](assets/images/test.png)\n\n# Setup and installation\n\nTo start the server, just run the following command in the [service](service/) folder:\n\n```bash\ndocker-compose up\n```\n\nIn the case of the Windows module, you must first compile the project and install it with the [install.ps1](module/install.ps1) script with the following command:\n\n```powershell\n\nPS C:\\\u003e . .\\install.ps1\nPS C:\\\u003e Invoke-LeakGuard -dllpath .\\LeakGuard.dll -name LeakGuard -address \u003cIP\u003e:\u003cPORT\u003e -token \u003cTOKEN\u003e\n```\n![banner](assets/images/install.png)\n\n## License\n\n© 2023 [xiosec](https://github.com/xiosec)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiosec%2Fleakguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiosec%2Fleakguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiosec%2Fleakguard/lists"}