{"id":13539875,"url":"https://github.com/depthsecurity/armory","last_synced_at":"2026-01-18T14:09:46.019Z","repository":{"id":33414393,"uuid":"132055334","full_name":"depthsecurity/armory","owner":"depthsecurity","description":"Armory is a tool meant to take in a lot of external and discovery data from a lot of tools, add it to a database and correlate all of related information.","archived":false,"fork":false,"pushed_at":"2026-01-16T20:39:57.000Z","size":3895,"stargazers_count":422,"open_issues_count":6,"forks_count":72,"subscribers_count":18,"default_branch":"docker","last_synced_at":"2026-01-17T09:17:32.333Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","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/depthsecurity.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":"2018-05-03T22:17:46.000Z","updated_at":"2026-01-16T20:40:01.000Z","dependencies_parsed_at":"2024-07-30T17:22:22.779Z","dependency_job_id":"f1a08a85-141b-4bc0-9c90-676afea45733","html_url":"https://github.com/depthsecurity/armory","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/depthsecurity/armory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/depthsecurity%2Farmory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/depthsecurity%2Farmory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/depthsecurity%2Farmory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/depthsecurity%2Farmory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/depthsecurity","download_url":"https://codeload.github.com/depthsecurity/armory/tar.gz/refs/heads/docker","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/depthsecurity%2Farmory/sbom","scorecard":{"id":335010,"data":{"date":"2025-08-11","repo":{"name":"github.com/depthsecurity/armory","commit":"26129d962c8fb65f7debd7d4124886131f951f71"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":2,"reason":"Found 4/16 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: armory2/armory_main/included/webapps/GowitnessPage/__pycache__/urls.cpython-311.pyc:1","Warn: binary detected: armory2/armory_main/included/webapps/GowitnessPage/__pycache__/views.cpython-311.pyc:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"56 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-230 / GHSA-248v-346w-9cwc","Warn: Project is vulnerable to: PYSEC-2023-135 / GHSA-xqr8-7jwr-rhp7","Warn: Project is vulnerable to: GHSA-3ww4-gg4f-jr7f","Warn: Project is vulnerable to: GHSA-5cpq-8wj7-hf2v","Warn: Project is vulnerable to: PYSEC-2024-225 / GHSA-6vqw-3v5j-54x4","Warn: Project is vulnerable to: GHSA-9v9h-cgj8-h64p","Warn: Project is vulnerable to: PYSEC-2023-112 / GHSA-cf7p-gm2m-833m","Warn: Project is vulnerable to: GHSA-h4gh-qq45-vh27","Warn: Project is vulnerable to: PYSEC-2023-254 / GHSA-jfhm-5ghh-2f97","Warn: Project is vulnerable to: GHSA-jm77-qphf-c4w8","Warn: Project is vulnerable to: GHSA-v8gr-m533-ghj9","Warn: Project is vulnerable to: PYSEC-2022-190 / GHSA-2gwj-7jmv-h26r","Warn: Project is vulnerable to: PYSEC-2023-13 / GHSA-2hrw-hx67-34x6","Warn: Project is vulnerable to: PYSEC-2022-1 / GHSA-53qw-q765-4fww","Warn: Project is vulnerable to: PYSEC-2022-20 / GHSA-6cw3-g6wv-c2xv","Warn: Project is vulnerable to: PYSEC-2023-225 / GHSA-7h4p-27mh-hmrw","Warn: Project is vulnerable to: GHSA-7xr5-9hcq-chf9","Warn: Project is vulnerable to: PYSEC-2022-2 / GHSA-8c5j-9r9f-c6w8","Warn: Project is vulnerable to: PYSEC-2022-245 / GHSA-8x94-hmjh-97hq","Warn: Project is vulnerable to: PYSEC-2022-19 / GHSA-95rw-fx8r-36v6","Warn: Project is vulnerable to: PYSEC-2023-226 / GHSA-h8gc-pgj2-vjm3","Warn: Project is vulnerable to: PYSEC-2023-100 / GHSA-jh3w-4vvf-mjgr","Warn: Project is vulnerable to: PYSEC-2022-3 / GHSA-jrh2-hc4r-7jwx","Warn: Project is vulnerable to: PYSEC-2022-213 / GHSA-p64x-8rxx-wf6q","Warn: Project is vulnerable to: PYSEC-2023-12 / GHSA-q2jf-h9jm-m7p4","Warn: Project is vulnerable to: PYSEC-2023-222 / GHSA-qmf9-6jqf-j8fq","Warn: Project is vulnerable to: PYSEC-2022-304 / GHSA-qrw5-5h28-6cmg","Warn: Project is vulnerable to: PYSEC-2023-61 / GHSA-r3xc-prgr-mg9p","Warn: Project is vulnerable to: GHSA-rrqc-c2jx-6jgv","Warn: Project is vulnerable to: PYSEC-2021-439 / GHSA-v6rh-hp5x-86rv","Warn: Project is vulnerable to: PYSEC-2024-47 / GHSA-vm8q-m57g-pff3","Warn: Project is vulnerable to: PYSEC-2022-191 / GHSA-w24h-v9qh-8gxj","Warn: Project is vulnerable to: PYSEC-2024-28 / GHSA-xxj9-f6rv-m3x4","Warn: Project is vulnerable to: GHSA-3rq5-2g8h-59hc","Warn: Project is vulnerable to: GHSA-vqfr-h8mv-ghfj","Warn: Project is vulnerable to: PYSEC-2024-60 / GHSA-jjg7-2v4v-x38h","Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: GHSA-qr4w-53vh-m672","Warn: Project is vulnerable to: PYSEC-2023-183","Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq","Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3","Warn: Project is vulnerable to: PYSEC-2023-227 / GHSA-8ghj-p4vj-mr35","Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr","Warn: Project is vulnerable to: PYSEC-2022-42979 / GHSA-m2vv-5vj5-2hm7","Warn: Project is vulnerable to: PYSEC-2023-175","Warn: Project is vulnerable to: PYSEC-2023-117 / GHSA-mrwq-x4v8-fh7p","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2023-74 / GHSA-j8r2-6x86-q33q","Warn: Project is vulnerable to: PYSEC-2023-206","Warn: Project is vulnerable to: GHSA-2m57-hf25-phgg","Warn: Project is vulnerable to: PYSEC-2023-87 / GHSA-rrm6-wvj7-cwh2","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T04:30:59.936Z","repository_id":33414393,"created_at":"2025-08-18T04:30:59.936Z","updated_at":"2025-08-18T04:30:59.936Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28537492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T13:04:05.990Z","status":"ssl_error","status_checked_at":"2026-01-18T13:01:44.092Z","response_time":98,"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":["hacktoberfest"],"created_at":"2024-08-01T09:01:33.340Z","updated_at":"2026-01-18T14:09:46.010Z","avatar_url":"https://github.com/depthsecurity.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"a76463feb91d09b3d024fae798b92be6\"\u003e\u003c/a\u003e侦察\u0026\u0026信息收集\u0026\u0026子域名发现与枚举\u0026\u0026OSINT","\u003ca id=\"170048b7d8668c50681c0ab1e92c679a\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"05ab1b75266fddafc7195f5b395e4d99\"\u003e\u003c/a\u003e未分类-OSINT"],"readme":"\n```\n       _                                                          \n      dM.                                                         \n     ,MMb                                                         \n     d'YM.   ___  __ ___  __    __     _____  ___  __ ____    ___ \n    ,P `Mb   `MM 6MM `MM 6MMb  6MMb   6MMMMMb `MM 6MM `MM(    )M' \n    d'  YM.   MM69 \"  MM69 `MM69 `Mb 6M'   `Mb MM69 \"  `Mb    d'  \n___,P____Mb___MM______MM____MM____MM_MM_____MM_MM_______YM.__,P___\n   d'    YM.  MM      MM    MM    MM MM     MM MM        MM  M    \\ \n__,MMMMMMMMb__MM______MM____MM____MM_MM_____MM_MM________`Mbd'_____\\\n  d'      YM. MM      MM    MM    MM YM.   ,M9 MM         YMP      \n_dM_     _dMM_MM_    _MM_  _MM_  _MM_ YMMMMM9 _MM_         M      \n                                                          d'      \n                                                      (8),P       \n                                                       YMM        \n                                                          \n```\n\n# Description\n_This is somewhat stable now, but is still evolving. The original 'master' branch is now armory1_\n\nArmory is a tool meant to take in a lot of external and discovery data from a lot of tools, add it to a database and correlate all of related information. It isn't meant to replace any specific tool. It is meant to take the output from various tools, and use it to feed other tools.\n\nAdditionally, it is meant to be easily extendable. Don't see a module for your favorite tool? Write one up! Want to export data in just the right format for your reporting? Create a new report!\n\n# Prerequisites\n\nWhile Armory can operate fine without Docker, you will need it if you don't want to install all of the tools the modules use on the host.\n\n# Installation\n\nInstallation is easy using pipx.\n\n`pipx install depth-armory`\n\n# Configuration\n\nOn first run, configuration files will be created in `~/.armory/`. To generate them, just type `armory`.\n\nThere are two types of files:\n\n- `settings.py`: This contains the basic settings for Armory itself. This contains project paths, custom module paths, etc.\n- `toolname.ini`: These files are for hardcoding settings for various modules. They are autogenerated with all of the options the tools have available.\n\nThe default configuration will store your database and data in `~/armory_project`.\n\nOptionally, edit *settings.py* and modify the **base_path** option. This should point to the root path you are using *for your current project*. You probably should change this with every project, so you will always be using a clean database. If you don't want to change the **base_path** with every new project, you could also simply delete or rename the *db.sqlite3* file from your **base_path**. All files generated by modules will be created in here, as well as the sqlite3 database. **By default it will be within the current directory-`.`** For additional information on *setings.py*, see [documentation here](SettingsConfigs.md).\n\nFinally, run `armory-init` to create the database.\n\n# Docker files\n\nYou can install docker images for most of the modules in Armory. To do so, use the command `armory-docker`:\n\n```\n-\u003e % armory-docker -h      \nusage: manage build_docker [-h] [-s] [-a ACTION] [-m MODULES] [-r] [--version] [-v {0,1,2,3}]\n                           [--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback] [--no-color]\n                           [--force-color] [--skip-checks]\n\nBuild docker images\n\noptions:\n  -h, --help            show this help message and exit\n  -s, --smart           Smart build. If a binary is installed, the docker image won't be built.\n  -a, --action ACTION   Action to perform. `build` to build reports, `pull` to pull from Dockerhub, and\n                        `both` (Default: both)\n  -m, --modules MODULES\n                        Module to build the docker image for, or 'all' for every image. (default: all)\n  -r, --rebuild         Rebuild docker image without cache\n\n```\n\nBy default, the command will pull/build dockerfiles for all discovered modules. Using `-s` will avoid building dockerfiles for tools that are discovered within the PATH.\n\n# Usage\n\nUsage is split into **modules**, **reports** and **webapps**. \n\n## Modules\n\nModules run tools, ingest output, and write it to the database. To see a list of available modules, type:\n\n`armory -lm`\n\nTo see a list of module options, type:\n\n`armory -m \u003cmodule\u003e -M`\n\n## Reports\n\nReports are similar to modules, except they are meant to pull data from the database, and display it in a usable format. To view all of the available reports:\n\n`armory -lr`\n\nTo view available report options:\n\n`armory -r \u003creport\u003e -R`\n\n## Web Apps\n\nArmory has a web app engine, with a couple of provided web apps. This can be launched with:\n\n`armory-web` which will listen on http://127.0.0.1:8099, or `armory-manage runserver 0.0.0.0:8099` if you'd like to modify the bind IP address and/or port.\n\n## Interactive Shell\n\nThere is also an interactive shell which uses [IPython](https://ipython.org/) as the base and will allow you to run commands or change database values. It can be launched with: `armory-shell`.\nBy default, the following will be available: `Domain, BaseDomain, IPAddress, CIDR, User, Cred, Vulnerability, Port, Url`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdepthsecurity%2Farmory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdepthsecurity%2Farmory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdepthsecurity%2Farmory/lists"}