Skip to content

bpinheiroms/aster

Repository files navigation

Aster

AI-powered security scanner running on Cloudflare's edge. Paste a URL, get a full pentest report.

How it works

POST /api/scan → Queue → Durable Object → 51 checks + AI analysis
  1. You submit a URL
  2. A Worker validates and enqueues the scan job
  3. A Durable Object picks it up and runs all 51 security checks
  4. AI analyzes responses and generates findings in real-time
  5. The frontend polls for events and renders a live activity log

No access to your source code needed — it only scans what's publicly reachable.

Architecture

Cloudflare Primitive What it does
Worker (Hono) API + static frontend
Queue Decouples request from scan execution
Durable Object Runs long scans without Worker's 30s timeout
D1 SQLite database for scans, findings, events
R2 Screenshot storage
Browser Rendering Headless Puppeteer on the edge

Security Checks (51)

Injection (8)

SQL Injection, Cross-Site Scripting, Command Injection, CRLF Injection, NoSQL Injection, XXE, SSRF, Host Header Injection

Auth & Access (6)

Auth Bypass, IDOR, CORS Configuration, JWT Security, Clickjacking, Form Security Analysis

Data & Secrets (5)

Information Disclosure, Sensitive File Discovery, JavaScript Analysis, Cookie Security, Privacy & Compliance

Configuration (7)

Security Headers, TLS/SSL, CSP Deep Analysis, DNS Security, Email Security, Error Handling, HTTP Methods

Infrastructure (7)

WAF Detection, Rate Limiting, Cache Poisoning, Request Smuggling, Subdomain Enumeration, Subdomain Takeover, SSL Certificate Analysis

Application (9)

Technology Fingerprint, Modern Framework Security, API Discovery, API Security, GraphQL Security, WebSocket Security, Third-Party Scripts, Known Vulnerabilities, Subresource Integrity

Advanced (9)

Prototype Pollution, HTTP Parameter Pollution, Race Condition, Mass Assignment, File Upload, Deserialization, Input Validation, Directory Traversal, Open Redirect

Setup

Prerequisites

  • Bun or Node.js
  • Wrangler CLI
  • Cloudflare account with D1, R2, Queues, Durable Objects, and Browser Rendering enabled
  • OpenRouter API key (for AI analysis)

1. Install dependencies

bun install

2. Create Cloudflare resources

# D1 database
wrangler d1 create aster-db
# Copy the database_id into wrangler.toml

# R2 bucket
wrangler r2 bucket create aster-screenshots

# Queue
wrangler queues create scan-queue

3. Set secrets

wrangler secret put OPENROUTER_API_KEY

For local dev, create a .env file:

cp .env.example .env
# Edit .env with your OpenRouter key

4. Run migrations

# Local
bun run db:migrate:local

# Remote
bun run db:migrate

5. Run locally

bun run dev

Opens the Worker on localhost:3001 and Vite on localhost:3100.

6. Deploy

bun run deploy

Stack

  • Backend: Hono on Cloudflare Workers
  • Database: Drizzle ORM + D1 (SQLite)
  • Frontend: React 19, React Router, Tailwind CSS v4
  • AI: OpenRouter (Gemini 2.5 Flash)
  • Browser: @cloudflare/puppeteer

Disclaimer

This tool is provided as-is for educational and authorized security testing purposes only.

This is not a replacement for a professional penetration tester. The checks are basic, automated, and surface-level. A real pentest involves manual analysis, business logic testing, and context that no automated tool can replicate. Use Aster as a first pass or learning tool, not as your security strategy.

By using Aster, you agree that:

  • You will only scan websites and applications you own or have explicit written authorization to test
  • The authors are not responsible for any misuse, damage, legal consequences, or any other liability arising from the use of this tool
  • Results are automated and may contain false positives or false negatives — always verify findings manually
  • This does not replace a professional security audit

Use responsibly.

License

MIT

About

AI-powered security scanner running on Cloudflare's edge. 51 checks, real-time activity log, headless browser — all serverless.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages