AppSecSchool:
Starting with Code Review!

Enjoy our additional free content from our channel

Starting with Code Review!

Getting Started with Code Review: A Comprehensive Guide

How often have you come across the advice "Just read code" when considering diving into code review? While it provides a foundation, we sometimes overlook a crucial query: Which code should you kick off with? Jumping in too deep can be daunting, whereas something too basic might lack the challenge you seek. Let's map out a strategy to hone your code review expertise.

1. Starting Small: Vulnerable Code Snippets

Commence with digestible pieces, like tiny vulnerable code snippets. Opt for a language you hold dear or find easiest. Platforms such as PentesterLab proffer a code review badge, serving up succinct examples that bolster your self-assurance.

2. Patches and Security Mailing Lists

If pre-curated snippets aren't on your radar, shift your focus to patches. Delve into security mailing lists from open-source software in your toolkit. Noteworthy starting points encompass the Apache foundation mailing list and the Ruby-on-Rails security mailing list.

These portals grace you with a myriad of vulnerabilities and languages, coupled with well-explained issues, simplifying your initiation.

For tools and projects you often employ, zero in on their CVEs.

3. Libraries: The Intermediate Challenge

Feeling up to the task with patches? Libraries await your attention. Their compact codebases, usually devoted to a solitary issue, permit you to juxtapose various solutions and discern missing validations. A suitable analogy? It's akin to the game SPOT THE DIFFERENCE.

For instance, JWT libraries, session management, or file processing utilities can be your targets. Platforms like jwt.io/libraries are poised to assist you.

4. The Approach: Understand, Don't Just Scan

A vital pointer: Refrain from merely using grep to scout for bugs. The emphasis should be on grasping the code's essence, its modus operandi, and potential security ramifications. Reserve grep for your advanced stages. Initially, strive to fathom the code instead of merely hunting for apparent vulnerabilities.

5. Expanding Horizons: Classic Software

As your confidence swells, traditional software comes into play. However, tread cautiously. Familiarize yourself with regular features such as user sign-ups, password reset mechanisms, and file uploads before tackling the entire codebase.

Steer clear of intricate subjects like Wordpress or Apache HTTPd initially. Curated compilations like "Awesome [Language]" can navigate you towards less established codebases, ideal for skill augmentation.

6. Gauging Success

The paramount question: How do you evaluate your progress? Shun the trap of quantifying your achievements by the vulnerabilities you discern. Direct your focus towards comprehension, pattern intricacy you're acquainted with, and your prowess in navigating novel codebases.

Always cherish the principle of quality over quantity. Speed isn't the essence; it's the depth and quality of understanding that counts.

Wrapping Up

Embarking on your code review journey is a step-by-step progression, revolving around comprehension and a quality-centric mindset. Remember, every expert was once a beginner. Here's to you, the budding code reviewer!