A curated collection of security-focused browser extensions with multi-layered sandbox isolation and honeypot detection.
Extensions β’ Installation β’ Sandbox β’ Development β’ Documentation
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
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
- Open Marshall Browser
- Navigate to
Settings β Extensions - Click "Browse Repository"
- Select extensions to install
- Grant required permissions
# 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# Install directly from GitHub
marshall --install-extension https://github.com/bad-antics/marshall-extensions/releases/download/v1.0.0/shodan-lookup.mextAll 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
| 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 |
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 |
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
]
}# 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{
"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"
}// 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;
});| Category | Description |
|---|---|
recon |
Reconnaissance & OSINT |
vuln |
Vulnerability assessment |
network |
Network analysis |
forensics |
Digital forensics |
utility |
General utilities |
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
| Document | Description |
|---|---|
| Sandbox Architecture | Deep dive into the security sandbox |
| Extension Development | Complete API reference and guides |
| Contributing | How to contribute extensions |
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
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.
MIT License β See LICENSE for details.
| Project | Description |
|---|---|
| Marshall Browser | The privacy-focused browser |
| NullSec Tools | Comprehensive security toolkit |
| NullSec Linux | Security-focused Linux distribution |