Python 3 to w tej chwili jeden z najpopularniejszych języków programowania. Stosunkowo prosta składnia oraz łatwość ekspresji powoduje, iż jest on bardzo częstym wyborem. Popularność niesie za sobą masę bibliotek, które powstają nie tylko w Pythonie, ale także w innych językach (np. C) w celu poprawienia wydajności. Duża ilość kodu oraz ograniczone zasoby osobowe powodują, iż oprócz wykonywanych regularnie procesów code-review dobrze jest rozejrzeć się za zautomatyzowanym sposobem poszukiwania błędów i włączyć go do procesu rozwoju systemu w taki sposób, aby otrzymywać informacje o znalezionych błędach zaraz po kolejnym commicie. Taką możliwość daje fuzzing (lub property testing)...
Zagadnienia poruszane w tym artykule:
- Przyspieszony wstęp do fuzzingu;
- Fuzzing Pythona;
- Instalacja;
- Pierwsze fuzzowanie;
- Structure aware fuzzing;
- Differential fuzzing;
- Dalsze perspektywy.
Artykuł pochodzi z magazynu Programista nr 113 (3/2024). Szczegółowy spis treści wydania nr 113: https://programistamag.pl/programista-3-2024-113/
Autorem artykułu jest Foxtrot_Charlie. Pentester i researcher z wieloletnim doĹ›wiadczeniem. W wolnym czasie ĹĽongluje bitami, uczestniczy w potyczkach CTF oraz niszczy drony FPV.