Back to Articles

Inside tennc/webshell: The 10,000+ Star Repository Security Teams Don't Talk About

[ View on GitHub ]

Inside tennc/webshell: The 10,000+ Star Repository Security Teams Don’t Talk About

Hook

With over 10,700 stars, tennc/webshell is one of GitHub’s most popular security repositories. It’s also one of the most legally and ethically controversial—a crowdsourced collection of server backdoors that exists in the gray zone between research and cybercrime.

Context

Webshells are the skeleton keys of compromised servers. Once an attacker finds a vulnerability—unrestricted file upload, SQL injection leading to file write, or misconfigured permissions—they need a way to maintain persistent access and execute commands remotely. A webshell is simply a script (PHP, JSP, ASP, Python, or Perl) uploaded to the target server that provides a remote interface for command execution, file manipulation, database access, and privilege escalation.

Historically, these tools circulated through underground forums and private collections. Security professionals conducting penetration tests would manually craft shells or reuse known samples. The tennc/webshell project took a different approach: create an open, crowdsourced repository where anyone could contribute working webshell samples across major web scripting languages. According to the README, the project explicitly asks contributors to preserve original filenames and passwords. The repository has become a reference collection for both attackers and defenders—attackers seeking ready-made tools, and security researchers analyzing malicious code patterns to build better detection systems. The README links to related projects including webshell-venom (described as an anti-detection webshell generator) and lists numerous other webshell collections and management tools used in the field.

Technical Insight

Clients

Submit shell scripts

Organized by language

Selects shell

Deploys to target

Deploy

Deploy

Deploy

Deploy

HTTP requests

Command execution results

Contributor Submissions

tennc/webshell Repository

Language Directories

PHP Shells

ASP/ASPX Shells

JSP Shells

Python/Perl Shells

Attacker

Compromised Web Server

Management Tools

China Chopper

AntSword

Behinder

Godzilla

System architecture — auto-generated

The tennc/webshell repository is a collection project organized by scripting language. According to the README, it covers asp, aspx, php, jsp, pl (Perl), and py (Python)—representing the major server-side web technologies attackers target.

The repository’s structure appears to be a straightforward archive of scripts rather than a framework or application. The README provides no code samples or technical documentation about individual shells, focusing instead on project guidelines and references to related tools. Contributors are asked not to change names or passwords when submitting shells, suggesting the collection preserves tools in their original form.

The README references several categories of related projects that provide context for the ecosystem:

  1. Anti-detection tools: The linked webshell-venom project is described as generating shells that evade detection by D盾 (D-Shield), 安全狗 (SafeDog), 护卫神, and 河马—popular Chinese security products. Other linked projects like LandGrey/webshell-detect-bypass and DeEpinGh0st/PHP-bypass-collection suggest the collection includes or relates to evasion techniques.

  2. Management tools: The README lists 13 webshell client applications including 中国菜刀 (China Chopper), Cknife, Altman, Weevely, 蚁剑 (AntSword), 冰蝎 (Behinder), and 哥斯拉 (Godzilla). These are sophisticated clients that provide interfaces for managing compromised servers, suggesting the shells in this repository are designed to work with standardized management protocols.

  3. Related collections: The README links to 20 other webshell repositories, indicating this is part of a broader ecosystem of similar projects.

For security researchers, the value appears to lie in having a centralized reference of real-world samples across multiple languages. Defenders building detection systems need to understand actual attacker tools rather than theoretical examples. However, the README provides no analysis, documentation, or categorization of the shells—it’s raw collection material requiring significant analysis work.

Critically, the repository provides no assurance of code safety. The maintainer states clearly: “本人不保证是否有后门” (I don’t guarantee there are no backdoors) and requests contributors not add backdoors, but acknowledges there’s no enforcement mechanism. The README asks users to report backdoors via issues if discovered, confirming this is a known risk.

Gotcha

The legal and trust issues are severe and explicitly acknowledged in the README. The project includes a disclaimer: “本项目提供的工具,禁止从事非法活动,此项目,仅供测试,所造成的一切后果,与本人无关” (The tools provided are prohibited for illegal activities; this project is for testing only; any consequences are unrelated to me). This disclaimer offers no legal protection and doesn’t change the nature of the tools.

Possessing this repository is legally ambiguous in many jurisdictions. While security researchers can argue legitimate educational or defensive purposes, laws like the Computer Fraud and Abuse Act (CFAA) in the US or the Computer Misuse Act in the UK don’t always make clean distinctions based on intent. Using these tools without explicit written authorization is likely illegal in most contexts. Even authorized penetration testers should consider carefully—using unvetted, crowdsourced code from anonymous contributors introduces unnecessary risk.

The backdoor problem is explicitly acknowledged but understated in severity. The maintainer states they cannot guarantee the absence of backdoors in submissions and requests (but cannot enforce) that contributors not add them. The README specifically asks users to report backdoors via issues if found, confirming this is an active concern. Any organization considering these tools for red team exercises must conduct full source code audits, assume potentially hostile code, and deploy only in isolated lab networks with comprehensive monitoring.

The repository serves its best purpose as a read-only reference for understanding attacker tool patterns and building detection systems, not as an operational toolkit. The README’s listing of related projects and management tools provides valuable intelligence about the webshell ecosystem without requiring direct use of unverified code.

Verdict

Use if: You’re a security researcher building webshell detection systems and need reference samples for signature development, training machine learning models, or testing your WAF/HIPS rules in controlled lab environments. You’re a malware analyst studying attacker tool evolution with proper legal authorization and air-gapped infrastructure. You understand the legal frameworks in your jurisdiction and have documented research purposes that justify possession of offensive security tools. You need to understand the ecosystem of webshell management tools and related projects for threat intelligence purposes.

Skip if: You’re conducting professional penetration testing and need vetted tools with documented provenance. You lack dedicated air-gapped lab infrastructure and comprehensive security monitoring. You’re exploring security topics casually without specific research objectives or legal consultation. You need production-ready tools with support, documentation, and assurance of no backdoors. The repository maintainer explicitly cannot verify the safety of contributed code. For most developers and security professionals, this repository represents unnecessary legal and technical risk. The security insight comes from understanding that collections like this exist and studying the ecosystem they represent, not from deploying unverified code from anonymous contributors.

// ADD TO YOUR README
[![Featured on Starlog](https://starlog.is/api/badge/automation/tennc-webshell.svg)](https://starlog.is/api/badge-click/automation/tennc-webshell)