| Version | Supported / Unterstützt | Status |
|---|---|---|
| 0.1.x | ✅ | Active support (current) |
| < 0.1.0 | ❌ | End-of-Life |
web-scraper is a standalone, lightweight web extraction engine and browser control utility (extracted from the BACH system). Because it executes network requests against external web endpoints, strict defense-in-depth safeguards are enforced:
-
SSRF Guard & DNS Hop Re-Validation:
- Outbound requests to private, loopback, link-local, and broadcast IP ranges (
127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16,::1,fc00::/7,fe80::/10) are blocked by default viaBlockedTargetError. - Redirect Verification: Every redirect hop is independently resolved and verified before following, preventing DNS rebinding and redirect pivot attacks into internal networks.
- Private endpoints can only be accessed by explicitly passing
allow_private=Trueor--allow-private.
- Outbound requests to private, loopback, link-local, and broadcast IP ranges (
-
Scheme Whitelisting:
- Only
httpandhttpsschemes are permitted. Dangerous schemes (file://,ftp://,gopher://,javascript:,data:) are rejected immediately.
- Only
-
Bounded Resources & Denial-of-Service Defense:
- Response Size Cap: Maximum payload size is capped at 5 MB (
max_bytes=5_000_000) to prevent memory exhaustion and zip-bomb style attacks. - Bounded Redirects: Redirect chains are strictly limited (
max_redirects=10). - Configurable Timeouts: Default network timeout of 15 seconds prevents hanging worker processes.
- Response Size Cap: Maximum payload size is capped at 5 MB (
-
Zero Credential Persistence:
- The module does not store, persist, or leak authentication tokens, API keys, or private session cookies.
If you discover a security vulnerability or bypass in web-scraper, please report it privately:
- GitHub Security Advisory (Preferred): Open a private report at ellmos-ai/web-scraper Security Advisories.
- Email Contacts: Send vulnerability details to
security@open-bricks.organdsecurity@ellmos.ai(CC:lukas@open-bricks.org,support@lukasgeiger.com).
Service Level Agreement (SLA):
- Acknowledgment: Within 48 hours.
- Triage & Status Assessment: Within 5 business days.
- Remediation & Release Coordination: Delivered rapidly with verified automated test suites.
Please do not disclose potential vulnerabilities publicly in issues or pull requests.
web-scraper ist ein schlankes, eigenständiges Werkzeug zur Webseiten-Extraktion und Browsersteuerung (portiert aus dem BACH-System). Da das Modul ausgehende Netzwerkanfragen ausführt, gelten strikte Sicherheitsvorkehrungen:
-
SSRF-Schutz & DNS-Hop-Validierung:
- Anfragen an private, Loopback-, Link-Local- oder Broadcast-Adressbereiche (
127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16,::1,fc00::/7,fe80::/10) werden standardmäßig viaBlockedTargetErrorblockiert. - Hop-Validierung: Jeder einzelne Weiterleitungs-Hop (Redirect) wird vor dem Folgen neu aufgelöst und geprüft, um Angriffe über Umleitungen auf interne Systeme zu verhindern.
- Private Ziele können nur durch explizite Angabe von
allow_private=Truebzw.--allow-privateangesprochen werden.
- Anfragen an private, Loopback-, Link-Local- oder Broadcast-Adressbereiche (
-
Protokoll-Positivliste:
- Ausschließlich
httpundhttpssind zugelassen. Potenziell gefährliche Schemata wiefile://,ftp://,gopher://oderdata:werden abgewiesen.
- Ausschließlich
-
Ressourcenbegrenzung & DoS-Schutz:
- Antwortgrößenbegrenzung: Die maximale Download-Größe ist standardmäßig auf 5 MB (
max_bytes=5_000_000) begrenzt. - Weiterleitungsbegrenzung: Weiterleitungsketten sind auf maximal 10 Hops beschränkt.
- Deterministische Timeouts: Standard-Timeout von 15 Sekunden verhindert blockierte Hintergrundprozesse.
- Antwortgrößenbegrenzung: Die maximale Download-Größe ist standardmäßig auf 5 MB (
-
Keine Speicherung von Zugangsdaten:
- Das Modul speichert, überträgt oder persistiert keine Benutzer-Credentials, Tokens oder Sitzungsschlüssel.
Wenn Sie eine Sicherheitslücke oder Schwachstelle in web-scraper entdecken, melden Sie diese bitte vertraulich:
- GitHub Security Advisory (Bevorzugt): Erstellen Sie einen privaten Bericht unter ellmos-ai/web-scraper Security Advisories.
- E-Mail-Kontakte: Senden Sie die Details an
security@open-bricks.orgundsecurity@ellmos.ai(CC:lukas@open-bricks.org,support@lukasgeiger.com).
Service Level Agreement (SLA):
- Eingangsbestätigung: Innerhalb von 48 Stunden.
- Ersteinschätzung & Triage: Innerhalb von 5 Werktagen.
- Behebung & Release: Schnellstmöglich nach Verifikation durch automatisierte Testläufe.
Die Bereitstellung dieser Open-Source-Software erfolgt unentgeltlich. Die Haftung ist nach deutschem Recht gemäß § 521 BGB (Schenkungs- und Gefälligkeitsrecht) auf Vorsatz und grobe Fahrlässigkeit beschränkt.
This open-source software is provided free of charge. Under German statutory law (§ 521 BGB), liability is limited to intent and gross negligence.