{"id":13481853,"url":"https://github.com/mushorg/tanner","last_synced_at":"2025-10-07T02:18:27.771Z","repository":{"id":3404060,"uuid":"40407153","full_name":"mushorg/tanner","owner":"mushorg","description":"He who flays the hide","archived":false,"fork":false,"pushed_at":"2024-08-19T22:54:36.000Z","size":26322,"stargazers_count":227,"open_issues_count":27,"forks_count":106,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-05-25T11:07:59.268Z","etag":null,"topics":["honeypot","security"],"latest_commit_sha":null,"homepage":null,"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/mushorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["mushorg"]}},"created_at":"2015-08-08T15:28:24.000Z","updated_at":"2025-05-17T21:13:19.000Z","dependencies_parsed_at":"2023-02-13T00:31:12.130Z","dependency_job_id":"7ac216ac-cdfa-4965-94e6-9ac313e305b4","html_url":"https://github.com/mushorg/tanner","commit_stats":{"total_commits":265,"total_committers":25,"mean_commits":10.6,"dds":0.6264150943396227,"last_synced_commit":"2fdce2e2ad7e125012c7e6dcbfa02b50f73c128e"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/mushorg/tanner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mushorg%2Ftanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mushorg%2Ftanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mushorg%2Ftanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mushorg%2Ftanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mushorg","download_url":"https://codeload.github.com/mushorg/tanner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mushorg%2Ftanner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278708004,"owners_count":26031932,"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-10-07T02:00:06.786Z","response_time":59,"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":["honeypot","security"],"created_at":"2024-07-31T17:00:56.766Z","updated_at":"2025-10-07T02:18:27.734Z","avatar_url":"https://github.com/mushorg.png","language":"Python","funding_links":["https://github.com/sponsors/mushorg"],"categories":["Honeypots","\u003ca name=\"honeypots\"\u003e\u003c/a\u003e Honeypots"],"sub_categories":[],"readme":"TANNER\n======\n[![Documentation Status](https://readthedocs.org/projects/tanner/badge/?version=latest)](http://tanner.readthedocs.io/en/latest/?badge=latest)\n[![Build Status](https://travis-ci.org/mushorg/tanner.svg?branch=master)](https://travis-ci.org/mushorg/tanner)\n[![Coverage Status](https://coveralls.io/repos/github/mushorg/tanner/badge.svg?branch=master)](https://coveralls.io/github/mushorg/tanner?branch=master)\n[![Coverage Status](https://coveralls.io/repos/github/mushorg/tanner/badge.svg?branch=develop)](https://coveralls.io/github/mushorg/tanner?branch=develop)\n\n\u003cb\u003e\u003ci\u003eHe who flays the hide\u003c/b\u003e\u003c/i\u003e\n\n\nAbout\n-----\nTANNER is a remote data analysis and classification service to evaluate HTTP requests and composing the response then served by [SNARE](https://github.com/mushorg/snare). TANNER uses multiple application vulnerability type emulation techniques when providing responses for SNARE. In addition, TANNER provides Dorks for SNARE powering its luring capabilities.\n\n\nDocumentation\n-------------\nThe documentation can be found [here](http://tanner.readthedocs.io).\n\n\nBasic Concept\n-------------\n\n- Evaluating [SNARE](https://github.com/mushorg/snare) events.\n- Serve dorks.\n- Emulate vulnerabilities and provide responses.\n\n\nGetting Started\n---------------\n\n- You need Python3.7 and above for installing tanner.\n- This was tested with a recent Ubuntu-based Linux.\n\n### Steps to install TANNER\n\n#### Step 1: Setup Redis\n\n1. Install the Redis: ``sudo apt-get install redis-server``\n2. Run ``redis-server`` (to start it on `localhost` with default `port`)\n\n#### Step 2: Setup PHP Sandbox\n\n1. For PHP Sandbox setup, see sandbox [manual](https://github.com/mushorg/phpox)\n2. In PHP Sandbox directory, run sandbox: ``sudo python3 sandbox.py``\n\n#### Step 3: Setup Docker\n\n1. Run ``sudo apt-get install docker-ce docker-ce-cli containerd.io``\n\nFor more info please see the detailed installation guide [here.](https://docs.docker.com/engine/installation/linux/ubuntu/)\n\n#### Step 4: Setup and run TANNER\n\n1. Get TANNER: `git clone https://github.com/mushorg/tanner.git`\n2. Go to the TANNER source  directory: ``cd tanner``\n3. Install requirements: `sudo pip3 install -r requirements.txt`\n4. Install TANNER: ``sudo python3 setup.py install``\n5. Run TANNER: ``sudo tanner``\n6. (Optional) For runnning TANNER Api ``sudo tannerapi``\n7. (Optional) For runnning TANNER Web ``sudo tannerweb``\n\nNote:- Make sure you have `python3-dev` incase you are facing problem with installing some requirments.\n```\n  sudo apt-get install python3-dev\n```\n\n(Recommended) You should bind to 0.0.0.0 when running in \u003ci\u003eproduction\u003c/i\u003e and on a different host than SNARE.\n\n### Install and run TANNER using docker container\n\nIn case you want to run the TANNER service using docker or facing any problem\nin setting up TANNER on your machine, you can follow these steps.\n\n#### Docker build instructions\n1. Change the current directory to `tanner/docker`\n2. `sudo docker-compose build`\n3. `sudo docker-compose up`\n\nMore information about running `docker-compose` can be found [here.](https://docs.docker.com/compose/gettingstarted/)\n\nTesting\n-------\n\nIn order to run the tests and receive a test coverage report, we recommend running `pytest`:\n\n    pip install pytest pytest-cov\n    sudo pytest --cov-report term-missing --cov=tanner tanner/tests/\n\nSample Output\n-------------\n\n```shell\n    # sudo tanner\n\n           _________    _   ___   ____________\n          /_  __/   |  / | / / | / / ____/ __ \\\n           / / / /| | /  |/ /  |/ / __/ / /_/ /\n          / / / ___ |/ /|  / /|  / /___/ _, _/\n         /_/ /_/  |_/_/ |_/_/ |_/_____/_/ |_|\n\n\n     Debug logs will be stored in /opt/tanner/tanner.log\n     Error logs will be stored in /opt/tanner/tanner.err\n     ======== Running on http://0.0.0.0:8090 ========\n     (Press CTRL+C to quit)\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmushorg%2Ftanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmushorg%2Ftanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmushorg%2Ftanner/lists"}