FrameGuard Svelte Themes

Frameguard

FrameGuard is a powerful security extension that helps developers and security researchers identify potential vulnerabilities in modern JavaScript framework applications. Compatible with Next.js, Nuxt, React, Vue, Svelte, Angular, Remix, Astro, and more.

πŸ”’ FrameGuard

Universal Security Scanner for JavaScript Frameworks

Features β€’ Installation β€’ Usage β€’ Supported Frameworks


🎯 Overview

FrameGuard is a powerful Chrome extension that helps developers and security researchers identify vulnerabilities in modern JavaScript framework applications. With one-click scanning, detect exposed API keys, secrets, and security risks in Next.js, React, Vue, and 9+ other frameworks.

Why FrameGuard?

  • πŸš€ One-Click Scanning - No complex setup or configuration
  • πŸ” Secret Detection - Find exposed AWS keys, Stripe secrets, JWT tokens, and more
  • πŸ—ΊοΈ Route Discovery - Automatically extract all application routes and endpoints
  • βœ… Status Verification - Real-time HTTP status checking for every route
  • 🎯 Framework-Specific - Optimized for Next.js, Nuxt, React, Vue, and more
  • πŸ”’ Privacy-First - 100% local analysis, zero tracking, no data collection
  • πŸ’° Free Forever - No premium tiers, no subscriptions, no hidden costs

✨ Features

πŸ” Secret Detection

Automatically scans JavaScript bundles for exposed sensitive data:

  • Google API Keys (AIza...)
  • AWS Access Keys (AKIA...)
  • Stripe Keys (sk_live..., pk_test...)
  • GitHub Tokens (ghp_...)
  • Slack Tokens (xox...)
  • JWT Tokens (eyJ...)
  • Custom secret patterns

πŸ—ΊοΈ Route Discovery

Intelligently extracts application routes from:

  • Framework routing files
  • API endpoints
  • Dynamic routes with parameters
  • Server-side routes
  • Client-side navigation

Smart Classification:

  • πŸ“„ Pages - Frontend routes
  • πŸ”Œ API - Backend endpoints
  • ⚑ Dynamic - Parameterized routes
  • πŸ” Sensitive - Admin, auth, payment paths

βœ… Real-Time Status Verification

Automatically checks HTTP status of every discovered route:

  • 🟒 200 - Accessible
  • 🟑 404 - Not found
  • πŸ”΄ 403 - Forbidden
  • πŸ”΄ 401 - Unauthorized
  • πŸ”΄ 5xx - Server errors

Click any badge to manually refresh the status.

πŸ“Š Risk Assessment

Automatic security scoring based on:

  • Number and severity of exposed secrets
  • Presence of sensitive routes
  • API endpoint exposure
  • Overall security posture

Risk Levels: LOW β€’ MEDIUM β€’ HIGH

🎨 Professional Interface

  • Clean, modern dark theme
  • Organized tabs: Files / Findings / Routes
  • Advanced filtering and search
  • One-click copy for secrets
  • Export functionality
  • Full-screen mode

πŸš€ Installation

  1. Visit Chrome Web Store - FrameGuard
  2. Click "Add to Chrome"
  3. Confirm installation
  4. FrameGuard icon appears in your toolbar

From Source (For Developers)

# Clone the repository
git clone https://github.com/31337CyberLabs/frameguard.git
cd frameguard

# Load in Chrome
# 1. Open chrome://extensions/
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select the frameguard folder

πŸ“– Usage

Basic Workflow

  1. Navigate to any JavaScript framework website
  2. Click the FrameGuard extension icon
  3. Click "Scan" to analyze the application
  4. Review results in three organized tabs

Detailed Guide

1. Files Tab

View all JavaScript files loaded by the application:

  • Click any file to see its contents
  • Copy file URLs
  • Open files in new tabs

2. Findings Tab

See all detected secrets and vulnerabilities:

  • Click file name to view code snippets with line numbers
  • One-click copy button for each secret (copies full value)
  • Color-coded severity badges (HIGH/MEDIUM/LOW)
  • Direct links to affected files

3. Routes Tab

Explore discovered application routes:

  • Automatic status checking on load
  • Filter by type: All / Pages / API / Dynamic / Sensitive
  • Search functionality
  • Click route to navigate
  • Click status badge to refresh
  • Copy all routes at once

πŸ› οΈ Supported Frameworks

FrameGuard is optimized for:

Framework Version Status
Next.js 13+ βœ… Fully Supported
Nuxt 3+ βœ… Fully Supported
React 16+ βœ… Fully Supported
Vue 3+ βœ… Fully Supported
SvelteKit 1+ βœ… Fully Supported
Astro 3+ βœ… Fully Supported
Angular 14+ βœ… Fully Supported
Remix 1+ βœ… Fully Supported
Gatsby 4+ βœ… Fully Supported

Works with:

  • Create React App (CRA)
  • Vite
  • Webpack
  • Turbopack
  • And more...

🎯 Use Cases

For Developers πŸ‘¨β€πŸ’»

Pre-Deployment Security Checks:

βœ… Scan staging before production
βœ… Verify no secrets are exposed
βœ… Check route protection
βœ… Ensure proper authentication

For Security Researchers πŸ”

Vulnerability Assessment:

βœ… Quick reconnaissance
βœ… Framework fingerprinting
βœ… Route enumeration
βœ… Secret exposure verification

For Bug Bounty Hunters πŸ†

Efficient Hunting:

βœ… Fast initial reconnaissance
βœ… Discover hidden endpoints
βœ… Identify exposed credentials
βœ… Map application structure

For DevOps Teams πŸ› οΈ

Continuous Monitoring:

βœ… Regular security scans
βœ… Compliance verification
βœ… Security baseline tracking
βœ… Team security awareness

πŸ”’ Privacy & Security

FrameGuard is built with privacy as the top priority:

  • βœ… 100% Local Analysis - All scanning happens in your browser
  • βœ… Zero Data Collection - No telemetry, no analytics, no tracking
  • βœ… No External Connections - Never sends data to any server
  • βœ… No Account Required - Works instantly without sign-up
  • βœ… Open Source - Code is available for security audits
  • βœ… User-Initiated Only - Never runs automatically

What FrameGuard NEVER does:

  • ❌ Send your data anywhere
  • ❌ Track your browsing
  • ❌ Store your findings on servers
  • ❌ Share information with third parties
  • ❌ Inject ads or marketing

πŸ“Š Technical Details

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           Chrome Extension                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Content  β”‚  β”‚  Popup   β”‚  β”‚ Service  β”‚   β”‚
β”‚  β”‚ Script   β”‚  β”‚    UI    β”‚  β”‚  Worker  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚       β”‚              β”‚              β”‚       β”‚
β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                      β”‚                      β”‚
β”‚                Local Storage                β”‚
β”‚                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”
              β”‚               β”‚
         Local Page      Local Analysis
         (No Server)     (No Cloud)

Detection Patterns

Secret Patterns (Regex-based):

Google API Key:    /AIza[0-9A-Za-z\-_]{35}/g
AWS Access Key:    /AKIA[0-9A-Z]{16}/g
Stripe Secret:     /sk_(live|test)_[0-9a-zA-Z]{16,}/g
GitHub Token:      /ghp_[0-9A-Za-z]{36,}/g
Slack Token:       /xox[baprs]-[0-9A-Za-z-]{10,}/g
JWT Token:         /eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/g

Route Detection:

  • Framework-specific patterns
  • API endpoint discovery
  • Dynamic route parsing
  • Server route extraction

Performance

  • Scan Speed: ~10 seconds for typical applications
  • File Limit: Up to 60 JavaScript files per scan
  • Memory Usage: ~50-100MB during active scan
  • CPU Impact: Minimal (local processing)

🀝 Contributing

We welcome contributions! Here's how you can help:

Ways to Contribute

  1. πŸ› Report Bugs - Open an issue with details
  2. πŸ’‘ Suggest Features - Share your ideas
  3. πŸ“ Improve Documentation - Help others understand
  4. πŸ”§ Submit Pull Requests - Fix bugs or add features
  5. ⭐ Star the Project - Show your support

Development Setup

# Fork and clone
git clone https://github.com/31337CyberLabs/frameguard.git
cd frameguard

# Create a branch
git checkout -b feature/amazing-feature

# Make your changes
# ...

# Test locally
# Load unpacked extension in Chrome

# Commit and push
git commit -m "Add amazing feature"
git push origin feature/amazing-feature

# Open a Pull Request

πŸ› Troubleshooting

Common Issues

Extension doesn't detect framework:

  • Ensure the page has fully loaded
  • Try rescanning the page
  • Check if it's a supported framework

No secrets found:

  • Great! Your app might be secure
  • Try scanning different pages
  • Check if secrets are in external scripts

Routes not showing:

  • Framework might use non-standard routing
  • Try navigating through the app first
  • Some routes may be lazy-loaded

Status checks failing:

  • CORS restrictions may block requests
  • Some routes require authentication
  • Click badge to manually refresh

Getting Help


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.



Made with ❀️ for the security and developer community

⬆ Back to Top

Top categories

Loading Svelte Themes