explaingit

paragonie/awesome-appsec

6,910PHPAudience · developerComplexity · 1/5Setup · easy

TLDR

A curated reading list of books, articles, courses, and tools for learning application security across many programming languages, maintained by a secure software development company.

Mindmap

mindmap
  root((awesome-appsec))
    General topics
      Password storage
      Cryptography
      Random numbers
    By language
      Node.js
      Go
      Java
      Android
    Resource types
      Books
      Articles
      Online courses
    Practice
      Juice Shop
      PentesterLab
      OWASP NodeGoat
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Find the best books on application security for your programming language, from beginner to advanced.

USE CASE 2

Discover intentionally vulnerable practice apps like Juice Shop or OWASP NodeGoat to sharpen your security skills.

USE CASE 3

Browse language-specific security resources for Node.js, Go, Java, Android, or C++ to harden your codebase.

USE CASE 4

Get free tool recommendations for checking SSL configurations and HTTP security headers on your site.

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

This repository is a curated reading list for people who want to learn about application security. It does not contain code. Instead, it collects links to books, articles, blog posts, online courses, practice websites, and tools that security researchers and developers have found useful. The list is maintained by Paragon Initiative Enterprises, a company that focuses on secure software development. The general section covers topics that apply to any programming language: how to generate random numbers safely, how to store passwords correctly, why certain cryptographic approaches are risky, and why investing in security matters. Books in that section range from beginner-friendly titles to deep technical references on topics like SSL and TLS, reverse engineering, and Windows internals. Many of the listed books are paid, and the list marks them clearly. Beyond the general section, the list is organized by programming language and platform. There are dedicated sections for Android, C, C++, C#, Clojure, Go, Java, Node.js, and AWS Lambda. Each section links to coding standards, language-specific articles, and sometimes repositories with example vulnerable applications for hands-on practice. The Node.js section, for example, includes a security checklist and resources on Electron app security. The practice websites listed, such as PentesterLab, Juice Shop, and OWASP NodeGoat, are intentionally vulnerable applications that let you practice finding and fixing real security flaws in a safe environment. There are also links to blogs, wiki pages like the OWASP Top Ten Project, and free online tools for checking SSL configurations and HTTP security headers. This is a reference collection, not a tutorial series. If you are trying to understand a specific security topic or pick a next book on secure coding, this list is a reasonable starting point across many languages and skill levels. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Using awesome-appsec as a guide, give me the top 3 books I should read to learn application security as a Node.js developer.
Prompt 2
Based on the OWASP resources in awesome-appsec, walk me through setting up Juice Shop locally to practice finding SQL injection flaws.
Prompt 3
What does awesome-appsec recommend for learning secure password storage and safe random number generation in Python?
Prompt 4
Create a 30-day learning plan for a junior developer to become security-aware using resources from the awesome-appsec list.
Open on GitHub → Explain another repo

← paragonie on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.