Skip to content

Security: singi-labs/barazo-web

.github/SECURITY.md

Security Policy

Supported Versions

Version Supported
1.x ✅
< 1.0 ❌

Reporting a Vulnerability

Do not open a public issue for security vulnerabilities.

Instead, use GitHub's private vulnerability reporting:

  1. Go to the repository
  2. Click "Security" tab
  3. Click "Report a vulnerability"
  4. Fill in the details

Or email: security@barazo.forum

We will respond within 72 hours with next steps.

Security Scope for This Repo

barazo-web is the Next.js frontend -- it renders user-generated content, handles client-side OAuth flows, and communicates with the API. The following areas are in scope for security reports:

Cross-Site Scripting (XSS)

  • Stored XSS -- user-generated content (topics, replies, profiles) rendering unsanitized HTML
  • Reflected XSS -- URL parameters or search queries reflected in page output without escaping
  • DOM-based XSS -- client-side JavaScript constructing DOM from untrusted data
  • Markdown rendering -- malicious markdown/HTML bypassing the sanitization pipeline

Cross-Site Request Forgery (CSRF)

  • State-changing actions -- actions (create topic, react, report, moderate) that can be triggered by external sites
  • OAuth state parameter -- CSRF in the AT Protocol OAuth callback flow

Content Security Policy (CSP)

  • CSP bypass -- techniques to execute scripts or load resources that violate the Content Security Policy
  • Inline script injection -- circumventing CSP nonce or hash requirements
  • External resource loading -- loading unauthorized third-party scripts or styles

Authentication & Session

  • OAuth token leakage -- access tokens exposed in URLs, logs, or browser history
  • Session fixation -- reusing or injecting session identifiers
  • Open redirect -- OAuth callback or navigation URLs redirecting to external malicious sites

Information Disclosure

  • Server-side rendering leaks -- SSR exposing API keys, internal URLs, or admin data in HTML source
  • Error messages -- stack traces or internal paths exposed to users
  • SEO metadata injection -- manipulating JSON-LD, OpenGraph, or sitemap output with user-controlled data

Client-Side Security

  • Local storage/cookie exposure -- sensitive data stored insecurely in the browser
  • Clickjacking -- missing or bypassable frame-busting (X-Frame-Options / frame-ancestors)
  • Prototype pollution -- client-side prototype pollution via URL parameters or user input

Security Practices

  • All user-generated content sanitized before rendering
  • Content Security Policy headers configured via Next.js
  • HTTPS-only (enforced by Caddy reverse proxy with HSTS)
  • No inline scripts or eval (CSP-compatible)
  • eslint-plugin-jsx-a11y in strict mode (catches some security-adjacent issues)
  • No secret values in client-side bundles (NEXT_PUBLIC_ prefix convention)
  • Dependencies updated weekly via Dependabot
  • CodeQL security scanning on every PR

Disclosure Policy

We follow responsible disclosure:

  • 90 days before public disclosure
  • Credit given to reporter (if desired)
  • CVE assigned when applicable

There aren't any published security advisories