{"id":23669099,"url":"https://github.com/4383/defected","last_synced_at":"2026-02-04T13:03:59.786Z","repository":{"id":265092606,"uuid":"895014047","full_name":"4383/defected","owner":"4383","description":"Defected is a CLI tool designed to analyze Git logs and detect suspicious behaviors, such as frequent timezone changes, to enhance the security and reliability of open-source projects.","archived":false,"fork":false,"pushed_at":"2024-12-06T16:59:50.000Z","size":74,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-27T12:06:35.641Z","etag":null,"topics":["osint","security","timezone"],"latest_commit_sha":null,"homepage":"https://defected.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4383.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":"2024-11-27T12:05:51.000Z","updated_at":"2024-12-06T16:59:54.000Z","dependencies_parsed_at":"2024-11-27T16:35:59.212Z","dependency_job_id":"ff228354-eb42-4904-9a7f-968b20d31c1d","html_url":"https://github.com/4383/defected","commit_stats":null,"previous_names":["4383/defected"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/4383/defected","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4383%2Fdefected","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4383%2Fdefected/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4383%2Fdefected/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4383%2Fdefected/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4383","download_url":"https://codeload.github.com/4383/defected/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4383%2Fdefected/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29085068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["osint","security","timezone"],"created_at":"2024-12-29T08:17:45.859Z","updated_at":"2026-02-04T13:03:59.767Z","avatar_url":"https://github.com/4383.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# defected\n\n![Build](https://github.com/4383/defected/actions/workflows/main.yml/badge.svg)\n![PyPI](https://img.shields.io/pypi/v/defected.svg)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/defected.svg)\n![PyPI - Status](https://img.shields.io/pypi/status/defected.svg)\n[![Downloads](https://pepy.tech/badge/defected)](https://pepy.tech/project/defected)\n[![Downloads](https://pepy.tech/badge/defected/month)](https://pepy.tech/project/defected/month)\n\n**Defected is a CLI tool designed to analyze Git logs and detect\nsuspicious behaviors, such as frequent timezone changes, to enhance\nthe security and reliability of open-source projects.**\n\nOpen source projects thrive on collaboration, but their openness\ncomes with risks. Contributors may unknowingly or intentionally\nexhibit suspicious behaviors, such as:\n- Frequent timezone changes in their commit metadata.\n- Working at unusual hours or during public holidays.\n- Unusual patterns in commit activity.\n\nThese anomalies could indicate automation scripts, compromised\naccounts, or malicious actions.\n\n**Defected** is a CLI tool designed to help maintainers detect and flag\nsuspicious commit patterns. By analyzing Git logs, Defected provides\ninsights into contributors’ behaviors, helping ensure the security\nand integrity of your project.\n\nWe can think of Defected as an [OSINT](\nhttps://en.wikipedia.org/wiki/Open-source_intelligence) tool that\ncan used by project maintainers to fight against social engineering.\n\nVisit the [official documentation](https://defected.readthedocs.io/).\n\n## Install\n\n```\n$ pip install defected\n```\n\n## Usage\n\n```\n$ defected -h\n```\n\nExamples of usage and documentation of available commands are\navailable in the [official documentation](https://defected.readthedocs.io/).\n\n## The Problem\n\nMost open source projects rely on volunteers, but not all\nvolunteers are all well intentioned. Strategic, financial, or\nagain geopolical aspect made that some actors seek to profit\nfrom open source project to carry out their hidden agenda.\n\nBad actors have interest in open source to introduce exploits,\nbackdoors, or payloads, or even to scuttle projects.\n\nIt expose users of open source projects to threats. Such kind\nof social engineering can lead users to data leak, invasion of\nprivacy, and lot nightmare scenarios.\n\nAs maintainers of these projects we are responsible of the safety\nof people that who trusted in our work.\n\n## Goal\n\nThe goal of defected is to highlight potential\nsocial engineering threats.\n\nDefected addresses these challenges by:\n- **Detecting frequent timezone changes** in commit metadata.\n- **Highlighting contributors** with irregular commit patterns.\n- **Flagging potential risks** for maintainers to investigate.\n- Providing **clear and exportable reports** for further analysis.\n\n## Features\n\n1. **Easy-to-Use CLI**:\n   - Installable via PyPI, Defected is simple to run directly from your\n     terminal.\n2. **Commit Metadata Analysis**:\n   - Extracts author, email, date, and timezone data from Git logs.\n3. **Timezone Change Detection**:\n   - Flags contributors exceeding a configurable threshold of timezone\n     changes.\n4. **Reveal Deception**:\n   - Find fraudulous activity and unveil bad intentions ([example](\n     https://defected.readthedocs.io/en/latest/examples/investigations/cold-cases/xz-utils-backdoor.html)).\n5. **Customizable Options**:\n   - Adjust thresholds, filter suspicious results.\n6. **Exportable Reports**:\n   - Saves results in CSV format for further analysis.\n\n## Contributing\n\nWe welcome contributions to Defected!\n\nTo contribute:\n1. Fork the repository;\n2. Create a feature branch;\n3. Introduce your changes;\n4. Submit a pull request with a detailed description of your changes.\n\n## License\n\nDefected is licensed under the MIT License. See the `LICENSE`\nfile for details.\n\n## Acknowledgments\n\nThis project is inspired by the open source community and aims to\nempower maintainers with tools to ensure project security and integrity.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4383%2Fdefected","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4383%2Fdefected","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4383%2Fdefected/lists"}