{"id":13539910,"url":"https://github.com/eth0izzle/the-endorser","last_synced_at":"2025-09-07T23:46:20.805Z","repository":{"id":53535212,"uuid":"111963792","full_name":"eth0izzle/the-endorser","owner":"eth0izzle","description":"An OSINT tool that allows you to draw out relationships between people on LinkedIn via endorsements/skills.","archived":false,"fork":false,"pushed_at":"2025-02-28T15:43:01.000Z","size":5863,"stargazers_count":332,"open_issues_count":6,"forks_count":51,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-05-23T14:22:25.853Z","etag":null,"topics":["linkedin","osint","python","selenium"],"latest_commit_sha":null,"homepage":"https://www.darkport.co.uk","language":"Python","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/eth0izzle.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}},"created_at":"2017-11-24T23:58:08.000Z","updated_at":"2025-04-17T02:21:50.000Z","dependencies_parsed_at":"2025-04-06T11:07:23.455Z","dependency_job_id":"f4b41d04-ce53-4c1c-a699-39b11bf2baa7","html_url":"https://github.com/eth0izzle/the-endorser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eth0izzle/the-endorser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth0izzle%2Fthe-endorser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth0izzle%2Fthe-endorser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth0izzle%2Fthe-endorser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth0izzle%2Fthe-endorser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eth0izzle","download_url":"https://codeload.github.com/eth0izzle/the-endorser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eth0izzle%2Fthe-endorser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274113001,"owners_count":25224332,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["linkedin","osint","python","selenium"],"created_at":"2024-08-01T09:01:33.896Z","updated_at":"2025-09-07T23:46:20.777Z","avatar_url":"https://github.com/eth0izzle.png","language":"Python","funding_links":[],"categories":["Python","\u003ca id=\"170048b7d8668c50681c0ab1e92c679a\"\u003e\u003c/a\u003e工具","\u003ca id=\"a76463feb91d09b3d024fae798b92be6\"\u003e\u003c/a\u003e侦察\u0026\u0026信息收集\u0026\u0026子域名发现与枚举\u0026\u0026OSINT","Social Media Tools","Pentesting"],"sub_categories":["\u003ca id=\"05ab1b75266fddafc7195f5b395e4d99\"\u003e\u003c/a\u003e未分类-OSINT","[↑](#-table-of-contents) LinkedIn","OSINT - Open Source INTelligence"],"readme":"# 🚨 The Endorser is no longer maintained. If you need support or consultation for your OSINT endeavours, drop me an e-mail paul@darkport.co.uk 🚨\n\n# The Endorser\n\nAn OSINT tool that allows you to draw out relationships between people on LinkedIn via endorsements/skills.\n\nCheck out the [example](https://raw.githubusercontent.com/eth0izzle/the-endorser/master/example/output.pdf) ([digraph](#digraph)), which is based on mine and my friends (David Prince) LinkedIn profile. By glancing at the visualisation you can easily see, by the number of \"arrows\", there is some sort of relationship between us and \"Zoë Rose\" (in this case we used to work together). If I was carrying out an investigation I would focus my efforts towards her next.\n\n![Example](https://raw.githubusercontent.com/eth0izzle/the-endorser/master/example/example.png)\n\n**Due to the way LinkedIn's privacy settings work this tool works best when your target is within your 3rd degree network or higher. Using a LinkedIn Premium or Recruiter account will allow you to map targets outside of your network.**\n\n## Installation\n\nAll you need it Python 3.4+ and do the following:\n\n1. `git clone https://github.com/eth0izzle/the-endorser.git`\n2. `sudo pip3 install -r requirements.txt`\n3. Install Graphviz from https://www.graphviz.org/download/ or via your package manager, e.g. `apt-get install graphviz` or `brew install graphviz` or `choco install graphiz`\n4. Download [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/downloads) for your platform (requires Chrome) and place in ./drivers. Alternatively you can use [PhantomJS](http://phantomjs.org/download.html) and launch with the `--driver phantomjs` flag (*note phantomjs is 8x slower*).\n5. Setup your LinkedIn credentials in `config.yaml`\n6. `python3 the-endorser.py \u003cprofile1\u003e \u003cprofile2\u003e \u003cprofile3\u003e \u003cetc..\u003e \u003cetc..\u003e`\n\n## Usage\n\n    usage: python the-endorser.py https://www.linkedin.com/in/user1 https://www.linkedin.com/in/user2\n\n    Maps out relationships between peoples endorsements on LinkedIn.\n\n    positional arguments:\n      profiles              Space separated list of LinkedIn profile URLs to map\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      --config_file CONFIG_FILE\n                            Specify the path of the config.yaml file (default:\n                            ./the-endorser/config.yaml)\n      --driver DRIVER       Selenium WebDriver to use to parse the webpages:\n                            chromedriver, phantomjs (default: chromedriver)\n      --output OUTPUT       Output module to visualise the relationships: digraph,\n                            stdout (default: digraph)\n      --log LOG             Path of log file. None for stdout. (default: None)\n      --log-level LOG_LEVEL\n                            Logging output level: DEBUG, INFO, WARNING, ERROR.\n                            (default: INFO)\n\n### Outputs\n\nThe Endorser is \"modular\" in the sense that it can output and visualise the data in different ways. An output module just needs one method: `def run(profiles)`\n\nCurrently there is only one output module (digraph). In the future I plan to add modules for Maltego and Plot.ly - but feel free to [get involved](https://github.com/eth0izzle/the-enforcer/issues)!\n\n#### Digraph\n\nIt's best to read the graph from right-to-left, identifying people that have a large collection of \"arrows\" from multiple profiles (different colours). Square box = skill, ellipse = person.\n\n## Contributing\n\nCheck out the [issue tracker](https://github.com/eth0izzle/the-enforcer/issues) and see what tickles your fancy.\n\n1. Fork it, baby!\n2. Create a feature branch: `git checkout -b my-new-feature`\n3. Create your super-awesome feature!\n4. Commit your changes: `git commit -am 'Add some feature'`\n5. Push to the branch: `git push origin my-new-feature`\n6. Submit a [pull request](https://github.com/eth0izzle/the-endorser/pulls)\n\n## License\n\nMIT. See LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feth0izzle%2Fthe-endorser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feth0izzle%2Fthe-endorser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feth0izzle%2Fthe-endorser/lists"}