DiscourseMap
Advanced Security Scanner for Discourse Forums
A comprehensive security assessment tool specifically designed for Discourse forum platforms, featuring 25+ specialized security modules with 100% reliability.
Features • Installation • Quick Start • Documentation • Contributing
🎯 Features
Core Capabilities
- 25 Security Modules - 100% success rate, optimized for speed
- Comprehensive Scanning - CVE detection, plugin analysis, API testing
- Performance Optimized - All modules complete within 60 seconds
- Detailed Reporting - HTML, JSON, and CLI output formats
- Production Ready - Battle-tested and reliable
Security Modules
🔍 Core Analysis
- Info Scanner - Forum information gathering
- Endpoint Discovery - API endpoint enumeration
- User Enumeration - User account analysis
- CVE Detection - Known vulnerability scanning
- Plugin Analysis - Plugin detection and security testing
🛡️ Security Testing
- Authentication Testing - Login security analysis
- API Security - REST API vulnerability testing
- Configuration Audit - Security misconfiguration detection
- Crypto Analysis - Encryption and hashing review
- Network Security - Network-level security checks
🎨 Discourse-Specific
- Badge Security - Badge system vulnerability testing
- Category Permissions - Access control analysis
- Trust Level Testing - Trust level bypass detection
- Rate Limiting - API rate limit testing
- Session Security - Session management review
- Admin Panel - Administrative interface testing
- Webhook Security - Webhook configuration analysis
- Email Security - Email-related vulnerability testing
- Search Security - Search functionality testing
- Cache Security - Cache misconfiguration detection
🚀 Advanced Features
- WAF Bypass - Web Application Firewall evasion testing
- Compliance Check - Security standard compliance verification
📦 Installation
Prerequisites
- Python 3.8 or higher
- pip (Python package manager)
Install via pip (Recommended)
# Install from PyPI
pip install discoursemap
# Or install with all optional dependencies
pip install discoursemap[all]
Install from Source
# Clone the repository
git clone https://github.com/ibrahmsql/discoursemap.git
cd discoursemap
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
Install using pipx (Isolated Environment)
# Install pipx if not already installed
pip install pipx
# Install discoursemap
pipx install discoursemap
🚀 Quick Start
Basic Scan
# Scan a Discourse forum
discoursemap -u https://meta.discourse.org
# Scan specific modules
discoursemap -u https://forum.example.com -m cve,plugin,api
# Enable verbose output
discoursemap -u https://forum.example.com -v
# Synchronous scan (wait for completion)
discoursemap -u https://forum.example.com --sync
Advanced Usage
# Full security audit with all modules
discoursemap -u https://forum.example.com -m all --sync -v
# Output to HTML report
discoursemap -u https://forum.example.com -o report.html
# JSON output for automation
discoursemap -u https://forum.example.com -o results.json
# Custom timeout and threads
discoursemap -u https://forum.example.com --timeout 120 --threads 10
Available Modules
| Module | Description | Speed |
|---|---|---|
info |
Forum information gathering | ⚡ Fast |
cve |
CVE vulnerability detection | ⚡ Fast |
plugin |
Plugin security analysis | ⚡ Fast |
api |
API security testing | ⚡ Fast |
auth |
Authentication testing | ⚡ Fast |
badge |
Badge system security | 🔄 Medium |
category |
Category permissions | 🔄 Medium |
rate_limit |
Rate limiting tests | 🔄 Medium |
waf_bypass |
WAF evasion testing | 🔄 Medium |
all |
Run all 25 modules | 🕐 Comprehensive |
See full list: Run discoursemap --list-modules
📖 Documentation
Quick References
- QUICKSTART.md - Get started in 5 minutes
- MANUAL.md - Comprehensive usage guide
- API Documentation - Python API reference
Configuration
Create a configuration file ~/.discoursemap/config.yaml:
# Global settings
timeout: 60
threads: 5
verbose: false
# Output settings
output_format: html
save_results: true
# Module settings
default_modules:
- info
- cve
- plugin
- api
- auth
# Reporting
report:
include_severity: true
show_recommendations: true
🎯 Use Cases
Security Auditing
# Full security audit
discoursemap -u https://forum.example.com -m all --sync
CI/CD Integration
# Automated security checks
discoursemap -u $FORUM_URL -m cve,plugin -o results.json
if [ $? -ne 0 ]; then
echo "Security issues found!"
exit 1
fi
Bug Bounty Hunting
# Quick vulnerability scan
discoursemap -u https://target.com -m cve,plugin,waf_bypass -v
Compliance Testing
# Compliance check
discoursemap -u https://forum.example.com -m compliance,config,auth
📊 Performance
DiscourseMap has been optimized for speed and reliability:
| Metric | Value |
|---|---|
| Total Modules | 25 |
| Success Rate | 100% |
| Avg. Scan Time | < 60s (all modules) |
| Memory Usage | < 100MB |
| Concurrent Requests | Configurable (default: 5) |
Module Performance (60s timeout)
- ✅ 22 modules: < 10s
- ✅ 3 modules: 40-60s (comprehensive tests)
- ✅ 0 failures, 0 timeouts
🤝 Contributing
We welcome contributions! Here's how you can help:
Reporting Issues
Pull Requests
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
# Clone and setup dev environment
git clone https://github.com/ibrahmsql/discoursemap.git
cd discoursemap
pip install -r requirements-dev.txt
# Run tests
pytest
# Run linter
flake8 discoursemap/
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Discourse team for creating an amazing platform
- Security researchers and contributors
- Open source community
📧 Contact
- Author: @ibrahmsql
- Email: ibrahimsql@proton.me
- Issues: GitHub Issues
⭐ Star this repo if you find it useful!
Made with ❤️ by @ibrahmsql
Metadata
Release files for discoursemap 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| discoursemap-2.1.0.tar.gz | 164.2 kB | Without provenance | Details for discoursemap-2.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| discoursemap-2.1.0-py3-none-any.whl | Python 3 | none | any | Details for discoursemap-2.1.0-py3-none-any.whl |
Total release size: 391.9 kB
Release files / discoursemap-2.1.0.tar.gz
| Download URL | discoursemap-2.1.0.tar.gz |
|---|---|
| Size | 164.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e322504701e3482a265227494c4e05b62ba3327639ecbcac67a54c5883cfe79a
|
|
BLAKE2b-256 checksum How to use checksums |
ace95e0f7511f772ee0fbafe4520b9cbab71bcb167dd25ac7638e00ef6de3805
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / discoursemap-2.1.0-py3-none-any.whl
| Download URL | discoursemap-2.1.0-py3-none-any.whl |
|---|---|
| Size | 227.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
633780cf8dfe5e56dc9207625680a6fdbe32ad3102be422220997362fb5d2ad5
|
|
BLAKE2b-256 checksum How to use checksums |
ef6896fdf6cc0350f4a88e15602f473438df86a1cc6ab89d2d5aaf8079547d57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Security for discoursemap 2.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.