|
| 1 | +# Nuclei POCs |
| 2 | + |
| 3 | +<a href="https://github.com/adysec/nuclei_poc/stargazers"><img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/adysec/nuclei_poc?color=yellow&logo=riseup&logoColor=yellow&style=flat-square"></a> |
| 4 | +<a href="https://github.com/adysec/nuclei_poc/network/members"><img alt="GitHub forks" src="https://img.shields.io/github/forks/adysec/nuclei_poc?color=orange&style=flat-square"></a> |
| 5 | +<a href="https://github.com/adysec/nuclei_poc/issues"><img alt="GitHub issues" src="https://img.shields.io/github/issues/adysec/nuclei_poc?color=red&style=flat-square"></a> |
| 6 | + |
| 7 | +Daily updated Nuclei Proof-of-Concept (POC) repository. |
| 8 | + |
| 9 | +[English](https://github.com/adysec/nuclei_poc/blob/main/README_EN.md) | [中文](https://github.com/adysec/nuclei_poc/blob/main/README.md) |
| 10 | + |
| 11 | +This project is a Python script for batch cloning GitHub repositories, extracting Nuclei POCs, and organizing the POCs into categorized folders. The script runs automatically every day using GitHub Actions. |
| 12 | + |
| 13 | +The POC format validation code has been updated and optimized. When the tmp/ directory does not exist, all POC format checks will be completed. |
| 14 | + |
| 15 | +After format validation, only 117k usable POCs remain, with 111k unique POCs after deduplication. The previously calculated count of 140k+ was incorrect and has been corrected. |
| 16 | + |
| 17 | +## How to Use |
| 18 | + |
| 19 | +Clone the repository and navigate to the project directory: |
| 20 | + |
| 21 | +```bash |
| 22 | +git clone https://github.com/adysec/nuclei_poc |
| 23 | +cd nuclei_poc |
| 24 | +``` |
| 25 | + |
| 26 | +Use Nuclei to scan websites with POCs: |
| 27 | + |
| 28 | +```bash |
| 29 | +./nuclei -t poc/ -u http://example.com |
| 30 | +# Scan specific categories of POCs |
| 31 | +./nuclei -t poc/web/ -u http://example.com |
| 32 | +./nuclei -t poc/wordpress/ -u http://example.com |
| 33 | +``` |
| 34 | + |
| 35 | +### Configuration |
| 36 | + |
| 37 | +Configure the monitored GitHub repositories in the `repo.csv` file. |
| 38 | + |
| 39 | +### GitHub Actions |
| 40 | + |
| 41 | +Set up Actions in the GitHub repository to automatically run the script daily. |
| 42 | + |
| 43 | +> Make sure to set Workflow permissions to Read and write. |
| 44 | +
|
| 45 | +## File Structure |
| 46 | + |
| 47 | + |
| 48 | +- `1-clone_repos.py`: Clone monitored GitHub repositories in bulk. |
| 49 | +- `2-delete_duplicated.py`: Remove duplicate POC scripts. |
| 50 | +- `3-move_file.py`: Archive POC scripts into the tmp directory. |
| 51 | +- `4-download_nuclei.py`: Download Nuclei to validate POC scripts. |
| 52 | +- `5-check_poc.sh`: Validate POC scripts and move them to the poc directory. |
| 53 | +- `6-get_count.py`: Get the count of archived POC scripts. |
| 54 | +- `7-get_pocname.py`: Read and write the list of POCs into poc.txt. |
| 55 | +- `check_poc.sh`: Validate POC scripts and package them into a poc.zip file. |
| 56 | +- `repo.csv`: List of GitHub repositories containing Nuclei POCs. |
| 57 | +- `poc.txt`: List of archived POC scripts. |
| 58 | +- `poc/`: Categorized Nuclei POC files. |
| 59 | +- `clone-templates/`: Temporary folder for cloned GitHub projects. |
| 60 | +- `tmp/`: Temporary folder for deduplicated and categorized POC scripts. |
| 61 | + |
| 62 | +## Acknowledgments |
| 63 | + |
| 64 | +This project has received support and contributions from various individuals and projects. Special thanks to the following: |
| 65 | + |
| 66 | +### Projects |
| 67 | + |
| 68 | +Thanks to [ProjectDiscovery](https://github.com/projectdiscovery/nuclei) for providing the Nuclei tool and support to the open-source community. |
| 69 | + |
| 70 | +### Individuals |
| 71 | + |
| 72 | +Special thanks to [TajangSec](https://github.com/TajangSec) for optimizing and improving parts of the code. |
0 commit comments