What is DiscoveR?
DiscoveR is Mirror Security's automated red teaming product. It finds exploitable weaknesses in AI applications before adversaries do.
Manual red teaming does not scale. A security team testing one LLM application might run a few hundred probes in a day. DiscoveR runs thousands of targeted adversarial attacks across eight attack categories, classifies each probe as passed or failed, and returns a structured vulnerability report with severity ratings you can act on immediately.
The fix-and-verify loop is built into the product. After patching your application, rerun the exact same attack prompts to confirm the fix is effective. Track improvement over time using scan correlation chains. Integrate the whole process into your CI/CD pipeline so security testing becomes part of every deployment.
The Automated Red Team Loop
DiscoveR operates as a continuous improvement loop. Register your application once. Configure categories and budget. Run the scan. Review findings. Fix your application. Immediately rerun to verify. Every iteration is tracked with a shared correlation ID so the complete history of a security test sequence is queryable as a single chain.
Supported Application Types
DiscoveR can scan any AI application regardless of how it is built or hosted. The application type determines how DiscoveR interacts with the system.
| Type | How DiscoveR Connects | Validation Time |
|---|---|---|
| REST API | POST requests to endpoint; reads JSON response | Seconds |
| Streaming SSE | Establishes SSE connection; reads first chunk to validate | Seconds |
| WebSocket | Opens WebSocket; validates connection handshake | Seconds |
| Browser App | Headless browser launches, attempts login, fingerprints UI | 1-2 minutes |
Attack Categories
Eight curated categories, each targeting a distinct class of AI vulnerability. DiscoveR distributes prompt budget across selected categories using weighted priority: high-impact attacks receive approximately 70% of the budget.
| Category | What It Tests | Time | Best For |
|---|---|---|---|
| quickScan | Core injection, basic jailbreaks, essential security checks | 5-10 min | CI/CD, daily validation |
| jailbreakAndInjection | Prompt injection, jailbreaks, DAN attacks, bypass techniques | 20-40 min | All AI applications |
| extractionAttacks | System prompt extraction, config leakage, knowledge theft | 10-20 min | Agentic systems |
| ragSecurity | Hallucination induction, context poisoning, retrieval attacks | 25-45 min | RAG applications |
| agentSecurity | Agent alignment drift, goal hijacking, personalization attacks | 20-35 min | AI agents |
| modelAndCodeSecurity | Model theft attempts, code injection via tool calls | 30-50 min | Production models |
| biasAndSafety | Bias, fairness, safety compliance, harmful content generation | 15-30 min | Regulated industries |
| trainingDataPrivacy | PII leakage from training data, memorisation extraction | 10-40 min | Sensitive data systems |
Prompt Budget Guide
The max_depth parameter controls the total number of adversarial prompts DiscoveR executes across a scan. More prompts mean deeper coverage and longer scan time. Choose a budget that fits your pipeline stage and risk tolerance.
Rerun and Scan Comparison
After fixing vulnerabilities, DiscoveR reruns the exact same attack prompts that exposed them. This confirms the fix was effective and surfaces any regressions. Every scan in a rerun chain shares a correlation_id inherited from the original scan. The complete history of a security test sequence is queryable as a unit.
You can also create a rerun that targets only the prompts that revealed vulnerabilities in the previous scan. This reduces scan time during iterative fixing without losing coverage on the specific attack vectors that mattered.
| Field | Original Scan | Rerun Scan |
|---|---|---|
| parent_scan_id | null | ID of the parent scan |
| correlation_id | Equals own scan ID | Inherits parent correlation_id |
| rerun flag | false | true |
Custom Datasets: BYOAP
Bring Your Own Attack Prompts. Upload datasets of adversarial prompts specific to your application's domain, regulatory environment, or threat model. BYOAP is for cases where Mirror's built-in attack library does not cover a specific risk your compliance programme requires you to test. Custom datasets run alongside built-in categories or independently.
CI/CD Pipeline Integration
DiscoveR is designed to run unattended inside automated pipelines. The scan API is synchronous: create a scan, poll for completion, read results, return a pass/fail signal.
Domain Intelligence
Providing domain context improves attack targeting. DiscoveR selects and weights adversarial prompts most relevant to your deployment context when you specify the domain and application purpose.
| Domain Hint | Targets AI Applications In |
|---|---|
| finance | Banking, trading, credit scoring, insurance |
| healthcare | Clinical decision support, patient records, pharma |
| hr | Policy assistants, recruitment, performance management |
| legal | Contract review, matter management, compliance |
| ecommerce | Product search, recommendations, customer support |
| customer_service | Support bots, complaint handling, escalation |
| education | Tutoring, course Q&A, assessment systems |
| technology | Code assistants, DevOps agents, IT support |
| generic / other | General-purpose assistants; use domainNotes for custom context |
Application Management API
| Method | Signature | Returns |
|---|---|---|
| List applications | sdk.redteam.get_applications() | List[RedTeamApplication] |
| Get by ID | sdk.redteam.get_application(app_id) | RedTeamApplication |
| Create | sdk.redteam.create_application(request) | RedTeamApplication |
| Update | sdk.redteam.update_application(app_id, request) | RedTeamApplication |
| Delete | sdk.redteam.delete_application(app_id) | bool |
| Get metrics | sdk.redteam.get_application_metrics(app_id) | Dict (includes riskScore) |
| Wait for validation | sdk.redteam.wait_for_application_validation(app_id) | Blocks until ready |
Use Cases by Industry
Technical Specifications
| SDK package | pip install mirror-sdk |
| Python version | 3.9 and above |
| API endpoint | https://mirrorapi.azure-api.net/v1 |
| Authentication | MIRROR_API_KEY environment variable |
| Attack categories | 8 built-in; BYOAP for custom datasets |
| Application types | REST API, Streaming SSE, WebSocket, Browser-based Web App |
| Transport protocols | REST, SSE, WebSocket, NDJSON |
| Provider presets | OpenAI, Anthropic, Ollama, custom (generic) |
| Max scan depth | 150+ prompts; no hard upper limit |
| Budget distribution | Weighted: high-priority attacks ~70%, others ~30% |
| Scan chain tracking | correlation_id links all reruns to the original scan |
| Scan status values | PENDING, RUNNING, COMPLETED, FAILED, CANCELLED |
| SDK version | v1.0 |
How DiscoveR Fits with Other Mirror Products
Start red teaming your AI application
Request a personalised demo or explore the Mirror Academy to see DiscoveR in the context of structured AI security training.