What security-related Python projects are worth reading on GitHub?

Source: Internet
Author: User
Including but not limited to binaryweb, including but not limited to binary web reply content:
Network

Scapy: Send, sniff and dissect and forge network packets. Usable interactively or as a library

Pypcap, PcapyAnd pylibpcap: Several different Python bindings for libpcap

Libdnet: Low-level networking routines, including interface lookup and Ethernet frame transmission

Dpkt: Fast, simple packet creation/parsing, with definitions for the basic TCP/IP protocols

Impacket: Craft and decode network packets. Supported des support for higher-level protocols such as NMB and SMB

Pynids: Libnids wrapper offering sniffing, IP defragmentation, TCP stream reassembly and port scan detection

Dirtbags py-pcap: Read pcap files without libpcap

Flowgrep: Grep through packet payloads using regular expressions

Knock Subdomain Scan, Enumerate subdomains on a target domain through a wordlist

Mallory, Extensible TCP/UDP man-in-the-middle proxy, supports modifying non-standard protocols on the fly

Pytbull: Flexible IDS/IPS testing framework (shipped with more than 300 tests)




Debugging and Reverse Engineering

Paimei: Reverse engineering framework, except des PyDBG, PIDA, pGRAPH

Immunity Debugger: Scriptable GUI and command line debugger

Mona. py: PyCommand for Immunity Debugger that replaces and improves on pvefindaddr

IDAPython: IDA Pro plugin that integrates the Python programming language, allowing scripts to run in IDA Pro

PyEMU: Fully scriptable IA-32 emulator, useful for malware analysis

Pefile: Read and work with Portable Executable (aka PE) files

Pydasm: Python interface to the libdasmX86 disconfiguring library

PyDbgEng: Python wrapper for the Microsoft Windows Debugging Engine

Uhooker: Intercept callto API callinside DLLs, and also arbitrary addresses within the executable file in memory

DiStorm: Discycler library for AMD64, licensed under the BSD license

Python-ptrace: Debugger using ptrace (Linux, BSD and Darwin system call to trace processes) written in Python

Vdb/vtrace: Vtrace is a cross-platform process debugging API implemented in python, and vdb is a debugger which uses it

Androguard: Reverse engineering and analysis of Android application




Fuzzing

Sulley: Fuzzer development and fuzz testing framework consisting of multiple extensible components

Peach Fuzzing Platform: Extensible fuzzing framework for generation and mutation based fuzzing (v2 was written in Python)

Antiparser: Fuzz testing and fault injection API

TAOF, (The Art of Fuzzing) including ProxyFuzz, a man-in-the-middle non-deterministic network fuzzer

Untidy: General purpose XML fuzzer

Powerfuzzer: Highly automated and fully customizable web fuzzer (HTTP protocol based application fuzzer)

SMUDGE

Mistress: Probe file formats on the fly and protocols with malformed data, based on pre-defined patterns

Fuzzbox: Multi-codec media fuzzer

Forensic Fuzzing Tools: Generate fuzzed files, fuzzed file systems, and file systems containing fuzzed files in order to test the robustness of forensics tools and examination systems

Windows IPC Fuzzing Tools: Tools used to fuzz applications that use Windows Interprocess Communication mechanisms

WSBang: Perform automated security testing of SOAP based web services

Construct: Library for parsing and building of data structures (binary or textual). Define your data structures in a declarative manner

Fuzzer. py (feliam): Simple fuzzer by Felipe Andres Manzano

Fusil: Python library used to write fuzzing programs




Web

Requests: Elegant and simple HTTP library, built for human beings

HTTPie: Human-friendly cURL-like command line HTTP client

ProxMon: Processes proxy logs and reports discovered issues

WSMap: Find web service endpoints and discovery files

Twill: Browse the Web from a command-line interface. Supports automated Web testing

Ghost. py: Webkit web client written in Python

Windmill: Web testing tool designed to let you painlessly automate and debug your web application

FunkLoad: Functional and load web tester

Spynner: Programmatic web browsing module for Python with Javascript/AJAX support

Python-spidermonkey: Bridge to the Mozilla SpiderMonkey JavaScript engine; allows for the evaluation and calling of Javascript scripts and functions

Mitmproxy: SSL-capable, intercepting HTTP proxy. Console interface allows traffic flows to be inspected and edited on the fly

Pathod/pathoc: Pathological daemon/client for tormenting HTTP clients and servers




Forensics

Volatility: Extract digital artifacts from volatile memory (RAM) samples

LibForensics: Library for developing digital forensics applications

TrIDLib, Identify file types from their binary signatures. Now Using DES Python binding

Aft: Android forensic toolkit




Malicious program analysis

Pyew: Command line hexadecimal editor and disassembler, mainly to analyze malware

Exefilter: Filter file formats in e-mails, web pages or files. Detects allow common file formats and can remove active content

PyClamAV: Add virus detection capabilities to your Python software

Jsunpack-n, Generic JavaScript unpacker: emulates browser functionality to detect exploits that target browser and browser plug-in vulnerabilities

Yara-python: Identify and classify malware samples

Phoneyc: Pure Python honeyclient implementation




PDF

Didier Steven s' PDF tools: Analyze, identify and create PDF files (supported des between ID, Pdf-parserAnd make-pdfAnd mPDF)

Opaf: Open PDF Analysis Framework. Converts PDF to an XML tree that can be analyzed and modified.

Origapy: Python wrapper for the Origami Ruby module which sanitizes PDF files

PyPDF: Pure Python PDF toolkit: extract info, spilt, merge, crop, encrypt, decrypt...

PDFMiner: Extract text from PDF files

Python-poppler-qt4: Python binding for the Poppler PDF library, including Qt4 support




Misc

InlineEgg: Toolbox of classes for writing small assembly programs in Python

Exomind: Framework for building decorated graphs and developing open-source intelligence modules and ideas, centered on social network services, search engines and instant messaging

RevHosts: Enumerate virtual hosts for a given IP address

Simplejson: JSON encoder/decoder, e.g. to use Google's AJAX API

PyMangle: Command line tool and a python library used to create word lists for use with other penetration testing tools

Hachoir: View and edit a binary stream field by field

Py-mangle: Command line tool and a python library used to create word lists for use with other penetration testing tools




Other useful py libraries and tools
Bpython

IPython: Enhanced interactive Python shell with your features for object introspection, system shell access, and its own special command system

Beautiful Soup: HTML parser optimized for screen-scraping

Matplotlib: Make 2D plots of arrays

Mayavi: 3D scientific data visualization and plotization

RTGraph3D: Create dynamic graphs in 3D

Twisted: Event-driven networking engine

Suds: Lightweight SOAP client for consuming Web Services

M2Crypto: Most complete OpenSSL wrapper

NetworkX: Graph library (edges, nodes)

Pandas: Library providing high-performance, easy-to-use data structures and data analysis tools

Pyparsing: General parsing module

Lxml: Most feature-rich and easy-to-use library for working with XML and HTML in the Python language

Whoosh: Fast, featureful full-text indexing and searching library implemented in pure Python

Pexpect: Control and automate other programs, similar to Don Libes 'keep ct' system

Sikuli, Visual technology to search and automate GUIs using screenshots. Scriptable inJython

PyQtAnd PySide: Python bindings for the Qt application framework and GUI library

Https://github.com/dloss/python-pentest-toolsSomeone specially sorted out the list on sqlmapgithub (dloss/python-pentest-tools · GitHub ), Although not very complete, it is still a good overall list.

In addition, you need to mention that most python security projects are only suitable for reading and there is no need to read them because the engineering architecture and coding specifications of many security projects are generally the same, it is enough. Is it true that python has not been tested. I have summarized an open-source tool set for information security.
WALA: provides static analysis for java bytecode and javascript
PIXY: php Static Analysis Tool (stain analysis)
Clang: the front-end work of the compiler. It is responsible for lexical analysis and syntax analysis to generate a syntax tree.
Llvm: the back-end work of the compiler. It is responsible for generating intermediate codes, optimizing codes, and generating machine codes.
Klee: Applicable to C language and static symbolic execution tools built on llvm.
Magic: static model detection tool, applicable to C Language
Blast: static model detection tool, applicable to C Language
Java pathfinder: a static model detection tool for java
Saturn (stanford): a static vulnerability detection tool based on theorem, applicable to C
ESC/JAVA: a static vulnerability detection tool based on theorem proof, applicable to java
Peach: the well-known fuzz framework.
Sulley (2012): The new-generation fuzz framework, python implementation.
Argos: the dynamic taint technology used to detect 0-day attacks on the host honeypot.
BitBlaze: the static analysis component vine and the dynamic analysis component temu are both open-source. However, the online dynamic symbolic execution component is not open-source.
Valgrind: an open-source Virtual Machine for Dynamic Binary analysis. Memory Allocation Analysis and thread analysis. Dynamic Binary plug-in. Only user State tracking can be implemented
TaintDroid: android dynamic stain analysis tool
BAP: A vulnerability detection tool based on binary executable program disassembly. OCaml language.
BinNavi: A vulnerability detection tool based on binary executable program disassembly. It cannot be disassembled. IDA Pro must be used to disassemble binary files.
Z3: open-source constraint solver of Microsoft. Cross-platform features
STP: Open Source Software of MIT open source protocol. It is widely used in symbol execution. But it can only run on Linux. Tools for reverse engineering and binary analysis:
Qira BinaryAnalysisPlatform/qira · GitHub
Angr/angr · GitHub The fuck greysign/thefuck · GitHub
No reason not to recommend it ...... Http://awesome-python.com/

All the libraries listed on this website are excellent third-party Python libraries, most of which are hosted on github and worth reading carefully. Starting from the subject, security + worth reading + python

Requests is good,
Sqlmap is recommended for chuangyu cos,

There are good tools for other answers.
Good tools are not necessarily worth reading ?!

Android guard was recommended but not read!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.