ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

CoolGithubProjects

CoolGithubProjects

Открыть в Telegram

Part of @r_channels contains posts from r/CoolGithubProjects and r/CoolCSTechTalks

Больше
4 695
Подписчики
+1024 часа
+567 дней
+19730 дней
Архив постов
XXERipper: an open-source XXE scanner with differential parser fingerprinting, mandatory-signal gating, and chain-based impact analysis I am releasing XXERipper v1.0.0, an open-source XML External Entity scanner I have been working on for the past five months. # What it does XXERipper is a black-box scanner for XXE. It runs in-band, error-based, and blind out-of-band techniques, fingerprints the target's XML parser, and reports findings with CWE mappings, a confidence score, and where applicable the recovered file content and extracted credentials. The design is driven by a single problem: most XXE scanners treat "the parser accepted my DOCTYPE" as equivalent to "the external entity resolved." Those two outcomes produce similar response deltas and are difficult to distinguish without additional evidence. XXERipper requires a mandatory signal before confirming any finding. # Detection model Every candidate response is scored against a seven-sample statistical baseline (median length, IQR, p95, mode status, most-common body hash, median Shannon entropy, windowed entropy over 256-byte windows). Signals carry the following weights: +50 correlated OOB callback (token match) +40 file-content fingerprint (+5 per additional indicator) +25 chain integrity (entity resolved end-to-end) +20 parser error delta +20 timing anomaly +10 length delta >= 20% +5 status code shift Vetoes: -100 reflection (payload echoed verbatim) -75 normalized baseline match -50 byte-identical baseline body -30 soft reflection (reflection present but a strong signal too) Classification requires a mandatory signal — one of file\_type, oob\_correlated, or chain\_integrity. Parser errors and timing anomalies contribute to score but cannot confirm a finding independently. A response scoring >=70 with only one independent evidence family is capped at HIGH rather than CRITICAL. # Parser fingerprinting Nine paired test/control probes identify the underlying XML stack across eleven signature families (libxml2, Xerces, .NET, Java SAX, Java StAX, python-etree, PHP DOM, Ruby, Node, Perl, Go). A capability is marked present only when the test probe succeeds and the control does not, which makes the result differential rather than pattern-matched. Results are cached per-URL, so repeat scans skip the probe phase. The fingerprint gates two phases (in-band file read, error-based local-DTD sweep) so a target that does not resolve entities is not sent the full payload catalogue. # Attack coverage Many technique families are used, as an example: * In-band file read, PHP filter chain, PHP expect:// RCE * Error-based: local DTD reuse, malformed entity * Blind: DNS OOB, external DTD, parameter-entity OOB, CDATA bypass, timing-based * Encoding bypass: UTF-16, UTF-7, UCS-4, alternate DOCTYPE * Alternative sinks: XInclude (parse=text and parse=xml), SVG upload, SAML envelope, SOAP envelope * Extended fetchers: XSLT document(), XSLT xsl:include, XSD schemaLocation, XSD import, xml-stylesheet PI * Cloud metadata: AWS IMDSv1 and IMDSv2 (detected separately), GCP, Azure, Alibaba, OCI, Kubernetes — 12 endpoints across 6 providers * RCE wrappers: Java jar:, PHP data://, phar://, glob://, compress.zlib:// * Office document: DOCX and XLSX xml-stylesheet PI, fetched by server-side XSLT processors * YAML deserialization: PyYAML and SnakeYAML type tags * SAML pre-signature: assertion parsed before signature verification * JSON-to-XML: content-type switching on JSON-only endpoints Beyond the standard POST with application/xml shape, the scanner probes a Content-Type matrix, HTTP method variation (PUT/PATCH), query-parameter injection, form-encoded bodies, and multipart uploads. # Out-of-band confirmation and blind exfiltration OOB uses interactsh-client in manual mode (scanner prints subdomains, operator watches the client) or auto mode (scanner spawns interactsh-client and correlates callbacks in-process by 16-hex token). For blind exfiltration, the scanner serves the DTD through one of three mechanisms: a

XXERipper: an open-source XXE scanner with differential parser fingerprinting, mandatory-signal gating, and chain-based impact analysis I am releasing XXERipper v1.0.0, an open-source XML External Entity scanner I have been working on for the past five months. # What it does XXERipper is a black-box scanner for XXE. It runs in-band, error-based, and blind out-of-band techniques, fingerprints the target's XML parser, and reports findings with CWE mappings, a confidence score, and where applicable the recovered file content and extracted credentials. The design is driven by a single problem: most XXE scanners treat "the parser accepted my DOCTYPE" as equivalent to "the external entity resolved." Those two outcomes produce similar response deltas and are difficult to distinguish without additional evidence. XXERipper requires a mandatory signal before confirming any finding. # Detection model Every candidate response is scored against a seven-sample statistical baseline (median length, IQR, p95, mode status, most-common body hash, median Shannon entropy, windowed entropy over 256-byte windows). Signals carry the following weights: +50 correlated OOB callback (token match) +40 file-content fingerprint (+5 per additional indicator) +25 chain integrity (entity resolved end-to-end) +20 parser error delta +20 timing anomaly +10 length delta >= 20% +5 status code shift Vetoes: -100 reflection (payload echoed verbatim) -75 normalized baseline match -50 byte-identical baseline body -30 soft reflection (reflection present but a strong signal too) Classification requires a mandatory signal — one of file_type, oob_correlated, or chain_integrity. Parser errors and timing anomalies contribute to score but cannot confirm a finding independently. A response scoring >=70 with only one independent evidence family is capped at HIGH rather than CRITICAL. # Parser fingerprinting Nine paired test/control probes identify the underlying XML stack across eleven signature families (libxml2, Xerces, .NET, Java SAX, Java StAX, python-etree, PHP DOM, Ruby, Node, Perl, Go). A capability is marked present only when the test probe succeeds and the control does not, which makes the result differential rather than pattern-matched. Results are cached per-URL, so repeat scans skip the probe phase. The fingerprint gates two phases (in-band file read, error-based local-DTD sweep) so a target that does not resolve entities is not sent the full payload catalogue. # Attack coverage Many technique families are used, as an example: In-band file read, PHP filter chain, PHP expect:// RCE Error-based: local DTD reuse, malformed entity Blind: DNS OOB, external DTD, parameter-entity OOB, CDATA bypass, timing-based Encoding bypass: UTF-16, UTF-7, UCS-4, alternate DOCTYPE Alternative sinks: XInclude (parse=text and parse=xml), SVG upload, SAML envelope, SOAP envelope Extended fetchers: XSLT document(), XSLT xsl:include, XSD schemaLocation, XSD import, xml-stylesheet PI Cloud metadata: AWS IMDSv1 and IMDSv2 (detected separately), GCP, Azure, Alibaba, OCI, Kubernetes — 12 endpoints across 6 providers RCE wrappers: Java jar:, PHP data://, phar://, glob://, compress.zlib:// Office document: DOCX and XLSX xml-stylesheet PI, fetched by server-side XSLT processors YAML deserialization: PyYAML and SnakeYAML type tags SAML pre-signature: assertion parsed before signature verification JSON-to-XML: content-type switching on JSON-only endpoints Beyond the standard POST with application/xml shape, the scanner probes a Content-Type matrix, HTTP method variation (PUT/PATCH), query-parameter injection, form-encoded bodies, and multipart uploads. # Out-of-band confirmation and blind exfiltration OOB uses interactsh-client in manual mode (scanner prints subdomains, operator watches the client) or auto mode (scanner spawns interactsh-client and correlates callbacks in-process by 16-hex token). For blind exfiltration, the scanner serves the DTD through one of three mechanisms: a

jevii - open-source Mac AI agent with human-like mouse and keyboard control https://github.com/shalevamin/jevii https://redd.it/1wpvnm9 @r_CoolGithubProjects

Generate Request {to: API from: Browser} https://grab.js.org https://redd.it/1wpsm0p @r_CoolGithubProjects

Generate Request to API from Browser (or Backend)📍 axios/curl killer for React https://grab.js.org https://redd.it/1wpqzfw @r_CoolGithubProjects

skill-exchange - an open registry where AI agents publish, discover, and install portable skills https://github.com/sentientbias/skill-exchange https://redd.it/1wpq3wm @r_CoolGithubProjects

Open source: black-box session recorder for any CLI agent (works with DeepSeek via OpenCode / Codex / Claude Code / custom) https://github.com/arunsoman/agentbox https://redd.it/1wpnv7f @r_CoolGithubProjects

photo content
+7

photo content
+9

IStanPdf - A Foss Offline app for PDF & DOCX Operations https://redd.it/1wplzz6 @r_CoolGithubProjects

I got tired of Zoom screen shares where only one person codes, so I built an open-source real-time collaborative workspace. https://github.com/vinyassystems/vincio https://redd.it/1wpl401 @r_CoolGithubProjects

photo content
+2

Coding agents made my line count explode, so I built a board to compare it with friends (open source, counts private repos locally) https://redd.it/1wpff74 @r_CoolGithubProjects

ShellCanvas — an open-source desktop workspace for SSH servers (Rust/Tauri) https://github.com/techartdev/ShellCanvas https://redd.it/1wpaxtu @r_CoolGithubProjects

Agent HUD Open: a macOS HUD for coding-agent sessions and local usage history https://redd.it/1wp8d5z @r_CoolGithubProjects
Agent HUD Open: a macOS HUD for coding-agent sessions and local usage history https://redd.it/1wp8d5z @r_CoolGithubProjects

photo content
+3

I built Deviload, a free yt-dlp desktop app with a timeline video editor and phone transfer (Rust + Tauri) https://redd.it/1wpb9wa @r_CoolGithubProjects

photo content
+1