ModernPentestModernPentest

Adding Applications

Register your product and configure attack surfaces for security testing

Adding Applications

This guide walks you through adding applications to ModernPentest for security testing, following the same steps as the application wizard.

An application represents a single product or service with a unified backend. Register one application per product—not separate entries for your web dashboard and API. For more details, see Core Concepts: Application.

Application Basics

Start by providing basic information about your application:

  • Name - A friendly identifier for your product (e.g., "Production App", "Staging Environment")
  • Description - Optional context for your team
  • Environment - Select the deployment environment:
EnvironmentDescriptionDefault Testing
ProductionLive customer-facing systemsActive (safe checks only)
StagingPre-production testing environmentAggressive (includes exploitation)
DevelopmentLocal or dev environmentsAggressive (includes exploitation)

The environment you select affects the default testing intensity. Production environments use safer testing by default to avoid service disruption.

Select Attack Surfaces

Choose which interfaces of your application to test:

SurfaceWhen to Enable
Web ApplicationYour product has a user-facing website or web app
REST APIYour product exposes REST/GraphQL endpoints

Most modern SaaS products have both surfaces—a web dashboard and an API that share users, data, and business logic. Enable both for complete coverage.

Screenshot: Add application modal

At least one surface must be selected. Your selection determines which configuration steps appear next.

Test Users & Credentials

Test users are defined once and shared across all surfaces. This enables consistent authorization testing across your web app and API.

Authentication Strategy:

StrategyDescriptionBest For
PublicNo authentication requiredPublic-facing apps without login
Pre-configuredProvide existing test accountsMost applications (default)
Open RegistrationAgents create accounts automaticallyComing soon

Adding Test Users:

For pre-configured authentication, add one or more test accounts:

  • Email/Username - Login credentials
  • Password - Account password
  • Role - User role for authorization testing (e.g., "admin", "user", "viewer")

Use dedicated test accounts with realistic permissions. Never use production admin credentials or real user accounts.

Why shared users? The same credentials test both web login and API authentication, enabling cross-surface authorization testing. For example, we can verify that a "user" role can't access admin endpoints on both the web app and API.

Web Surface Configuration

This step appears if you selected Web Application.

Configure how we access your web application:

Application URL

Enter the root URL of your web app (e.g., https://app.yourcompany.com)

Authentication Strategy:

StrategyDescription
PublicNo authentication needed for testing
Shared UsersUses credentials from Test Users step (recommended)
CustomWeb-specific credentials different from shared users

For most applications, Shared Users is recommended—it uses the test accounts you configured in the previous step and enables cross-surface testing.

REST API Configuration

This step appears if you selected REST API.

Configure your API for testing:

Base URL

Enter your API's root URL (e.g., https://api.yourcompany.com)

OpenAPI Specification

Providing your OpenAPI spec enables deeper testing. Choose how to provide it:

MethodDescription
Auto-discoverWe scan 30+ common paths (/openapi.json, /swagger.json, etc.)
URLDirect link to your spec
UploadUpload a JSON or YAML file (max 5MB)
PasteCopy and paste spec content

Don't have an OpenAPI spec? Select auto-discover—we can still test your API through reconnaissance, but coverage will be more limited.

Authentication Strategy:

StrategyDescription
PublicNo authentication needed
Shared UsersAI discovers your auth flow using test credentials (recommended)
StaticManual credential configuration

For Static authentication, choose your auth type:

  • API Key - Header name and value
  • Bearer Token - JWT or access token
  • OAuth 2.0 - Token URL, client ID, secret, and scope
  • Basic Auth - Username and password

Rules of Engagement

Configure how aggressively we test your application:

Testing Intensity:

LevelDescriptionRecommended For
PassiveReconnaissance only, no active testingSensitive production systems
ActiveSafe vulnerability checksProduction environments
AggressiveIncludes exploitation attemptsStaging and development

Testing intensity is auto-set based on your environment selection, but you can override it here.

Test Types:

TypeDescriptionDefault
ReconAsset discovery and mappingAlways enabled
ScanningOWASP Top 10 vulnerability checksEnabled
ExploitationAttempt to exploit found vulnerabilitiesRequires approval

Excluded Paths

Specify paths to skip during testing (comma-separated):

  • /logout - Avoid logging out test users
  • /delete-account - Prevent destructive actions
  • /admin/danger-zone - Skip sensitive admin functions

All testing is documented for compliance purposes. See SOC 2 Reports for details.

Schedule & Notifications

Configure when and how often we test:

Scan Frequency:

FrequencyAvailability
ManualOn-demand only (Enterprise)
MonthlyAll plans
WeeklyProfessional and above
DailyComing soon

Preferred Testing Window:

WindowHoursRecommended
Business Hours9am - 5pmFor monitored testing
Off-Hours6pm - 8amMinimal user impact
Anytime24/7Maximum flexibility

Off-hours testing is recommended for production environments to minimize impact on users.

Notifications:

  • Email - Receive alerts when pentests complete or critical findings are discovered
  • Severity Threshold - Choose to be notified for critical/high only or all findings

Automatic Platform Detection

You don't need to configure platform-specific settings. Our AI agents automatically detect and test:

PlatformWhat We DetectWhat We Test
SupabaseURL patterns, SDK usageRLS policies, storage buckets, edge functions
FirebaseConfig objects, SDK importsFirestore rules, RTDB permissions, storage rules
Vercel/Next.jsHeaders, deployment patternsNEXT_PUBLIC_ exposure, API routes, middleware
ConvexClient configurationDatabase access, function permissions

Platform detection happens during each pentest. If you add Supabase to your project later, we'll automatically detect and test it—no configuration changes needed.

Learn more in Platform Agents.

Next Steps

Last updated: December 8, 2025

On this page