Gary Kwong

Gary Kwong

Mentor
Rising Codementor
US$69.00
For every 15 mins
ABOUT ME
Senior Python developer with 15+ years of fuzzing experience
Senior Python developer with 15+ years of fuzzing experience

I run my own consultancy, yGit Software. Previously, I worked on fuzzing harnesses in Python on Mozilla Firefox / SpiderMonkey JS engine for >8 years full time, 3+ years as a remote contractor. Experienced the pain of moving large codebases from Python 2.x to 3, and would love to share my knowledge of how to avoid known pain points of using Python in the practical world.

Pacific Time (US & Canada) (-07:00)
Joined July 2020
EXPERTISE
15 years experience
Previously a maintainer of a large (several thousand-line) Python codebase on GitHub.
Previously a maintainer of a large (several thousand-line) Python codebase on GitHub.
15 years experience
On the Mozilla bug bounty hall-of-fame. Worked 8+ years full-time on the fuzzing team of Mozilla Firefox, a few more years as a contract...
On the Mozilla bug bounty hall-of-fame. Worked 8+ years full-time on the fuzzing team of Mozilla Firefox, a few more years as a contractor. I teach fuzzing workflows, I do not teach exploitation.
37 years experience
Fluent in English and Chinese (Mandarin and Cantonese).
Fluent in English and Chinese (Mandarin and Cantonese).

REVIEWS FROM CLIENTS

Gary's profile has been carefully vetted and approved as a Codementor. Connect with Gary now, and leave a review for them once you're done!
EMPLOYMENTS
Principal
yGit Software
2020-08-01-Present
I'm currently a Principal at yGit Software.
I'm currently a Principal at yGit Software.
Python
Python
Senior Software Engineer (Fuzzing Security Engineer)
MZ Canada (Mozilla)
2019-04-01-2020-01-01
Built and deployed funfuzz running 24/7 on Windows / Linux / macOS locally, in the Amazon EC2 AWS Cloud, on x86 / x86-64 / ARM64 architec...
Built and deployed funfuzz running 24/7 on Windows / Linux / macOS locally, in the Amazon EC2 AWS Cloud, on x86 / x86-64 / ARM64 architectures; collated information from testcases including: stacktraces via gdb, reverse debugger traces via rr, rr trace submission via pernosco, Git/Mercurial revision, compilation information, runtime flags into the bug report; worked with developers to ensure the bugs’ reproduction on machines for debugging. • Managed funfuzz, 10K+ public Python project on GitHub, while interacting with FuzzManager to identify SpiderMonkey security bugs, Mozilla’s JavaScript engine. • Reduced several thousand-line (security-sensitive) JavaScript and WebAssembly (wasm) testcases to minimal forms using a line-based reducer, Lithium. • Produced Autobisectjs, Python code aiming to bisect test cases back in time to identify when the issue first occurred or when the bug first surfaced. This also worked for identifying when an issue got fixed or got hidden by another patch. • Reported >2,6K SpiderMonkey bugs via fuzzing, and >3,5K total across all Mozilla products. • Reported 19 bugs in Google V8 JS Engine, and 4 bugs in Microsoft ChakraCore Engine.
Python
Python 3
JavaScript
View more
Python
Python 3
JavaScript
View more
Senior Security Engineer
Mozilla Corporation
2015-08-01-2019-03-01
Managed fuzzer maintenance (jsfunfuzz / compare_jit) and assisted in its development; facilitated group discussions on Eastern / Western ...
Managed fuzzer maintenance (jsfunfuzz / compare_jit) and assisted in its development; facilitated group discussions on Eastern / Western cultural working differences; organized localization and open source community events in East Asia/Southeast Asia. • Created fuzzers: randorderfuzz and funbind – WebAssembly. • Migrated funfuzz, comprising several thousand lines of code in production, over to Python 3.6. • Created Windows support for FuzzManager, a centralized tool for fuzzbugs. • Created a JavaScript binary build catching system on Amazon S3 to save on computer processing time.
Python
Python 3
JavaScript
View more
Python
Python 3
JavaScript
View more
PROJECTS
2020
(Project at previous employment) This repository contains several JavaScript-based fuzzers. jsfunfuzz tests JavaScript engines and can r...
(Project at previous employment) This repository contains several JavaScript-based fuzzers. jsfunfuzz tests JavaScript engines and can run in a JavaScript shell, compare_jit compares output from SpiderMonkey using different flags, while randorderfuzz throws in random tests from the mozilla-central directory into generated jsfunfuzz output. Most of the code other than testcase generation is written in Python: restarting the program when it exits or crashes, noticing evidence of new bugs from the program's output, reducing testcases, and identifying when regressions were introduced.
Python
Python 3
JavaScript
View more
Python
Python 3
JavaScript
View more