๐ Marshall Extensions
February 27, 2026 ยท View on GitHub
๐ Marshall Extensions
Security & OSINT Extensions for Marshall Browser
A curated collection of security-focused browser extensions with multi-layered sandbox isolation and honeypot detection.
Extensions โข Installation โข Sandbox โข Development โข Documentation
๐ฏ Overview
Marshall Extensions provides a growing ecosystem of security and OSINT tools that integrate directly into the Marshall Browser. Every extension runs inside a hardened sandbox with:
- ๐ AES-256-GCM encrypted communication
- ๐ฆ Rust-based process isolation (seccomp-bpf, namespaces)
- ๐ฏ Go honeypot system for detecting malicious behavior
- ๐ Behavioral threat scoring with automatic containment
๐ฆ Available Extensions
๐ Reconnaissance
| Extension | Description | Language |
|---|---|---|
| Shodan Lookup | Query Shodan.io for IP/domain intelligence, open ports, vulnerabilities | JavaScript |
| WHOIS Inspector | Detailed domain registration info, registrar history, name servers | JavaScript |
| DNS Analyzer | DNS record enumeration, zone transfers, subdomain discovery | JavaScript |
| Wayback Machine | View historical snapshots of any webpage | JavaScript |
โก Vulnerability Assessment
| Extension | Description | Language |
|---|---|---|
| XSS Scanner | Detect reflected, stored, and DOM-based XSS vulnerabilities | JavaScript |
| Header Analyzer | Security header analysis (CSP, HSTS, X-Frame-Options) with recommendations | JavaScript |
| Cert Inspector | SSL/TLS certificate analysis, chain validation, grading | Ruby |
| SQLi Detector | SQL injection point detection and payload testing | JavaScript |
๐ก Network Analysis
| Extension | Description | Language |
|---|---|---|
| Traffic Analyzer | Real-time network monitoring, anomaly detection, traffic patterns | TypeScript |
| Request Tamper | HTTP interception, modification, replay attacks | Lua |
| WebSocket Inspector | Monitor and modify WebSocket connections | TypeScript |
| Cookie Manager | Advanced cookie analysis, modification, and export | JavaScript |
๐ง Forensics
| Extension | Description | Language |
|---|---|---|
| Memory Forensics | Memory artifact detection, shellcode patterns, process injection | C |
| JS Deobfuscator | Unpack and analyze obfuscated JavaScript | JavaScript |
| Metadata Extractor | Extract EXIF, document metadata from files | Python |
๏ฟฝ๏ฟฝ๏ธ Utilities
| Extension | Description | Language |
|---|---|---|
| Request Logger | Log and export all HTTP requests/responses | JavaScript |
| Response Beautifier | Format JSON, XML, HTML responses | JavaScript |
| Hash Calculator | MD5, SHA-1, SHA-256, SHA-512 hash generation | JavaScript |
| Encoder/Decoder | Base64, URL, HTML entity encoding/decoding | JavaScript |
| Screenshot Tool | Full page and element screenshots | JavaScript |
๐ Installation
Method 1: Marshall Extension Manager (Recommended)
- Open Marshall Browser
- Navigate to
Settings โ Extensions - Click "Browse Repository"
- Select extensions to install
- Grant required permissions
Method 2: Manual Installation
# Clone the repository
git clone https://github.com/bad-antics/marshall-extensions.git
# Copy extension to Marshall extensions directory
cp -r marshall-extensions/extensions/recon/shodan-lookup ~/.marshall/extensions/
# Restart Marshall Browser
marshall --reload-extensions
Method 3: Install from URL
# Install directly from GitHub
marshall --install-extension https://github.com/bad-antics/marshall-extensions/releases/download/v1.0.0/shodan-lookup.mext
๐ Sandbox Architecture
All extensions execute in a multi-layered security sandbox that isolates untrusted code and detects malicious behavior.
flowchart TB
subgraph Browser["๐ Marshall Browser"]
subgraph CommLayer["๐ก Secure Communication Layer<br/><i>TypeScript โข AES-256-GCM</i>"]
ECDH["๐ ECDH Key Exchange"]
Sign["โ๏ธ Message Signing"]
Replay["๐ก๏ธ Replay Protection"]
end
subgraph SandboxCore["๐ฆ Sandbox Core<br/><i>Rust โข libseccomp</i>"]
Isolation["๐ Process Isolation"]
Verify["โ
Ed25519 Verification"]
Threat["โ ๏ธ Threat Detection"]
end
subgraph Honeypot["๐ฏ Honeypot System<br/><i>Go โข Deception</i>"]
NetHP["๐ Network"]
ApiHP["๐ API"]
FileHP["๐ File"]
DataHP["๐ Data"]
end
end
Ext["๐งฉ Extension"] ==> CommLayer
CommLayer ==> SandboxCore
SandboxCore ==> Honeypot
Threat -.->|"Score > 50"| Honeypot
Security Layers
| Layer | Component | Technology | Purpose |
|---|---|---|---|
| 1 | Communication | TypeScript | AES-256-GCM encryption, ECDH key exchange |
| 2 | Sandbox Core | Rust | seccomp-bpf syscall filtering, namespace isolation |
| 3 | Honeypot | Go | Fake services, credential honeytokens, intrusion detection |
Threat Detection
The sandbox monitors all extension behavior and assigns threat scores:
| Indicator | Score | Action |
|---|---|---|
| Blocked API call | +10 | Log warning |
| Excessive network requests | +5 | Rate limit |
| Unauthorized file access | +15 | Deny + alert |
| Credential harvesting attempt | +25 | Honeypot redirect |
| Process/memory scanning | +20 | Terminate |
| Score > 50 | โ | Full honeypot containment |
Permission System
Extensions must declare required permissions in their manifest:
{
"permissions": [
"activeTab", // Access current tab
"network", // Make HTTP requests
"storage", // Persistent storage
"dom", // Page DOM access
"clipboard", // Clipboard access
"notifications" // System notifications
]
}
๐ ๏ธ Extension Development
Quick Start
# Create new extension from template
marshall-cli create-extension my-extension
# Structure created:
my-extension/
โโโ manifest.json # Extension metadata
โโโ main.js # Entry point
โโโ icon.png # 128x128 icon
โโโ README.md # Documentation
Manifest Schema
{
"name": "My Extension",
"version": "1.0.0",
"description": "What this extension does",
"author": "your-username",
"homepage": "https://github.com/your-username/my-extension",
"permissions": ["activeTab", "network"],
"main": "main.js",
"icon": "icon.png",
"category": "recon",
"marshall_version": ">=1.0.0"
}
Marshall Extension API
// Get current tab info
const tab = await marshall.tabs.getCurrent();
console.log(tab.url, tab.title);
// Make network request (sandboxed)
const response = await marshall.network.fetch('https://api.example.com/data', {
method: 'GET',
headers: { 'X-API-Key': apiKey }
});
const data = await response.json();
// Store data persistently
await marshall.storage.set('lastResult', data);
const stored = await marshall.storage.get('lastResult');
// Show UI panel
marshall.ui.showPanel(`
<div class="result">
<h2>Results</h2>
<pre>${JSON.stringify(data, null, 2)}</pre>
</div>
`);
// Send notification
marshall.ui.notify('Scan complete!', 'success');
// Access page DOM (requires 'dom' permission)
const pageContent = await marshall.dom.evaluate(() => {
return document.body.innerHTML;
});
Categories
| Category | Description |
|---|---|
recon | Reconnaissance & OSINT |
vuln | Vulnerability assessment |
network | Network analysis |
forensics | Digital forensics |
utility | General utilities |
๐ Project Structure
marshall-extensions/
โโโ sandbox/ # Security sandbox system
โ โโโ core/ # Rust sandbox runtime
โ โ โโโ src/
โ โ โ โโโ lib.rs # Sandbox entry point
โ โ โ โโโ isolation.rs # Process isolation (seccomp, namespaces)
โ โ โ โโโ verification.rs # Ed25519 signature verification
โ โ โ โโโ permissions.rs # Permission enforcement
โ โ โ โโโ threat.rs # Threat scoring engine
โ โ โโโ Cargo.toml
โ โโโ honeypot/ # Go deception system
โ โ โโโ main.go # Honeypot services
โ โ โโโ network.go # Fake network services
โ โ โโโ api.go # Fake API endpoints
โ โ โโโ go.mod
โ โโโ comm/ # TypeScript secure channel
โ โโโ channel.ts # Encrypted IPC
โ โโโ crypto.ts # AES-256-GCM, ECDH
โ โโโ package.json
โโโ extensions/
โ โโโ recon/ # Reconnaissance extensions
โ โ โโโ shodan-lookup/
โ โ โโโ whois-inspector/
โ โ โโโ dns-analyzer/
โ โโโ vuln/ # Vulnerability extensions
โ โ โโโ xss-scanner/
โ โ โโโ header-analyzer/
โ โ โโโ cert-inspector/ # Ruby
โ โโโ network/ # Network extensions
โ โ โโโ traffic-analyzer/ # TypeScript
โ โ โโโ request-tamper/ # Lua
โ โโโ forensics/ # Forensics extensions
โ โ โโโ memory-forensics/ # C
โ โโโ utility/ # Utility extensions
โโโ lib/ # Shared libraries
โ โโโ marshall-api.js # Extension API
โ โโโ common-utils.js # Utilities
โโโ docs/ # Documentation
โ โโโ Home.md
โ โโโ Sandbox-Architecture.md
โ โโโ Extension-Development.md
โโโ README.md
๐ Documentation
| Document | Description |
|---|---|
| Sandbox Architecture | Deep dive into the security sandbox |
| Extension Development | Complete API reference and guides |
| Contributing | How to contribute extensions |
โ ๏ธ Disclaimer
These extensions are provided for educational and authorized security testing purposes only.
- โ Use on systems you own or have explicit permission to test
- โ Do not use for unauthorized access or malicious purposes
- ๐ Follow all applicable laws and regulations
๐ค Contributing
We welcome contributions! Here's how to submit a new extension:
- Fork this repository
- Create your extension in
extensions/<category>/ - Include
manifest.json,main.js,icon.png, andREADME.md - Test with
marshall --test-extension ./your-extension - Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
๐ License
MIT License โ See LICENSE for details.
๐ Related Projects
| Project | Description |
|---|---|
| Marshall Browser | The privacy-focused browser |
| NullSec Tools | Comprehensive security toolkit |
| NullSec Linux | Security-focused Linux distribution |