𝗜 𝗔𝘂𝗱𝗶𝘁𝗲𝗱 𝗠𝘆 𝗦𝗶𝗱𝗲 𝗣𝗿𝗼𝗷𝗲𝗰𝘁𝘀 𝗳𝗼𝗿 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆 — 𝗛𝗲𝗿𝗲 𝗜𝘀 𝗪𝗵𝗮𝘁 𝗜 𝗙𝗼𝘂𝗻𝗱

I recently audited all my side projects. I checked my FastAPI backends, Telegram bots, and web apps. I thought I was careful.

I was wrong.

I found real bugs that I actually shipped to production. These are not theoretical problems. They are mistakes I made while trying to move fast.

Here are the main issues I found and how to fix them:

  1. Conditional Authentication I wrote code that only checked API keys if a secret existed. If I forgot to set the secret in my environment, the check skipped entirely. This left my API open to everyone.
  1. Leaking Keys in Git History I found old API keys in my Git history. I had moved them to .env files later, but Git keeps every old version of your code forever.
  1. Leftover Debug Endpoints I left endpoints in production that showed my database configuration and system settings. These are helpful during development but dangerous in the wild.
  1. Verbose Error Messages I was returning raw system errors to the user. These errors reveal your file paths, database types, and library versions. An attacker can use this data to target your system.
  1. XSS via innerHTML I used innerHTML to render user data in my frontend. This allows attackers to inject scripts into your site.
  1. Lack of Rate Limiting I had endpoints that called expensive AI models without limits. One user could run up a massive bill in minutes.
  1. Permissive CORS Settings I used allow_origins=["*"] in my middleware. This allows any website to make requests to your API.
  1. Kebocoran File Saya menulis kode yang membuat file sementara tetapi gagal menghapusnya jika proses mengalami crash. File-file ini akan tetap ada di server Anda selamanya.

Masalah keamanan jarang sekali disengaja. Hal tersebut adalah akibat dari ucapan "Saya akan memperbaikinya nanti." Namun, "nanti" itu tidak pernah datang.

Bangun keamanan ke dalam alur kerja Anda sejak hari pertama. Periksa kode Anda sebelum melakukan commit dan sebelum melakukan deploy.

Sumber: https://dev.to/justjinoit/i-audited-my-own-side-projects-for-security-issues-heres-what-i-found-1ahb