Building a Quick Live Response Script for macOS Incident Response When responding to a potential security incident, time is of the essence. Volatile data – such as running processes and active network connections – can disappear if the machine is powered off or rebooted. To capture this critical information quickly and consistently, we built a…
Shadow AI Data Leak Guard
Leveling Up My Python Coding: Refactoring and Native macOS Popups Today was a great day for improving both the architecture and the user experience of my Python project, Shadow Guard—a tool that monitors my clipboard to prevent sensitive data leaks. 1. From Monolithic to Modular When I first wrote guard.py, it was a single file…
My Master Thesis
Fuzzing the i915 Driver: A Collaborative Effort with Intel and University of Bonn Welcome, fellow security enthusiasts and Linux aficionados! Today, I’m excited to share the culmination of my research efforts in collaboration with Intel and the University of Bonn, Germany. This blog post will introduce you to my master’s thesis, finalized in 2021, which…
Practically Understanding x86_64: Basic Concepts
In the first post of the series, we give a preview into the expectations from this blog series. In the second post of this blog series, we introduce some basic concepts that might be required to understand the upcoming blog posts. Introduction The x86_64 assembly instruction set (or simply known as x64) is an extension…
Return Zero
To start learning how to read assembly, we first take a look at a very basic C function and its stack. We will look at the assembly of the following C program: This program simply returns the return code 0 for the main() function to signify successful completion. A non-zero return code can be used…
Practically Understanding x86_64: Preview
This will be a series of posts directed at people who want to learn how to read the x86_64 assembly code of their C program. These posts are aimed to provide an understanding of the most important components of x86_64 assembly and how the x86_64 processors manage memory when a C program is executed. This…