Information Security
Guides on OWASP, prompt injection, non-human identities, secrets, supply-chain attacks, and securing AI-generated code.
New and updated
All 96 guides
- What Is Prompt Injection? Prompt injection manipulates an LLM with instructions hidden in data so it ignores its developer's rules. Learn direct and indirect forms and defenses.
- What Is the OWASP Top 10? The OWASP Top 10 is the standard list of the most critical web application security risks. Learn all ten categories and how to use the list.
- What Is SQL Injection (and Why Does AI-Generated Code Keep Writing It)? SQL injection lets attackers run arbitrary database commands through your app. Learn how it works and why AI-generated code repeatedly introduces it.
- What Is Slopsquatting (AI Package Hallucination Attacks)? Slopsquatting is registering the fake package names AI models hallucinate, so generated code installs malware. Learn how it works and how to avoid it.
- How to Scan Your Codebase for Hardcoded Secrets Find API keys and tokens committed to your repo with secret scanners like Gitleaks and TruffleHog, and stop new leaks in CI. A practical tutorial.
- What Is a Non-Human Identity (NHI)? A non-human identity is any machine credential — service accounts, API keys, OAuth tokens — used by software and agents. Learn why NHIs are a top risk.
- What Is the OWASP Non-Human Identity Top 10? The OWASP Non-Human Identity Top 10 catalogs the biggest risks in machine credentials — from stale keys to over-privileged agents. Learn the list.
- What Is MCP (Model Context Protocol) and Why Does It Need Securing? MCP lets AI assistants connect to external tools and data, which makes it a live attack surface. Learn the protocol and its core security risks.
- How to Secure an MCP Server Secure an MCP server: least-privilege tools, authentication, scoped short-lived credentials, and human approval for high-impact actions. A practical guide.
- What Is Agentic AI Security? Agentic AI security governs AI systems that act autonomously with tools and credentials. Learn the risks and the controls that keep agents contained.
- What Is the "Lethal Trifecta" for AI Agents? The 'lethal trifecta' — private data, untrusted content, and external communication — is the combination that makes AI agents dangerous. Learn the concept.
- What Is Zero Trust Architecture? Zero trust means never trusting by default: verify every request, enforce least privilege, and assume breach. Learn the principles in plain language.
- What Is a Software Bill of Materials (SBOM)? An SBOM is a machine-readable inventory of every component in your software. Learn what it contains, its formats, and why it's increasingly required.
- How to Generate an SBOM for Your Project Generate an SBOM with Syft in one command, scan it with Grype for vulnerabilities, and add it to CI. A practical tutorial.
- What Is a Software Supply Chain Attack? A software supply chain attack compromises the tools or dependencies you trust, not your code. Learn the vectors and how to defend against them.
- What Is Broken Access Control (IDOR)? IDOR lets users access other people's data by changing an ID in a request when the app never checks ownership. Learn how it works and how to fix it.
- How to Test Your App for Broken Access Control A practical guide to testing for IDOR and privilege escalation: two accounts, cross-account ID swaps, and role checks. No security background required.
- What Is CSRF (Cross-Site Request Forgery)? CSRF tricks a logged-in user's browser into making requests they didn't intend. Learn how it works, why AI tools skip it, and how to prevent it.
- What Is SSRF (Server-Side Request Forgery)? SSRF tricks your server into fetching an attacker-chosen URL, exposing internal services. Learn how it works, why AI code introduces it, and defenses.
- What Are Security Headers (and How Do You Add Them)? Security headers like CSP, HSTS, and X-Frame-Options harden a site against common attacks. Learn each header and how to add them.
- What Is OAuth 2.0? OAuth 2.0 is a framework that lets apps access your data on another service without sharing your password. Learn the flows and core concepts.
- What Are Passkeys (and Should You Switch)? Passkeys replace passwords with cryptographic key pairs unlocked by your device, resisting phishing. Learn how they work and whether to switch.
- How to Automate API Key Rotation Automate API key rotation so leaked credentials stop working quickly. A practical guide: inventory, short lifetimes, and a rotation job.
- What Is a CVE? A CVE is a standardized identifier for a publicly disclosed security vulnerability. Learn what CVEs are, how they're assigned, and what they mean.
- How to Read a CVE and Know If You're Affected Read a CVE the right way: check affected versions, severity, and exploitability before you panic. A practical tutorial with the fields explained.
- What Is Static Application Security Testing (SAST)? SAST scans your source code for vulnerability patterns before it runs — catching SQL injection, XSS, and more at the earliest stage. Learn the basics.
- How to Add SAST Scanning to a GitHub Repo Add SAST to a GitHub repo with CodeQL or Semgrep, block on critical findings, and tune the noise. A practical, copy-pasteable tutorial.
- What Is Penetration Testing (and Do You Need One)? A penetration test simulates real attacks to find exploitable weaknesses. Learn what a pentest covers and whether your stage actually needs one.
- What Is Ransomware (and How Does It Actually Get In)? Ransomware encrypts your data and demands payment to unlock it. Learn how it actually enters systems — and the backups and hygiene that stop it.
- What Is Phishing-Resistant MFA? Phishing-resistant MFA uses FIDO2 passkeys or hardware keys that can't be tricked by fake sites — unlike SMS codes. Learn why it's the new baseline.
- What Is a Man-in-the-Middle Attack? A man-in-the-middle attack intercepts and can alter traffic between two parties who believe they're talking directly. Learn how it works and how TLS stops it.
- How to Store Passwords Correctly (Hashing vs Encryption) Passwords must be hashed with a slow algorithm like Argon2 or bcrypt, never encrypted or stored in plaintext. Learn why and how, with code examples.
- What the Moltbook Breach Teaches About Shipping Vibecoded Apps A reported January 2026 incident where an AI-built app leaked API tokens is a case study in what goes wrong when code ships without security review.
- Kubernetes Security for AI Builders: Hardening the Cluster Your Assistant Configured A default cluster trusts everything inside it. Learn RBAC, network policies, pod security, Secrets, and image hardening — the Kubernetes security work your AI's manifests skip.
- Authentication and Authorization for AI Builders: Who You Are, and What You're Allowed to Touch Login, sessions, JWTs, OAuth, passkeys, and the object-level checks your AI assistant skips. Every auth concept a vibecoder needs, with a linked guide for each.
- Does AI Still Hallucinate (and Why)? Yes, AI models still hallucinate. The 2026 AI Index measured hallucination rates from 22% to 94% across 26 models. Why it happens and what you can do about it.
- Securing AI Agents and LLM Features: The Attack Surface You Just Added Prompt injection, MCP servers, non-human identities, and hallucinated packages — every security concept that applies once your app has an LLM feature or an AI agent. With linked guides.
- The 15 Security Failures Your AI Coding Assistant Ships by Default AI coding assistants default to SQL injection, hardcoded secrets, missing access controls, and 12 other security failures. Here's every one, with the fix and the linked guide.
- InfoSec for Vibecoders: Every Security Concept Your AI-Generated Code Gets Wrong Your AI coding assistant ships SQL injection, exposed secrets, and broken access control by default. Learn every infosec concept you need to catch these before they hit production. 40+ linked guides.
- Path Traversal in AI-Generated Code: How Your File Download Endpoint Gets Hacked AI assistants build file-serving endpoints with string concatenation that attackers exploit with ../. Here are the vulnerable patterns your AI generates, the encoding tricks that bypass naive fixes, and the one correct solution.
- How to Choose an Authentication Method for Your App: A Decision Guide Sessions, JWTs, OAuth, passkeys, magic links, or SSO — the six questions that decide your auth method, a comparison table, and the cases where each option is the wrong pick.
- What Are the Different Types of Authentication (and What Is Each One For)? Passwords, one-time codes, passkeys, magic links, social sign-in, SSO, certificates, and API keys — how each authentication type works, what it's for, and where it's weak.
- How to Design Authorization for Your App (So Users Can't Reach Each Other's Data) Ownership, roles, tenants, and admin access — how to design authorization that lives in the query, denies by default, and survives the endpoint someone forgets to protect.
- The 12 Authentication Mistakes That Show Up in AI-Generated Apps Reversible password storage, unverified tokens, sessions that never die, enumerating logins, bypassable MFA, and unprotected endpoints — twelve auth defects generated code ships with, and the fix for each.
- What Is Cross-Site Scripting (XSS)? XSS lets attacker-controlled JavaScript run in another user's browser. Learn the three types, why AI-generated React still ships it, and how to prevent it.
- What Is CORS (and Why Does Every AI-Generated App Hit It)? CORS is the browser rule that blocks cross-origin requests without server permission. Learn why AI-generated apps hit it and how to fix it safely.
- What Is Prototype Pollution? Prototype pollution lets an attacker set properties on every object in a JavaScript app. Learn how deep-merge code enables it and how to prevent it.
- What Is ReDoS (Regular Expression Denial of Service)? ReDoS is a denial-of-service attack that uses a badly written regular expression to burn CPU. Learn what catastrophic backtracking is and how to fix it.
- Session Cookies vs JWT: Which Should You Use? Sessions and JWTs solve the same problem differently. Compare revocation, storage, scale, and attack surface, and get a direct recommendation.
- What Is DAST (and How Is It Different From SAST)? DAST tests a running application from the outside by attacking it. Learn how it differs from SAST, what each catches, and what to run for a small app.
- Input Validation vs Escaping vs Sanitization: What's the Difference? Validation, escaping, and sanitization are three different defenses used against injection. Learn which one to use, where, and why mixing them causes bugs.
- What Is a Subdomain Takeover? A subdomain takeover lets an attacker claim an abandoned subdomain and serve content on your domain. Learn how it happens and how to stop it.
- What Is Web Cache Poisoning? Web cache poisoning tricks a CDN or proxy into serving an attacker-controlled response to everyone. Learn how it works and how to prevent it.
- What Is an Open Redirect (and Why Do Phishers Love It)? An open redirect lets a site send visitors to an attacker-chosen URL. Learn how it's abused for phishing and how to close it with one validation.
- What Is Clickjacking (and How Do You Prevent It)? Clickjacking hides your page inside an invisible frame so clicks land on buttons the user can't see. Learn how it works and the one-header fix.
- What Is Path Traversal (Directory Traversal)? Path traversal lets an attacker read files outside the intended directory using ../ sequences. Learn how it works and the safe way to serve files.
- What Is Credential Stuffing (and How Does It Get Your Accounts)? Credential stuffing reuses passwords leaked from one site to break into others. Learn how the attacks work and why unique passwords are the only real defense.
- What Is Dependency Confusion (and How Do You Prevent It)? Dependency confusion makes your build install a malicious public package instead of your private one. Learn how the attack works and how to pin it out.
- Why Your Frontend API Keys Are Not Secret Any key shipped in frontend JavaScript can be extracted by anyone. Learn what frontend keys can and can't protect, and how to gate access properly.
- What Is HSTS (and Why Your HTTPS Isn't Enough)? HSTS tells browsers to always use HTTPS for your domain, closing the downgrade window. Learn how it works and how to enable it safely.
- JWT Security: Common Mistakes That Get Tokens Stolen JWTs are easy to generate and easy to get wrong. Learn the mistakes — algorithm confusion, weak secrets, no expiry — that turn tokens into access.
- How to Find and Remove Secrets From Git History Deleting a secret from your code doesn't remove it from git history. Find leaked keys with gitleaks, scrub history, and rotate what leaked.
- What Is Content Security Policy (CSP)? CSP is a header that tells the browser which scripts and resources a page may load, stopping injected code. Learn how to set it up without breaking your site.
- What Is Bug Bounty Disclosure? Bug bounty disclosure explains how companies manage vulnerability reports from external researchers — from triage and rewards to coordinated disclosure.
- What Is a Bug Bounty Program? A bug bounty program pays security researchers to find and report vulnerabilities. Learn how they work, what they cost, and whether your project needs one.
- How to Prevent Credential Stuffing Attacks Stop credential stuffing with multi-factor authentication, rate limiting, breached-password detection, and bot detection. Practical steps for any web app.
- The Kubernetes Security Checklist for AI-Built Clusters A default cluster trusts everything inside it. Work through the identity, network, workload, secrets, and image checks your AI's manifests left at their permissive defaults.
- What Is Kubernetes RBAC (and What Did Your AI Grant Away)? RBAC decides which identities can perform which actions on which resources. Generated manifests routinely over-permission service accounts, and the fix is scoping.
- What Is a Kubernetes Network Policy? By default every pod can reach every other pod. A network policy restricts that traffic to explicit flows, containing a compromise instead of letting it spread.
- Are Kubernetes Secrets Actually Secret? A Kubernetes Secret is base64-encoded, not encrypted, and readable by anyone with get on Secrets. Learn what it does and does not protect, and how to harden it.
- Kubernetes Pod Security: Why Your AI's Container Runs as Root Generated manifests leave containers running as root with default capabilities and a writable filesystem. Pod security settings close that gap, starting with securityContext.
- What Is XXE (XML External Entity Injection)? XML parsers can be told to fetch external resources. XXE abuses that to read local files, probe internal networks, and in some configurations cause denial of service.
- What Is Server-Side Template Injection (SSTI)? Template injection happens when user input is rendered as template code rather than as data, letting an attacker run expressions and often reach remote code execution.
- Secret Scanning vs SAST vs DAST: Which Do You Actually Need? Three scanners that get installed interchangeably: one finds committed credentials, one reads your code for flaws, one attacks the running app. Different inputs, different findings.
- What Are the Types of Non-Human Identities? Service accounts, API keys, OAuth clients, certificates, workload identities, and agent tokens differ in lifetime and in the control that matters.
- What Is a Stale Non-Human Identity? A stale NHI is a credential nobody uses but that still authenticates. It is a standing backdoor with no owner and no expiry.
- Service Account vs API Key: Which Should You Use? A service account is an identity with permissions; an API key is a bearer credential. Confusing the two leads to keys with more access than needed.
- What Is Workload Identity? Workload identity gives a process a short-lived credential based on what it is, not a static secret it carries. It removes the key from the deploy path.
- What Is SPIFFE and SPIRE? SPIFFE is an identity standard for workloads; SPIRE is its reference implementation. Together they replace shared secrets with attested certificates.
- The Non-Human Identity Lifecycle Request, issue, use, rotate, review, revoke. Most organisations have the first two stages and skip the rest, which is why credentials accumulate.
- Non-Human Identities in CI/CD: Where They Leak CI concentrates production credentials: repository secrets, deploy keys, cloud keys, and tokens in logs. Most leaks happen in the pipeline, not the app.
- What Is a Secrets Manager (and Do You Need One)? A secrets manager stores, controls, audits, and can issue short-lived credentials. It earns its cost once several services or people need a secret.
- How to Inventory Non-Human Identities An NHI inventory lists every credential, owner, scope, and last use. Start with APIs that already know, then fill gaps with code scanning.
- What Is Agent Skill Poisoning? Skill poisoning is a skill whose instructions make the agent do something harmful: run a payload, read secrets, or widen its own permissions.
- How to Audit an MCP Server Before You Connect It Check what the server exposes, what credentials it holds, where it can reach, and whether you can see what it did. Then pin it.
- What Is MCP Tool Poisoning? Tool poisoning hides instructions in an MCP tool's name or description, so the model follows the tool's text instead of its documentation.
- What Is Least Privilege for AI Agents? An agent should hold the narrowest credential and tool set its current task needs, for the shortest time, with every use attributable.
- How to Keep Secrets Away From an AI Coding Agent Remove secrets from the agent's reach: no .env in the workspace, scoped tokens per run, a proxy for third-party calls, and logs that stay clean.
- What Is the Confused Deputy Problem in AI Agents? The agent has permission the content does not. Untrusted text tells it to act, and it acts with its own authority on the attacker's behalf.
- How to Detect a Rogue Agent Run Detect by behaviour, not intent: unexpected tool calls, egress, mass reads, privilege changes, and actions outside the task's declared scope.
- How to Restrict What an Agent Can Reach on the Network Give the agent an allowlist, not the internet: proxy the calls it needs, block metadata endpoints, and log every destination.
- What Is an Automated Security Review (and What Does It Miss)? An automated security review reads a diff against known vulnerability classes. It finds patterns, not absent features, and it needs triage.
- How to Run a Security Review on Every Pull Request Wire a review into CI with a narrow scope, evidence-based output, and a human owner for verified high-severity findings.
- What Is an Agent Audit Trail? An agent audit trail records what the agent did, with which identity, on whose instruction, and with what result — outside the agent's control.
- How to Review an Agent's Tool Permissions Inventory the tools, map each to a task, remove what nothing needs, and test the boundary with a request the agent should refuse.
- How to Respond to an AI Agent Security Incident Contain the run, revoke the identity, preserve the trail, then scope what left. The agent is usually the first step, not the whole incident.