{"id":13527947,"url":"https://github.com/kootenpv/gittyleaks","last_synced_at":"2025-05-16T04:06:41.167Z","repository":{"id":35729848,"uuid":"40008409","full_name":"kootenpv/gittyleaks","owner":"kootenpv","description":":droplet: Find sensitive information for a git repo","archived":false,"fork":false,"pushed_at":"2020-11-12T22:32:49.000Z","size":57,"stargazers_count":828,"open_issues_count":8,"forks_count":97,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-05-08T16:17:49.313Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/kootenpv.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}},"created_at":"2015-07-31T14:13:12.000Z","updated_at":"2025-05-08T11:19:16.000Z","dependencies_parsed_at":"2022-07-20T23:54:10.256Z","dependency_job_id":null,"html_url":"https://github.com/kootenpv/gittyleaks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kootenpv%2Fgittyleaks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kootenpv%2Fgittyleaks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kootenpv%2Fgittyleaks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kootenpv%2Fgittyleaks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kootenpv","download_url":"https://codeload.github.com/kootenpv/gittyleaks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464895,"owners_count":22075570,"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":[],"created_at":"2024-08-01T06:02:07.809Z","updated_at":"2025-05-16T04:06:36.122Z","avatar_url":"https://github.com/kootenpv.png","language":"Python","funding_links":[],"categories":["Python","Python (1887)"],"sub_categories":[],"readme":"# gittyleaks\n\n\u003cimg src=\"https://github.com/kootenpv/gittyleaks/raw/master/resources/gittyleaks.png\" height=\"300px\" width=\"120px\"/\u003e\n\n#### Discover where your sensitive data has been leaked.\n\n\u003cp\u003eVery often it happens that when mocking/just starting out with a new project on github, sensitive data gets added. API keys, usernames, passwords and emails are easily added.... and then forgotten.\u003c/p\u003e\n\n\u003cp\u003eUse this tool to detect where the mistakes are in your repos. \u003c/p\u003e\n\n\u003cp\u003eIt works by trying to find words like 'username', 'password', and 'email' and shortenings in quoted strings, config style or JSON format. It captures the value assigned to it (after meeting some conditions) for further work.\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n**Run `gittyleaks` in a git repo and find out! ([common usage patterns](#command-line-usage) )**\n\n### Installation\n\nBest way is to use pip to install:\n\n```python\npip install gittyleaks    # for python 2\npip3 install gittyleaks   # for python 3\n```\n\nNow you have `gittyleaks` as a python executable available on your system.\n\nUpgrades can be done by giving the -U flag; `pip3 install -U gittyleaks`.\n\n### Command line usage\nThe program can be simply called by `gittyleaks`. There are 4 types of arguments.\n- Arguments for solving a bad situation (not there yet)\n- Arguments for changing whether there is a hit\n- Arguments for cloning a repo\n- Arguments concerned with printing results\n\nNote that all arguments mentioned below have a short one letter + dash (e.g. `-delete` -\u003e `-d`) version.\n\nFind out more by using `gittyleaks -h` at commandline, or read on.\n\n#### Solving bad situations\n\nThere has yet to be found a way how to help the user do something about it. This guide can help in the mean time:\n[https://help.github.com/articles/remove-sensitive-data/](https://help.github.com/articles/remove-sensitive-data/)\n\n#### Hits\n\n```bash\ngittyleaks                               # default \"smart\" filter\ngittyleaks --find-anything               # find anything remotely suspicious\ngittyleaks --excluding $ . [ example ,   # exclude some string matches (e.g. `$` occurs)\ngittyleaks --case-sensitive              # set it to be strict about case\n```\n\n#### Cloning\n\n```bash\n# gittyleaks -l some-git-cloneable-link\ngittyleaks -link https://github.com/kootenpv/yagmail\n\n# gittyleaks -user githubusername -repo githubusername\ngittyleaks -user kootenpv -repo yagmail\n\n# Giving the -d option deletes the repo afterwards immediately\n```\n\n### Printing results\n\n``` bash\ngittyleaks --verbose              # longer output\ngittyleaks --no-banner (-b)       # do not print banner\ngittyleaks --no-fancy-color (-f)  # turn off colors\n```\n\n### Roadmap\n\n~~Deleting a cloned repo should also be added with perhaps adding the `-d` flag~~\n\n~~Allow user to `--find-anything` rather than filtering~~\n\n~~Allow subclassing and overwriting certain methods.~~ Docs on that to follow.\n\nThe package will soon provide the best practice to remedy this issue based on [https://help.github.com/articles/remove-sensitive-data/](https://help.github.com/articles/remove-sensitive-data/).\n\nQuality improvements to the detection.\n\nImplementing a best practice deployment `git` hook (i.e. automatically check we do not upload unwanted data, and break deployment if there is)\n\nTests, tests, tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkootenpv%2Fgittyleaks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkootenpv%2Fgittyleaks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkootenpv%2Fgittyleaks/lists"}