| Crates.io | lonkero |
| lib.rs | lonkero |
| version | 3.5.7 |
| created_at | 2026-01-03 23:42:49.239545+00 |
| updated_at | 2026-01-18 15:18:49.253882+00 |
| description | Web scanner built for actual pentests. Fast, modular, Rust. |
| homepage | |
| repository | https://github.com/bountyyfi/lonkero |
| max_upload_size | |
| id | 2020969 |
| size | 10,261,554 |
Professional-grade scanner for real penetration testing. Fast. Modular. Rust.
125+ Advanced Scanners | Intelligent Mode | ML Auto-Learning | Scanner Intelligence | OOBZero Engine | 5% False Positives
Official Website | Features · Installation · Quick Start · ML Features · Scanner Intelligence · Architecture
Lonkero is a production-grade web security scanner designed for professional security testing:
Unlike generic scanners that spam thousands of useless payloads, Lonkero uses context-aware filtering to test only what matters.
Major improvements to XSS detection accuracy and coverage:
Chromium XSS Scanner (Premium)
user_id, product_id, name are now tested (IDs can be reflected in XSS contexts)New: Reflection XSS Scanner (Free)
id, count, weight, etc. (these can be reflected in HTML)Traditional blind SQLi needs out-of-band callbacks. Collaborator, Interactsh, custom DNS. Infrastructure to deploy and maintain.
There's another way.
Test SLEEP(0), SLEEP(1), SLEEP(2), SLEEP(5). Calculate Pearson correlation. If r > 0.95, that's not noise - that's the database responding to your commands.
Better yet: extract data. Binary search on ASCII values, 7 requests per character. When you pull "admin" out of the database byte by byte, that's not inference. That's proof.
Combine signals with Bayesian weighting. Timing, content length, quote oscillation, boolean differentials. Each channel is weak alone. Together, they converge on certainty.
Trade-off: more requests than a single OOB callback. But zero external dependencies.
New detection techniques:
child_process exists)alg:none token format┌─────────────────────────────────────────────────────────────────┐
│ LAYER 1: Universal Scanners (always run) │
│ CORS, Headers, SSL, OpenRedirect, HttpSmuggling, HostHeader │
├─────────────────────────────────────────────────────────────────┤
│ LAYER 2: Core Scanners (always run) │
│ XSS, SQLi, SSRF, CommandInjection, PathTraversal, IDOR, JWT │
├─────────────────────────────────────────────────────────────────┤
│ LAYER 3: Tech-Specific (when detected) │
│ NextJs, React, Django, Laravel, Express, WordPress... │
├─────────────────────────────────────────────────────────────────┤
│ LAYER 4: Fallback (when tech=Unknown → MORE tests) │
│ 35+ scanners: NoSQLi, XXE, Deserial, Log4j, Merlin, Cognito... │
└─────────────────────────────────────────────────────────────────┘
Key insight: When technology detection fails, the fallback layer runs MORE comprehensive tests to ensure nothing is missed.
| Category | Scanners | Focus Areas |
|---|---|---|
| Injection | 31 scanners | SQLi, XSS, DOM XSS, XXE, NoSQL, Command, LDAP, XPath, SSRF, Template, Prototype Pollution, Host Header, Log4j/JNDI, DOM Clobbering, Second-Order Injection (v3.1) |
| Authentication | 28 scanners | JWT, OAuth, OIDC, SAML, MFA, 2FA Bypass, Session, Auth Bypass, IDOR, BOLA, Account Takeover, Password Reset Poisoning, Timing Attacks, Cognito Enum, Client Route Bypass, Auth Flow Tester (v3.1) |
| API Security | 20 scanners | GraphQL (advanced), GraphQL Batching, gRPC, REST, WebSocket, Rate Limiting, CORS, HTTP/3, Azure APIM, BFLA, API Versioning, OpenAPI Analyzer |
| Frameworks | 15 scanners | Next.js (route discovery), React, Django, Laravel, WordPress, Drupal, Joomla, Express, SvelteKit, Ruby on Rails, Spring Boot |
| Configuration | 17 scanners | Headers, CSP Bypass, SSL/TLS, Cloud, Containers, WAF Bypass, CSRF, DNS Security, Web Cache Deception, PostMessage Vulns |
| Business Logic | 8 scanners | Race Conditions, Payment Bypass, Workflow Manipulation, Mass Assignment (advanced), Timing Attacks |
| Info Disclosure | 11 scanners | Sensitive Data, Debug Leaks, Source Code, JS Secrets, Source Maps, Favicon Hash, HTML Injection |
| Specialized | 9 scanners | CVE Detection, Version Mapping, ReDoS, Google Dorking, Attack Surface Enum, Subdomain Takeover |
Target URL
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Phase 0: Reconnaissance │
│ Tech Detection, Endpoint Discovery, JS Mining │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Smart Filter (Context-Aware) │
│ Skip: Framework internals, CSRF tokens, session IDs │
│ Test: User inputs, API parameters, form fields │
└─────────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────┼─────────────────────────────┐
│ │ │
▼ ▼ ▼
Phase 1-3 Phase 4-5 Phase 6-8
Injection Business Framework
Authentication API Security Configuration
Authorization Info Disclosure
│ │ │
└─────────────────────────────┼─────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Report Generation (JSON, HTML, PDF, SARIF, CSV, XLSX, MD) │
└─────────────────────────────────────────────────────────────────┘
All scanners are context-aware - they adapt testing based on detected technology stack.
Lonkero automatically skips untestable elements (framework state, CSRF tokens, language selectors) and prioritizes high-value injection points.
| Metric | Traditional | Lonkero |
|---|---|---|
| Parameters tested | 100 | 20 |
| Requests sent | 2,800 | 560 |
| Scan time | 28s | 6s |
| False positives | 15 | 1 |
Lonkero uses advanced techniques to detect blind vulnerabilities without relying on visible output:
Zero-infrastructure blind SQL injection detection - detect blind SQLi WITHOUT callback servers.
Traditional OOB detection requires external callback infrastructure (Burp Collaborator, Interactsh, custom DNS). OOBZero uses multi-channel Bayesian inference combined with deterministic confirmation to achieve similar detection rates with zero infrastructure.
┌─────────────────────────────────────────────────────────────────┐
│ OOBZero Engine - Statistical Inference + Deterministic Proof │
├─────────────────────────────────────────────────────────────────┤
│ Inference Channels: │
│ • BooleanDifferential: AND 1=1 vs AND 1=2 response differences │
│ • ArithmeticEval: 7-1 returning same as 6 (math evaluated) │
│ • QuoteCancellation: value'' returning same as value │
│ • Resonance: Quote oscillation pattern (', '', ''', '''') │
│ • Timing/Length/Entropy: Statistical content analysis │
├─────────────────────────────────────────────────────────────────┤
│ Confirmation Techniques (v3.2): │
│ • CalibratedSleep: SLEEP(0,1,2,5) with Pearson r > 0.95 │
│ • DataExtraction: Binary search ASCII extraction (7 req/char) │
│ • TrueSinglePacket: Raw TCP/TLS microsecond timing │
├─────────────────────────────────────────────────────────────────┤
│ Key Innovations: │
│ • Negative evidence SUBTRACTS from confidence (no false pos) │
│ • Confirmation requires 2+ INDEPENDENT signal classes │
│ • Data extraction = PROOF, not inference │
│ • Pearson correlation on timing = deterministic confirmation │
└─────────────────────────────────────────────────────────────────┘
Mathematical Foundation:
L_posterior = L_prior + Σᵢ (wᵢ · cᵢ · logit(Sᵢ))
P_posterior = σ(L_posterior)
Where negative evidence has negative weights, reducing confidence.
Calibrated SLEEP Correlation:
SLEEP(0) → baseline
SLEEP(1) → +1000ms
SLEEP(2) → +2000ms
SLEEP(5) → +5000ms
Pearson r > 0.95 = confirmed SQLi (not statistical inference)
Lonkero v3.0 includes advanced Single Page Application (SPA) detection to eliminate false positives on modern JavaScript frameworks:
SPAs (React, Vue, Angular, Next.js) return HTTP 200 for all routes, even non-existent ones. Traditional scanners report false positives because they see "successful" responses.
Lonkero detects SPA signatures and handles soft-404s intelligently:
┌─────────────────────────────────────────────────────────────────┐
│ SPA Detection Signatures │
├─────────────────────────────────────────────────────────────────┤
│ • <app-root> (Angular) │
│ • <div id="root"> (React) │
│ • __NEXT_DATA__ (Next.js) │
│ • __NUXT__ (Nuxt.js) │
│ • ng-version= (Angular) │
│ • polyfills.js pattern │
│ • /_next/static/ pattern │
└─────────────────────────────────────────────────────────────────┘
Lonkero automatically discovers Next.js App Router routes from JavaScript bundles:
_next/static/chunks/*.js files/app/[path]/(page|layout)[param] with test values ([lng] → en, de, fr)┌─────────────────────────────────────────────────────────────────┐
│ Route Discovery → Middleware Bypass Testing │
├─────────────────────────────────────────────────────────────────┤
│ 1. Extract routes from JS bundles │
│ 2. Filter protected routes (admin, dashboard, settings, etc.) │
│ 3. Expand dynamic segments [lng], [id], [slug] │
│ 4. Test with x-middleware-subrequest header │
│ 5. Report CVE-2025-29927 if bypass successful │
└─────────────────────────────────────────────────────────────────┘
/app/dashboard/[id]/page → /dashboard/1/app/(auth)/login/page → /login/app/[...slug]/page → /test/page/app/[[...slug]]/page → / or /testLonkero detects AWS Cognito user pools and tests for user enumeration vulnerabilities:
userPoolId, clientId from app bundlescognito-idp.{region}.amazonaws.com in Content-Security-Policy| API | Technique | Detection |
|---|---|---|
ForgotPassword |
Response timing + CodeDeliveryDetails | User exists if delivery details returned |
SignUp |
Error message analysis | "User already exists" vs "Invalid parameter" |
InitiateAuth |
Error differentiation | "User not found" vs "Incorrect password" |
{
"type": "AWS Cognito User Enumeration",
"severity": "Medium",
"evidence": "ForgotPassword returns CodeDeliveryDetails for existing users",
"remediation": "Enable advanced security features in Cognito"
}
Lonkero includes comprehensive GraphQL security testing beyond basic introspection:
| Attack | Description | Impact |
|---|---|---|
| Introspection Abuse | Extract full schema including hidden types | Information disclosure |
| Alias Abuse | Multiply queries using aliases for DoS | Resource exhaustion |
| Batching DoS | Send multiple operations in single request | API rate limit bypass |
| Cost Analysis | Exploit expensive resolvers | DoS via computation |
| Persisted Queries | Manipulate query hashes | Cache poisoning |
| Directive Abuse | Exploit custom directives | Authorization bypass |
| Fragment Spreading | Deep nesting via fragments | Stack overflow |
| Subscription Vulns | Abuse real-time subscriptions | Data leakage |
| Authorization Bypass | Query manipulation for access | Privilege escalation |
query {
a1: expensiveQuery { data }
a2: expensiveQuery { data }
a3: expensiveQuery { data }
# ... 100 aliases = 100x server load
}
Lonkero v3.0 includes intelligent state tracking that understands stateful web applications:
┌─────────────────────────────────────────────────────────────────┐
│ State Tracking Across Requests │
├─────────────────────────────────────────────────────────────────┤
│ • Cookies (auth tokens, session IDs, preferences) │
│ • localStorage/sessionStorage values │
│ • URL parameters and hash fragments │
│ • Hidden form fields (CSRF tokens, state tokens) │
│ • Authentication state detection │
└─────────────────────────────────────────────────────────────────┘
| Pattern | Detection |
|---|---|
| Auth Flow | Session cookies, JWT tokens, auth headers |
| Shopping Cart | Cart ID cookies, checkout state |
| Wizard Forms | Step tokens, form sequence tracking |
| CSRF Protection | Token fields matching common patterns |
Parallel testing with multiple user roles to detect authorization vulnerabilities:
┌─────────────────────────────────────────────────────────────────┐
│ Multi-Role Orchestrator │
├─────────────────────────────────────────────────────────────────┤
│ 1. Initialize sessions for each role (guest, user, admin) │
│ 2. Synchronized crawl - test same URLs with all roles │
│ 3. Compare access patterns between roles │
│ 4. Detect privilege escalation (vertical & horizontal) │
│ 5. Generate access matrix for review │
└─────────────────────────────────────────────────────────────────┘
| Vulnerability | Description |
|---|---|
| Vertical Privilege Escalation | User accessing admin functions |
| Horizontal Privilege Escalation (IDOR) | User A accessing User B's data |
| BOLA | Broken Object Level Authorization |
| BFLA | Broken Function Level Authorization |
Guest - Unauthenticated userUser - Basic authenticated userModerator - Power userAdmin - AdministratorSuperAdmin - System level access# Enable multi-role testing with credentials
lonkero scan https://example.com \
--auth-username user@example.com --auth-password userpass \
--admin-username admin@example.com --admin-password adminpass
Comprehensive recording and replay of multi-step form sequences for security testing:
┌─────────────────────────────────────────────────────────────────┐
│ Form Replay Architecture │
├─────────────────────────────────────────────────────────────────┤
│ FormRecorder → Records submissions during headless crawl │
│ FormSequence → Ordered list of submissions (wizard flows) │
│ FormReplayer → Replays sequences with payload injection │
└─────────────────────────────────────────────────────────────────┘
| Token Type | Example |
|---|---|
| CSRF | _token, csrf_token, authenticity_token |
| Nonce | Single-use values that change per request |
| Timestamp | Time-based tokens for request validation |
| Session | Session-bound tokens |
| Captcha | Captcha challenge tokens (detected, not bypassed) |
Full session capture for vulnerability reproduction and debugging:
| Format | Description |
|---|---|
| HAR | HTTP Archive format - compatible with browser dev tools |
| JSON | Full timeline with all events |
| JSON (Compressed) | Gzip-compressed for storage efficiency |
| HTML | Interactive report with timeline and embedded screenshots |
cargo install lonkero
Download pre-built binaries from Releases:
# Clone repository
git clone https://github.com/bountyyfi/lonkero.git
cd lonkero
# Build release binary
cargo build --release
# Install
sudo cp target/release/lonkero /usr/local/bin/
Debian/Ubuntu: Install required system dependencies before building:
sudo apt update && sudo apt install build-essential pkg-config libssl-dev -y
# Scan single URL - Intelligent mode is default, no --mode needed
lonkero scan https://example.com
# With crawling enabled for better endpoint discovery
lonkero scan https://example.com --crawl
# Output to JSON
lonkero scan https://example.com --format json -o report.json
# Output to PDF report
lonkero scan https://example.com --format pdf -o report.pdf
# Scan with authentication (cookie)
lonkero scan https://example.com --cookie "session=abc123"
# Scan with custom headers
lonkero scan https://example.com --header "Authorization: Bearer token"
# Auto-login with credentials
lonkero scan https://example.com --auth-username admin --auth-password secret123
lonkero scan https://example.com --auth-username admin --auth-password secret123 --auth-login-url https://example.com/login
# Enable subdomain enumeration
lonkero scan https://example.com --subdomains
# CI/CD integration (SARIF output)
lonkero scan https://example.com --format sarif -o results.sarif
# Google dorking reconnaissance
lonkero scan https://example.com --dorks
# Run specific modules only
lonkero scan https://example.com --only sqli_enhanced,xss_enhanced,ssrf
# Skip specific modules
lonkero scan https://example.com --skip wordpress,drupal
# Control crawl depth (default: 3)
lonkero scan https://example.com --crawl --max-depth 5
# Disable rate limiting (use with caution)
lonkero scan https://example.com --no-rate-limit
# Multi-role authorization testing (BOLA/BFLA detection)
lonkero scan https://example.com \
--auth-username user@example.com --auth-password userpass \
--admin-username admin@example.com --admin-password adminpass \
--multi-role
# Session recording (HAR format)
lonkero scan https://example.com --record-session --session-format har
# Session recording with custom output
lonkero scan https://example.com --record-session --session-output scan_session.html --session-format html
The crawler uses a priority queue to maximize attack surface discovery:
┌─────────────────────────────────────────────────────────────────┐
│ URL Priority Scoring (higher = crawled first) │
├─────────────────────────────────────────────────────────────────┤
│ HIGH PRIORITY (+35 to +50): │
│ • /login, /signin (+50) │
│ • /register, /signup (+45) │
│ • /admin, /dashboard (+40) │
│ • /graphql (+35) │
│ • /profile, /account, /settings (+35) │
│ • /checkout, /payment, /cart (+35) │
├─────────────────────────────────────────────────────────────────┤
│ MEDIUM PRIORITY (+10 to +30): │
│ • Query parameters (+10 each, max +40) │
│ • Dynamic path segments (/users/123) (+10 each, max +30) │
│ • /api, /v1/, /v2/ (+25) │
│ • /search, /filter (+30) │
├─────────────────────────────────────────────────────────────────┤
│ LOW PRIORITY (deprioritized): │
│ • Static files (.css, .js, .png) (-80) │
│ • /static/, /assets/, /cdn/ (-40) │
│ • /blog/, /news/, /about (-20) │
└─────────────────────────────────────────────────────────────────┘
Vulnerabilities are deduplicated using semantic URL normalization to avoid duplicate reports:
┌─────────────────────────────────────────────────────────────────┐
│ URL Normalization Examples │
├─────────────────────────────────────────────────────────────────┤
│ Numeric IDs: │
│ /users/123/posts/456 → /users/{id}/posts/{id} │
│ /users/789/posts/101 → /users/{id}/posts/{id} ✓ Same │
├─────────────────────────────────────────────────────────────────┤
│ UUIDs: │
│ /item/550e8400-e29b-41d4-... → /item/{uuid} │
│ /item/f47ac10b-58cc-4372-... → /item/{uuid} ✓ Same │
├─────────────────────────────────────────────────────────────────┤
│ MongoDB ObjectIds: │
│ /doc/507f1f77bcf86cd799439011 → /doc/{oid} │
│ /doc/5eb63bbbe01eeed093cb22bb → /doc/{oid} ✓ Same │
├─────────────────────────────────────────────────────────────────┤
│ Query Parameters (sorted alphabetically): │
│ /search?b=2&a=1&c=3 → /search?a=1&b=2&c=3 │
│ /search?a=1&b=2&c=3 → /search?a=1&b=2&c=3 ✓ Same │
└─────────────────────────────────────────────────────────────────┘
# lonkero.yml
target: https://example.com
modules:
- sqli_enhanced
- xss_enhanced
- xxe
- ssrf
- graphql_security
concurrency: 10
timeout: 30
headers:
Authorization: Bearer token123
X-API-Key: secret
output:
format: json
file: report.json
lonkero scan --config lonkero.yml
_next/data exposure, server actions, image SSRF, ISR token exposure.env files--dorks flag)Advanced detection techniques requiring license authentication:
High-value features for critical infrastructure:
Lonkero v3.0 includes an integrated ML system that automatically learns from scan results to improve detection accuracy over time.
┌─────────────────────────────────────────────────────────────────┐
│ Local Auto-Learning │
│ • Learns from every scan automatically │
│ • No user verification required │
│ • Reduces false positives based on response patterns │
├─────────────────────────────────────────────────────────────────┤
│ Federated Learning (Opt-in) │
│ • Share model weights (not data) with the community │
│ • Benefit from collective knowledge │
│ • Differential privacy ensures no data leakage │
├─────────────────────────────────────────────────────────────────┤
│ GDPR Compliant │
│ • Explicit consent required │
│ • Right to erasure (delete all data) │
│ • Right to access (export your data) │
│ • All data stored locally by default │
└─────────────────────────────────────────────────────────────────┘
# Enable ML with local-only learning
lonkero ml enable
# Enable ML with federated learning (contribute to community model)
lonkero ml enable --federated
# View ML statistics
lonkero ml stats
# Disable ML (keep data)
lonkero ml disable
# Disable ML and delete all data
lonkero ml disable --delete-data
# Export your ML data (GDPR right to access)
lonkero ml export -o my_ml_data.json
# Delete all ML data (GDPR right to erasure)
lonkero ml delete-data
# Manually sync with federated network
lonkero ml sync
$ lonkero ml stats
ML Pipeline Statistics
======================
Status: Enabled
Federated: Enabled (1,247 contributors)
Session Stats:
Processed: 45 findings
Auto-confirmed: 12 true positives
Auto-rejected: 28 false positives
Lifetime Stats:
Total confirmed: 1,892
Total rejected: 4,521
Endpoint patterns: 347
Can contribute: Yes
ML features require explicit user consent:
Data stored locally (in ~/.lonkero/ml/):
Data shared in federated mode:
| Right | Command | Description |
|---|---|---|
| Right to be informed | lonkero ml stats |
View what data is collected |
| Right of access | lonkero ml export |
Export all your ML data |
| Right to erasure | lonkero ml delete-data |
Permanently delete all ML data |
| Right to withdraw consent | lonkero ml disable |
Stop ML processing |
Lonkero v3.0 introduces a sophisticated intelligence system that makes scanners work together like a coordinated security team rather than isolated tools.
+---------------------------------------------------------------------+
| Intelligence Bus - Real-time Scanner Communication |
| Scanners broadcast discoveries, others adapt immediately |
+---------------------------------------------------------------------+
|
+-----------------------+-----------------------+
| | |
v v v
+-------------------+ +-------------------+ +-------------------+
| Hypothesis Engine | | Attack Planner | | Response Analyzer |
| Bayesian-guided | | Multi-step attack | | Semantic response |
| vulnerability | | chain planning | | understanding |
| testing | | with goal search | | (NLP-lite) |
+-------------------+ +-------------------+ +-------------------+
Real-time communication between scanners during a scan:
| Event Type | Description | Example |
|---|---|---|
AuthTypeDetected |
JWT, OAuth2, Session, SAML, OIDC detected | JWT scanner informs others to test algorithm confusion |
FrameworkDetected |
Framework with version identified | Django 4.2 detected, enable Django-specific tests |
WafDetected |
WAF type with bypass hints | Cloudflare detected, switch to bypass payloads |
VulnerabilityPattern |
SQL errors, stack traces found | MySQL error seen, prioritize MySQL-specific injection |
SensitiveParameter |
High-value parameter found | admin_id parameter found, IDOR scanner prioritizes it |
EndpointPattern |
API patterns discovered | REST CRUD pattern detected, test all HTTP methods |
ScannerInsight |
Bypass or weakness found | Rate limit bypass found, inform brute-force scanners |
Example flow:
FrameworkDetected { name: "Django", version: "4.2" }Bayesian-guided vulnerability testing that forms and tests hypotheses:
Traditional scanning: Hypothesis-driven scanning:
Try payload 1 -> No result Observe: param=id, numeric value
Try payload 2 -> No result Hypothesis: SQL Injection (prior: 0.3)
Try payload 3 -> No result Test: ' OR '1'='1 -> SQL error
Try payload 4 -> No result Update: posterior = 0.85
Try payload 5 -> SQL error! Refine: MySQL-specific
...500 payloads later... Test: SLEEP(5) -> 5s delay
Confirm: MySQL Blind SQLi (0.99)
Key concepts:
Supported hypothesis types:
Multi-step attack chain planning with goal-directed search:
Goal: Account Takeover
Current State: Attack Plan Generated:
- Known endpoint: /api/users 1. Enumerate users via /api/users IDOR
- No user list 2. Extract email from user profile
- No session 3. Trigger password reset
4. Exploit token predictability
| 5. Gain victim session
v
[BFS Path Finding]
|
v
Execute step by step,
update state after each
Attack goals supported:
Common attack chains:
Semantic understanding of HTTP responses (NLP-lite, no external dependencies):
| Analysis | Detection |
|---|---|
| SQL Errors | MySQL, PostgreSQL, MSSQL, Oracle, SQLite |
| Stack Traces | Python, Java, PHP, Node.js, .NET, Ruby, Go, Rust |
| Auth States | Authenticated, Expired, Invalid credentials, MFA required |
| WAF Signatures | Cloudflare, Akamai, AWS WAF, ModSecurity, Imperva |
| Data Exposure | Internal IPs, file paths, API keys, tokens, credentials |
| Business Context | User management, payment, admin panel, file management |
Example analysis:
Response: 500 Internal Server Error
Body: "PG::SyntaxError: ERROR: syntax error at or near..."
Analysis:
- ResponseType: ServerError
- ErrorInfo: { type: Database, db: PostgreSQL }
- DataExposure: [StackTrace, DatabaseSchema]
- VulnerabilityHint: { type: "SQL Injection", confidence: 0.92 }
| Metric | Without Intelligence | With Intelligence |
|---|---|---|
| Payloads tested | 5,000 | 800 |
| Time to first finding | 45s | 8s |
| False positive rate | 8% | 2% |
| Attack chains found | 0 | 3 |
| Context awareness | None | Full |
| OWASP Category | Lonkero Scanners |
|---|---|
| A01: Broken Access Control | IDOR, privilege escalation, client route bypass |
| A02: Cryptographic Failures | JWT weak secrets, SSL/TLS misconfig |
| A03: Injection | SQLi, XSS, XXE, NoSQL, CMD, LDAP, XPath, SSTI |
| A04: Insecure Design | Business logic, race conditions, workflow bypass |
| A05: Security Misconfiguration | Headers, CORS, debug mode, CDN bypass |
| A06: Vulnerable Components | Framework scanners (Next.js, Laravel, Django) |
| A07: Auth Failures | JWT, OAuth, SAML, MFA, session fixation |
| A08: Data Integrity Failures | File upload, cache poisoning, mass assignment |
| A09: Security Logging Failures | Information disclosure scanner |
| A10: SSRF | SSRF scanner with cloud metadata checks |
Lonkero v3.0 uses Intelligent Mode by default - no need to specify --mode. The scanner automatically:
Legacy modes (--mode fast/normal/thorough/insane) are still available for backwards compatibility.
name: Lonkero Security Scan
on: [push, pull_request]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-action@stable
- name: Install Dependencies
run: sudo apt update && sudo apt install build-essential pkg-config libssl-dev -y
- name: Clone and Build Lonkero
run: |
git clone https://github.com/bountyyfi/lonkero.git /tmp/lonkero
cd /tmp/lonkero
cargo build --release
sudo cp target/release/lonkero /usr/local/bin/
- name: Run Lonkero Scan
env:
LONKERO_LICENSE_KEY: ${{ secrets.LONKERO_LICENSE }}
run: |
# v3.0: Intelligent mode is default - no --mode needed
lonkero scan https://staging.example.com \
--format sarif \
-o results.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif
lonkero-scan:
stage: security
image: rust:1.85.1
variables:
LONKERO_LICENSE_KEY: $LONKERO_LICENSE
script:
- apt update && apt install -y build-essential pkg-config libssl-dev
- git clone https://github.com/bountyyfi/lonkero.git /tmp/lonkero
- cd /tmp/lonkero && cargo build --release
# v3.0: Intelligent mode is default
- /tmp/lonkero/target/release/lonkero scan $CI_ENVIRONMENT_URL --format json -o gl-sast-report.json
artifacts:
reports:
sast: gl-sast-report.json
If you need the old behavior for specific use cases:
# Use legacy modes when needed
lonkero scan https://example.com --mode fast # 50 payloads globally
lonkero scan https://example.com --mode normal # 500 payloads globally
lonkero scan https://example.com --mode thorough # 5000 payloads globally
lonkero scan https://example.com --mode insane # All payloads
{
"scan_id": "scan_abc123",
"target": "https://example.com",
"start_time": "2025-01-15T10:00:00Z",
"vulnerabilities": [
{
"id": "sqli_abc123",
"type": "SQL Injection (Blind)",
"severity": "Critical",
"confidence": "High",
"url": "https://example.com/login",
"parameter": "username",
"payload": "admin' AND SLEEP(5)--",
"cwe": "CWE-89",
"cvss": 9.1,
"remediation": "Use parameterized queries..."
}
]
}
Professional PDF reports with executive summary, severity-colored findings, and detailed remediation steps.
lonkero scan https://example.com -o report.pdf
Compatible with GitHub Advanced Security for automated PR comments and security alerts.
Interactive dark-themed report with filtering, sorting, and vulnerability details.
Spreadsheet exports for integration with ticketing systems and spreadsheet analysis.
Plain text reports for documentation and version control.
| Feature | Lonkero | Burp Suite Pro | OWASP ZAP | Acunetix |
|---|---|---|---|---|
| Price | See website | $449/year | Free | $4,500/year |
| False Positive Rate | 5% | 10-15% | 20-30% | 10-15% |
| ML Auto-Learning | Yes (federated) | No | No | No |
| Modern Framework Support | Next.js, React, GraphQL | Limited | Limited | Limited |
| Smart Parameter Filtering | Yes | No | No | No |
| Blind Detection | OOBZero Engine | Burp Collaborator | No | OOB callbacks |
| CI/CD Integration | SARIF, JSON | Limited | JSON | Limited |
| Blind SQLi Binary Search | Yes | No | No | Yes |
| GraphQL Security | Yes | Extension | No | Limited |
| WebSocket Testing | Yes | Yes | Limited | Yes |
| License Model | API-based | Per-user | Free | Per-user |
Copyright © 2026 Bountyy Oy. All rights reserved.
This software is proprietary. Commercial use requires a valid license.
For licensing inquiries, visit lonkero.bountyy.fi or contact info@bountyy.fi.
Made in Finland 🇫🇮