Skip to content
WarHound AI

The WarHoundAI journal

Ideas for building securely.

Sourced security analysis, product engineering notes, and practical guidance for the people building modern applications.

Security, with the
reasoning included.

67 articles · Updated 12 Nov 2026

Start with the fundamentals

Guides & review templates

Explore the journal.

Subscribe via RSS

Security analysis

02
Security advisory analysis

PHP’s October 2026 RCE fixes: what application teams should verify

PHP released fixes for two critical remote-code-execution vulnerabilities on 21 October 2026. Here is what the primary PHP sources confirm, how to handle the follow-up session configuration warning, and how to verify a rollout securely without running exploit traffic.

Read article 5 min read
API security analysis

Valid API Logins Are Not Enough: An Evergreen BOLA Verification Guide

This article replaces an earlier draft analyzing unverified reports of specific IoT API vulnerabilities. Because the primary advisory could not be retrieved for verification, this post instead provides an evergreen guide to understanding Broken Object Level Authorization (BOLA), implementing concrete authorization test matrices, and reviewing object ownership in modern APIs based on verified OWASP standards.

Read article 6 min read

Application security engineering

14
Security Engineering

Retesting security fixes with positive and negative controls

Implementing an automated authorization matrix ensures that security fixes are thoroughly retested. By employing both positive and negative controls, application engineers can programmatically verify that authenticated and unauthenticated roles behave exactly as expected during regression testing.

Read article 5 min read
Engineering

Build release security gates around testable invariants

Security gates in deployment pipelines often fail because they rely on heuristic analysis rather than deterministic checks. By defining strict, testable security invariants based on standard frameworks like OWASP ASVS 5.0.0, application engineers can build reliable release gates. This article details how to translate security requirements into measurable pipeline constraints, including a matrix for input validation, implementation tradeoffs, and how WarHound AI supports isolated invariant testing.

Read article 5 min read
Engineering

Measure reasoning-token costs without weakening hard budgets

Reasoning tokens introduce variable costs that complicate API budgeting. This article details methods for calculating these costs, enforcing hard execution limits, and handling mid-generation truncations, with specific implementation patterns for WarHound AI.

Read article 5 min read
Security Engineering

Forwarded headers: trust the proxy, validate the boundary

Because the retrieved evidence for 2026-11-12 does not corroborate specific proxy forwarded header mechanisms, this article serves as an evergreen verification guide focusing on HTTP boundary enforcement, cross-origin isolation, and response header validation based on verified OWASP references.

Read article 4 min read
Engineering

MCP authorization: validate token audience and avoid passthrough

The Model Context Protocol (MCP) relies on OAuth 2.1 and RFC 8707 Resource Indicators to secure HTTP transports. This article details how application engineers must implement strict audience validation and avoid token passthrough to prevent confused deputy attacks, including a concrete test matrix and implementation tradeoffs.

Read article 5 min read
Security Engineering

Rotate credential-encryption keys without losing saved connections

Rotating encryption keys used for stored credentials requires architectural planning to prevent data loss or service disruption. This guide examines envelope encryption, multi-key versioning strategies, and test matrices to ensure safe key transitions.

Read article 4 min read
Security Engineering

Keep user data out of command execution

Operating system command injection occurs when untrusted input alters the intended execution of a system command. Preventing this requires using built-in language APIs over shell commands, separating commands from arguments via process builders, and implementing strict input validation. This article explores defense strategies, implementation tradeoffs, and language-specific mechanisms to secure process execution.

Read article 5 min read
Security Engineering

Secure cancellation and resumable job checkpoints

Long-running backend tasks often require mechanisms for users to cancel them or resume them from intermediate checkpoints. If not securely designed, these features introduce horizontal privilege escalation risks and state corruption. This guide outlines how to implement secure cancellation checkpoints by enforcing attribute-based access control, validating user permissions on every request, and protecting checkpoint identifiers from tampering.

Read article 5 min read
Engineering

Business-logic testing with explicit state transitions

Business logic vulnerabilities represent a significant gap in automated security testing, as generic tools lack the necessary application-specific context. By formalizing business rules into explicit state transitions and deploying safe test matrices with expected allowed and denied outcomes, engineers can systematically expose authorization bypasses and logic flaws. This article details the construction of state-based test fixtures, examines implementation tradeoffs, and explores how WarHound AI facilitates evidence-backed verification.

Read article 7 min read
Application security engineering

Webhook Security: Signatures, Replay Checks, and Idempotency

Webhook endpoints are critical integration points that require robust security controls. This article covers the implementation of HMAC signature verification to authenticate webhook origins and ensure payload integrity. It also explores mechanisms for mitigating replay attacks and building idempotent event handlers to safely process automatic retries and duplicate deliveries.

Read article 6 min read
Application security engineering

SSRF prevention for URL imports: validate every connection

Implement robust Server-Side Request Forgery defenses when importing URLs by handling parser disagreements, enforcing strict address resolution, and validating network connections before execution.

Read article 9 min read
Application security engineering

Secure file uploads beyond extension checks

File uploads introduce significant risk when developers rely solely on extension or content-type validation. This article examines defense-in-depth strategies, including filename normalization, content reconstruction, storage isolation, and execution prevention, while detailing explicit failure modes and a concrete test matrix.

Read article 8 min read
Application security engineering

GraphQL security: authorize resolvers and bound query work

Review GraphQL field authorization, query complexity, batching, pagination and safe validation for developer-facing APIs.

Read article 5 min read

Developer guides

06
Developer guide

Protect API Keys in AI-Built Apps: Storage & Rotation

An environment variable is not automatically a secret. Follow credentials from development through the deployed browser, backend, logs, and incident response.

Read article 5 min read
Developer guide

Prompt Injection in AI Apps: Tool and Data Boundaries

When an AI feature can retrieve documents or call tools, untrusted text becomes a security input. Protect the actions and data around the model by establishing firm execution boundaries.

Read article 7 min read
Developer guide

Define a Safe Scope for Authorized Website Security Testing

Establish definitive assessment boundaries before initiating active requests. Safe scoping requires explicit URL parsing constraints, strict DNS rebinding protections, and a tested execution matrix.

Read article 6 min read
Developer guide

Agentic Security Testing vs Scanning: What Changes?

An agent should help connect security observations to the next useful check. Its value depends on evidence and control, not on how confident its explanation sounds.

Read article 6 min read

Product & company

44
Application Security

Archive extraction: traversal, symlinks and resource exhaustion

Processing ZIP archives introduces significant risks including path traversal, arbitrary file writes via symlinks, and resource exhaustion. This guide covers safe extraction techniques, testing matrices, and implementation tradeoffs based on OWASP standards.

Read article 6 min read
Application Security

WebSocket authentication and message authorization

Unlike standard HTTP requests, WebSocket connections remain open for persistent bidirectional data exchange, rendering traditional request-based security filters ineffective. Application engineers must implement custom authentication during the initial handshake, continuously manage session validity over long-lived connections, and authorize individual messages independently to prevent hijacking and unauthorized data access.

Read article 6 min read
Database Security

Tenant isolation with PostgreSQL row security

PostgreSQL Row-Level Security (RLS) provides a robust mechanism for enforcing tenant isolation directly at the database layer. By defining permissive and restrictive policies, application engineers can ensure that data access is restricted on a per-user or per-tenant basis prior to application-level filtering. This article details the implementation of these policies, addresses critical race conditions in policy subqueries, and outlines a comprehensive testing matrix to verify isolation boundaries.

Read article 5 min read
Application Security

Secure server-sent events and reconnect handling

Server-Sent Events (SSE) provide a robust mechanism for unidirectional server-to-client streaming over HTTP. However, the protocol's automatic reconnection behavior introduces subtle authorization and state management challenges. This article explores how browsers handle SSE disconnects, how the Last-Event-ID header functions during recovery, and how to securely design SSE endpoints to prevent unauthorized access or state corruption during network interruptions.

Read article 5 min read
Application Security

SQL injection: parameterization beyond the obvious query

Parameterization is the standard defense against SQL injection, but engineers often encounter edge cases where simple prepared statements fall short. This article explores how to safely handle dynamic identifiers, secure stored procedures, and avoid injection risks in Object-Relational Mapping frameworks while examining implementation tradeoffs and architectural hardening.

Read article 5 min read
Application Security

Session cookies: rotation, expiry and browser boundaries

Managing application state securely over HTTP demands careful use of browser boundaries, appropriate session lifecycle management, and high-entropy identifiers. This guide covers cookie attributes, server-side design considerations, and lifecycle events that affect session persistence and isolation.

Read article 5 min read
Application Security

Account deletion, session revocation and retention boundaries

This article details the technical boundaries of account deletion, emphasizing secure session revocation and the explicit handling of data retention limits during the account lifecycle termination process.

Read article 5 min read
Application Security

Designing Safe Synthetic Accounts and Security-Test Fixtures

Security testing requires realistic data and states to evaluate business logic and authorization boundaries. Using production data or real user accounts introduces severe privacy, compliance, and operational risks. This guide explores designing synthetic test accounts and controlled fixtures to support continuous application security testing without polluting production environments, detailing test matrices, implementation tradeoffs, and failure modes.

Read article 4 min read
Application Security

Rate limiting across replicas and expensive API operations

Application-layer denial of service attacks exploit resource-intensive operations and connection handling mechanics to exhaust system capacity. This guide examines how to implement distributed rate limiting, isolate expensive API endpoints, and establish safe synthetic testing matrices to validate denial of service resilience across distributed architectures.

Read article 6 min read
Concurrency Testing

Test entitlement races with controlled concurrent requests

Concurrent requests can bypass application entitlement checks if underlying database transactions lack strict isolation. This article explores how to safely test race conditions using synthetic concurrency fixtures, evaluates PostgreSQL transaction isolation levels as mitigations, and details implementation tradeoffs.

Read article 5 min read
Architecture

Tenant boundaries in queue workers and job payloads

Queue workers operating in multi-tenant environments face unique challenges propagating tenant context safely. This article explores architectural patterns for secure job execution, analyzing isolation models, implementation tradeoffs, and failure modes to prevent cross-tenant data leaks during asynchronous work.

Read article 8 min read
Application Security

Presigned Uploads Need a Server-Side Completion Check

Presigned URLs offer scalable file uploads directly to storage, but they bypass application-tier input validation. Relying solely on client-side or storage-level constraints leaves systems vulnerable. A robust architecture requires an explicit server-side completion check to validate file signatures, names, and content before marking the upload as processed.

Read article 5 min read
Architecture

Payment webhooks and the entitlement state machine

Processing asynchronous payment webhooks requires strict state management to prevent race conditions and entitlement vulnerabilities. This guide details how to implement cryptographic signature validation, handle out-of-order event delivery, and enforce idempotent state transitions using a deterministic state machine.

Read article 6 min read
Application Security

Path traversal defenses for file download handlers

A technical guide for application engineers on securing file download handlers from directory traversal threats. It covers mapping files to indirect references, restricting filename lengths and characters, validating requests against access controls, and avoiding trust in user-supplied filesystem paths based on OWASP principles.

Read article 8 min read
Application Security

Object Storage Authorization and Short-Lived Download Links

A technical guide to implementing and testing authorization controls for object storage, focusing on the use of short-lived, presigned download links over direct identifier exposure to prevent authorization bypasses.

Read article 5 min read
Application Security

OAuth authorization code security: PKCE, state and redirect URIs

An application engineer's guide to implementing modern OAuth 2.0 security controls as defined in RFC 9700. Covers Proof Key for Code Exchange (PKCE), exact redirect URI validation, CSRF protections using the state parameter, and mitigation of mix-up attacks.

Read article 6 min read
Application Security

NoSQL injection and typed query construction

Unlike traditional SQL injection, NoSQL vulnerabilities frequently rely on manipulating query object structures rather than string boundaries. This article details operator injection mechanics, strict type validation, implementation tradeoffs, and testing strategies to ensure query integrity.

Read article 6 min read
Architecture

MFA recovery is an authentication flow

Multifactor authentication (MFA) recovery mechanisms are frequently implemented as an afterthought, leading to critical security downgrades where the recovery flow is weaker than the primary authentication it replaces. This article explores how to design MFA recovery as a fully equivalent authentication flow, detailing implementation tradeoffs, failure modes, and a safe test matrix for validating recovery implementations.

Read article 5 min read
Application Security

MCP tools: separate discovery from permission to act

Integrating Model Context Protocol (MCP) tools introduces complex trust boundaries where tool discovery can inadvertently bypass execution permissions. This article examines the architectural separation of these concerns, detailing mitigation strategies against confused deputy attacks, SSRF during OAuth metadata discovery, and token passthrough anti-patterns.

Read article 7 min read
Application Security

Implementing Robust JWT Validation and Zero-Downtime Key Rotation

This article details the mechanics of verifying JSON Web Tokens securely, establishing a resilient key rotation pipeline using JWKS, and validating implementation behavior through a structured test matrix. It also outlines caching tradeoffs and common architectural failure modes.

Read article 6 min read
Architecture

Idempotency keys for asynchronous jobs and retries

Asynchronous job submissions and network retries risk creating duplicate records if connections drop before a response arrives. Idempotency keys solve this by allowing clients to safely repeat requests. This guide examines how systems like the Stripe API implement idempotency, explores failure modes, provides a concrete worked example, and outlines a safe test matrix for validating idempotency layers.

Read article 7 min read
Application Security

HTTP caching for authenticated and private responses

This article analyzes the mechanics of HTTP caching for authenticated responses under RFC 9111, detailing implementation tradeoffs, safe testing configurations, and strict limits of intermediary compliance.

Read article 7 min read
Application Security

Host Header Validation and Account Recovery URLs

Dynamically generating password reset links using user-supplied Host headers introduces severe account takeover vulnerabilities. This article explores the mechanics of Host header injection, details safe implementation strategies like hardcoding and strict allow-lists, provides a safe testing matrix, and outlines how WarHound AI can support bounded security reviews without relying on automated code modifications.

Read article 6 min read
Application Security

GraphQL Subscriptions Require Ongoing Authorization

GraphQL subscriptions maintain persistent connections, requiring developers to rethink traditional request-response authorization. This article explores the challenges of continuous authorization, provides a safe test matrix for validating access controls, and discusses the trade-offs of different implementation strategies.

Read article 5 min read
Application Security

Preserve a useful evidence chain for security findings

Automated security tools often lack the specific context needed for engineers to reproduce and fix complex application flaws. This article outlines how to create and preserve a definitive evidence chain that bridges the gap between raw tool output and actionable remediation steps.

Read article 4 min read
Authentication

Email verification codes: expiry, retries and replay

Email verification codes require rigid state machines to prevent brute force, enumeration, and replay attacks. This article details implementation tradeoffs for expiry windows and retry limits, establishes a safe test matrix for verification logic, and outlines how to use WarHound AI owner-configured synthetic retests to validate state invalidation.

Read article 6 min read
Application Security

Preventing DOM XSS at Rendering Boundaries: A Technical Guide

DOM-based Cross-Site Scripting (XSS) occurs when applications process untrusted data unsafely within the client-side execution environment. Mitigating this risk requires strict adherence to safe rendering boundaries, utilizing secure properties like textContent, and implementing context-aware encoding when interacting with HTML attributes, URLs, and JavaScript execution contexts.

Read article 6 min read
Software Supply Chain Security

Dependency lockfiles and safe security updates

Dependency lockfiles mitigate software supply chain risks by ensuring deterministic builds and preventing unintended execution of compromised upstream packages. This article examines the mechanics of version pinning, outlines a safe test matrix for dependency updates, and details how application engineers can balance agility with security during dependency resolution.

Read article 6 min read
Application Security

Database migrations: preserve permissions and verify rollback

Database migrations frequently cross trust boundaries and carry elevated execution risks. This guide explores strategies for safely extracting schema, verifying reverse rollbacks, handling row-level security policies, and minimizing privilege escalation vectors during continuous deployment pipelines.

Read article 5 min read
Database Security

Least-privilege database roles for web applications

Applying the principle of least privilege to database roles limits the potential blast radius of web application vulnerabilities. This article details designing strict PostgreSQL roles, testing expected outcomes, and understanding architectural tradeoffs.

Read article 5 min read
Application Security

CSRF protection for modern JSON APIs

Explore standard defenses against Cross-Site Request Forgery in modern API architectures. This article evaluates the limitations of synchronizer tokens, details the OWASP-recommended signed double-submit cookie pattern, and demonstrates how to leverage Fetch Metadata headers for stateless verification.

Read article 6 min read
Architecture

Concurrent credit wallets: reserve, settle and reconcile

Application engineers must design robust concurrency models for credit wallets to prevent race conditions and overdrafts. This article details the reserve, settle, and reconcile pattern utilizing PostgreSQL explicit row-level and advisory locks, highlighting implementation tradeoffs, deadlocks, and testing strategies.

Read article 7 min read
Application Security

CORS configuration without misplaced trust

Cross-Origin Resource Sharing requires precise configuration to prevent unauthorized cross-domain data access. This article details secure implementation strategies, safe testing matrices, and the limitations of relying solely on the Origin header for access control.

Read article 5 min read
Application Security

Roll out a Content Security Policy without hiding breakage

Deploying a Content Security Policy (CSP) is a crucial defense-in-depth measure, but enabling it instantly can silently break legitimate functionality. This guide walks through the process of safely rolling out a strict CSP, from generating the initial policy to using report-only mode for safe tuning, providing application engineers with practical techniques and a concrete testing matrix to ensure a smooth transition.

Read article 5 min read
Infrastructure Security

Container runtime hardening for application workers

An engineering analysis of container runtime hardening techniques, focusing on capability dropping, filesystem immutability, host firewall interactions, and build-time secret isolation based on OWASP baselines.

Read article 6 min read
Cloud Security

Replace stored cloud keys with workload identity

Application engineers frequently rely on long-lived service account keys for cross-cloud authentication, introducing severe credential leakage risks. This article details replacing static keys with Workload Identity Federation, utilizing short-lived tokens governed by precise attribute mapping and conditions.

Read article 5 min read
Application Security

Keep shared caches from crossing tenant boundaries

Shared caching infrastructure in multi-tenant applications introduces the risk of cross-tenant data leakage if keys are improperly scoped or if authorization is bypassed. This article details how to classify cache entries, design tenant-aware namespaces, enforce authorization before cache retrieval, validate isolation using safe testing matrices, and handle implementation tradeoffs.

Read article 8 min read
Application Security

Audit logs that help investigations without collecting secrets

Application logs are vital for detecting and investigating security incidents, but improperly configured logging mechanisms frequently leak sensitive data. This article explores strategies for balancing comprehensive security visibility with strict data redaction, providing implementation guidance, test matrices, and concrete examples based on OWASP logging standards.

Read article 5 min read
Application Security

Design API key issuance, rotation and revocation

This article details architectural patterns and operational processes for issuing, rotating, and revoking API keys, emphasizing automated rotation systems, least privilege access, and secure secrets handling within modern application environments.

Read article 4 min read
Application Security

Treat AI tool results as untrusted evidence

AI tools generate responses that mix reasoning with untrusted external data. Application engineers must treat all AI-generated output as potentially compromised, enforcing strict validation, least privilege, and separated data flows to mitigate prompt injection risks.

Read article 5 min read
Application Security

Network isolation for browser and AI-agent workers

AI agents handling dynamic web requests face significant Server-Side Request Forgery risks. This guide explores implementing rigid network isolation, defending against parser differentials and DNS rebinding, and establishing verifiable egress test matrices.

Read article 4 min read
Engineering roadmap

How we plan to pursue BloodHound’s reliability, accuracy and speed targets

The larger BloodHound product has development targets for reliability, accuracy and speed—not measured results. Here is the engineering plan, the limits of each metric, and the evidence needed to evaluate progress.

Read article 8 min read
Company

What Is WarHoundAI? Our Company, Mission & Focus

WarHoundAI is a Cybersecurity AI company based in Nehtaur, Uttar Pradesh, India, dedicated to helping developers secure modern web applications. This article details our current product facts, safe test methodologies, and integration workflows.

Read article 6 min read
Product

Introducing BloodHound: WarHoundAI’s Security Agent

BloodHound represents WarHoundAI’s vision for an autonomous application security agent. This article details the context-driven problem it addresses, the bounded check workflow, and the current capabilities available through Mini Hound.

Read article 5 min read