All-Defense-Tool: a curated index of offensive and defensive security projects
本项目集成了全网优秀的攻防武器工具项目,包含自动化利用,子域名、目录扫描、端口扫描等信息收集工具,各大中间件、cms、OA漏洞利用工具,爆破工具、内网横向、免杀、社工钓鱼以及应急响应、甲方安全资料等其他安全攻防资料。
At a glance
- What is it?
- All-Defense-Tool is not a tool you run. It is a Python-updated README that catalogs hundreds of open source attack and defense projects, sorted by category, with each entry's last update date. Here is what it is good for, and where it stops being useful.
- Who is it for?
- All-Defense-Tool is worth adopting as a discovery index if you are mapping the security tool space, hunting for a specific category such as subdomain collection or webshell detection, or building a shortlist before evaluating individual projects. It is the wrong choice if you need a working tool today, a vetted binary, or any guarantee about what is inside the linked repositories, since the disclaimer explicitly says to check each one yourself for trojans and backdoors.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What All-Defense-Tool actually is, and who it is for
The README opens by calling the project a collection of excellent open source attack and defense weapon projects from across the internet. That sentence is the whole product. There is no scanner, no agent, no server. The repository contains a README, a requirements.txt, an update_readme.py, and a .github directory. The work All-Defense-Tool does is editorial: it groups other people's projects into categories and keeps a date next to each one.
The audience is narrow but real. If you are a penetration tester, a red team operator, a blue team engineer, or a student trying to understand the shape of the security tooling ecosystem, the table of contents alone is useful. It lists AI security frameworks, semi-automated exploitation tools, asset discovery, subdomain collection, directory scanning, fingerprinting, port scanning, Burp plugins, browser plugins, phishing and mailbox tooling, CMS and middleware exploit tools, database exploitation, brute force, deserialization, memory shell injection, code audit helpers, WAF bypass, tunneling, credential extraction, evasion, privilege escalation, lateral movement, domain penetration, incident response tooling for Linux and Windows, webshell and memory shell detection, and threat attribution. That is a map of a field, which is a different deliverable from a tool.
The disclaimer is blunt and worth quoting in substance: the projects come from the internet, and whether they carry trojans or backdoors is for the reader to determine. The README also states that pull requests are not accepted, only issues. That combination tells you the maintainer is curating links, not reviewing code.
How the weekly update mechanism works
The README states that the project updates automatically every week, fetching and filling in each project's latest update time so that active tools are easy to spot. The mechanism visible in the repository is update_readme.py, a Python script, plus a .github directory that presumably holds the workflow that runs it. The requirements.txt lists a single dependency: requests.
The data flow is therefore simple. The script reads the README, extracts the GitHub project URLs, queries GitHub for each repository's last push date, and writes those dates back into the last-updated column. The README itself demonstrates the output: entries carry dates such as 2026-09-20 for Strix, 2026-09-21 for yakit, and 2023-03-03 for gosint. The spread is the point. A reader scanning the automated exploitation table can see at a glance that some entries were touched days ago and others have been quiet for years.
Two consequences follow. First, the dates are only as good as the script's URL parsing; a malformed link or a renamed repository would presumably drop out or show a stale value, and the README does not describe error handling. Second, the date reflects the last push to the linked repository, not its quality, its release status, or whether it still builds. A repository can be pushed to for a README typo fix. The column is a freshness signal, nothing more, and the project presents it as exactly that.
Installing All-Defense-Tool and regenerating the index yourself
There is nothing to install in the sense of a binary. The only runnable component is the update script, and the README does not document a command for it, so the steps below follow the repository layout rather than a documented procedure. If you want a local copy of the index and the ability to refresh it, clone the repository first.
git clone https://github.com/guchangan1/All-Defense-Tool
cd All-Defense-ToolThe only declared dependency is requests, so a virtual environment plus that one package is the whole setup. The requirements.txt in the repository contains nothing else.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtAfter that, run the update script from the repository root. Because the README does not document its arguments, environment variables, or output path, treat this as the entry point and read the script before trusting the result: it needs network access to query GitHub, and unauthenticated GitHub API calls are rate limited.
python3 update_readme.pyThe expected effect is that README.md is rewritten with refreshed dates in the last-updated column. If you only want to use the index, skip all of this. Open the README on GitHub, use the table of contents, and follow the links. For most readers that is the correct workflow, and it is the one the project is designed around.
The limits: no vetting, no licence audit, no code
The most important limitation is stated by the project itself. The tools are collected from the internet, and the README tells readers to determine on their own whether any of them contain trojans or backdoors. That is not boilerplate caution. A list that links to evasion frameworks, C2 tooling, credential extractors, and memory shell injectors is a list of software that is frequently redistributed with modifications. All-Defense-Tool does not audit any of it, does not vendor it, and does not sign it.
The second limitation is licensing. The repository's own licence is not stated in the README, and no per-project licence information appears in the tables. The entries are links, so each linked project carries its own terms, and those terms vary widely across this space. Anyone intending to use a linked tool inside a commercial engagement or a product needs to check that project's licence directly. All-Defense-Tool cannot tell you, and does not claim to.
The third limitation is that the index is not exhaustive and its categories overlap. The same project can plausibly belong under asset discovery and under automated exploitation; the README places it once. Some categories are deep, others thin. If your target is a niche area, the list may give you three starting points and no more. And because entries are added by hand, a project that stops being maintained stays listed until someone notices, with only the date column hinting at its state.
How it compares with running a recon framework instead
The natural alternative is not another list but an actual framework, and the README links to several in its own tables. Yakit, rengine, mitan, Nemo, and ScopeSentry all appear under semi- or fully automated exploitation tools, and each of them does something All-Defense-Tool cannot: it executes.
The difference in approach is stark. All-Defense-Tool is a static document with a scheduled script behind it. It answers the question what exists. A framework such as rengine or Nemo answers the question what do I get for this target, and it does so by orchestrating subdomain enumeration, port scanning, fingerprinting, and reporting into one pipeline. Choosing between them is not a matter of quality. If you need results against a scoped target, you install the framework and accept its dependencies, its database, and its update cadence. If you need to know which frameworks exist, what category they fall into, and whether anyone has touched them recently, the index is faster than searching GitHub by hand.
A second comparison is a general-purpose bookmark collection or an awesome-list. Those tend to be static and stale. All-Defense-Tool's differentiator is the automated date refresh, which is a genuine maintenance feature rather than a claim. That is the one thing it does better than a hand-curated list, and it is worth weighing accordingly.
Maintenance cost, licence position, and what the repository does not cover
The last push to the repository was on 2026-09-21, so the project is current. The README states the update runs weekly. The maintenance burden for a user is therefore close to zero: the index refreshes without you, and the only cost is the time you spend following links and evaluating what you find.
If you fork it to run update_readme.py yourself, the cost changes. You own the GitHub API rate limits, the parsing of project URLs, and the correctness of the dates you publish. The repository does not document error handling for failed lookups, so a fork that silently drops entries would look identical to a healthy one until someone checks. That is a real risk for anyone republishing the output.
On licensing, the repository's own licence is not stated in the README, which matters if you intend to copy the tables into your own documentation. The linked projects have their own licences, and the README does not summarize them. Treat the index as a pointer, not as a source of licence information. What the repository also does not cover: no version pinning for any linked tool, no install instructions for them, no maturity rating beyond the date, and no security review. The disclaimer about trojans and backdoors is the project's own acknowledgement of that gap.
Editorial conclusion
All-Defense-Tool is worth adopting as a discovery index if you are mapping the security tool space, hunting for a specific category such as subdomain collection or webshell detection, or building a shortlist before evaluating individual projects. It is the wrong choice if you need a working tool today, a vetted binary, or any guarantee about what is inside the linked repositories, since the disclaimer explicitly says to check each one yourself for trojans and backdoors. Before relying on it, verify three things in the repository itself: whether requirements.txt still lists only requests, whether update_readme.py is the script that fills the last-updated column, and whether the category you care about has entries whose dates are recent enough for your purpose. The project is a reading list, and it should be judged as one.
Frequently asked questions
What is All-Defense-Tool used for?
It is a curated index of open source offensive and defensive security projects, grouped by category such as information gathering, exploitation, internal network penetration, and incident response. You use it to find projects, not to run them; the repository itself contains only a README, a requirements.txt, an update_readme.py, and a .github directory.
Does All-Defense-Tool include the tools themselves?
No. Each table row holds a short description, a GitHub URL, and a last-updated date. The README states that the tools come from the internet and that readers must determine for themselves whether they contain trojans or backdoors.
How often is the All-Defense-Tool list updated?
The README states that the project updates automatically every week, fetching and filling in each listed project's latest update time so active tools are easy to spot. The mechanism visible in the repository is update_readme.py, which depends on the requests package listed in requirements.txt.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/guchangan1-all-defense-tool)