Skip to content
View cybrdude's full-sized avatar
💭
Locked In
💭
Locked In

Block or report cybrdude

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cybrdude/README.md

Typing SVG


RESEARCH FOCUS

Agentic AI Security  ·  Authorization Boundaries  ·  Attack Surface Management  ·  Service Mesh Security  ·  ML Runtime Security  ·  Coordinated Vulnerability Disclosure


OPERATOR PROFILE

AI incident manager, cybersecurity practitioner, independent vulnerability researcher, and open-source security tooling contributor.

Current research centers on trust boundaries in multi-agent AI systems; how autonomous agents, service identities, and humans are distinguished (or fail to be distinguished) by the authorization models that gate consequential actions.

Founder of NetGuard 24/7 LLC  ·  coordinated disclosure, cybersecurity tooling, threat intelligence.


COORDINATED DISCLOSURES

Upstream remediations where I authored or co-authored the patch, the advisory, or both.

Finding Project Status Disposition
ADK A2A human-in-the-loop confused deputy · CWE-346 google/adk-python 🟡 Merged · reverted · successors in review PR #6462 · 9e9eaa6 · revert 9a32eba · #7569 · PR #7134 · PR #7572
Envoy jwt_authn authentication bypass · CWE-287 envoyproxy/envoy ✅ Merged PR #43630 · 6d005fe
Envoy geoip client-supplied geolocation header passthrough · CWE-345 envoyproxy/envoy ✅ Merged #48362 · PR #48363 · 4a0a639
TFLite uint64 external-offset overflow · CWE-190 tensorflow/tensorflow · google-ai-edge/LiteRT ✅ Merged · verifier tests in review #116632 · PR #116631 · PR #123123 · 0cc39b9 · LiteRT PR #10506 · PR #10223
flatbuffer_utils out-of-range Buffer offset/size google-ai-edge/LiteRT 🟡 Approved · awaiting merge PR #7028
CERT/CC VU#692236 · multi-vendor coordination React ecosystem 🟡 Coordinated reactghost.com
Firebase Resize Images: declared-type gate reaches unsupported image decoders · CWE-20 / CWE-1395 firebase/extensions 🟡 Reported · fix in review #3246 · PR #3247

Featured: Google ADK human-in-the-loop bypass over A2A. Identified and authored the fix for a trust-boundary failure in Google's Agent Development Kit, where a tool confirmation arriving over the Agent-to-Agent protocol could satisfy the human-approval gate gating confirmation-protected tools. The confirmation check keyed on the protocol message role (role="user") rather than on message provenance, so a remote agent could effectively self-approve actions that were designed to require a person. Reported through Google's VRP; public issue #6461, fix merged to main as 9e9eaa6. The patch rejects A2A-originated tool confirmations so machine provenance is preserved across the boundary. That first fix was reverted on Aug 20, 2026 (9a32eba) after it blocked legitimate confirmations; the successor, PR #7134, replaces the channel heuristic with a CallerPrincipal carried on the invocation context: the serving layer records whether it authenticated the caller, and the confirmation processor refuses an approval that lacks verified human provenance, with strict mode behind the feature registry. It is rebased on current main and in review, tracked in #7569; PR #7572 extends the same principal to the ADK API server's /run and /run_sse routes, where a deployment's own authentication can record the caller and an unauthenticated request can no longer stand in for the operator.

Protocol role ≠ security principal ≠ human authority. As agentic systems mature, authorization models have to treat autonomous agents as distinct actors and read the absence of verified human provenance as denial, not consent.

Featured: Envoy jwt_authn confused-deputy fix. Authored the fix for an authorization-boundary failure in Envoy's JWT filter where extract_only_without_validation paired with claim_to_headers produced HTTP headers indistinguishable from cryptographically validated ones, letting a forged alg:none token satisfy downstream RBAC. Reported through Envoy's private security advisory process (GHSA-gr4r-79wp-5w3x, reporter credit accepted); the public PR added a verification_status_header field with runtime-guarded staged rollout. Merged into main on May 4, 2026 as commit 6d005fe.

Featured: Envoy geoip header sanitization. The HTTP geoip filter wrote a geolocation header only when the provider had a value for it and never removed one, so a client-supplied x-geo-country or x-geo-anon-vpn reached the upstream unchanged whenever the lookup had nothing to say: an address absent from the database, a lookup error, or a request whose lookup was skipped. Downstream RBAC, ext_authz or application logic could not tell such a header from one Envoy set. The fix adds an additive Driver::geoHeaderNames() to the provider interface, has the MaxMind provider report its configured keys, and removes them at the start of decodeHeaders before any path that returns without a lookup, behind envoy.reloadable_features.geoip_sanitize_geo_headers. Public issue #48362; merged into main on Oct 16, 2026 as commit 4a0a639.


UPSTREAM SECURITY WORK IN REVIEW

Active coordinated-disclosure patches submitted upstream to Google and OSS projects. States current as of October 2026.

Contribution Project State Reference
tflite::Verify() regression tests for the uint64 external-offset wrap google-ai-edge/LiteRT In review PR #10223
ADK CallerPrincipal gate for human-in-the-loop confirmations google/adk-python In review PR #7134
ADK API server records a CallerPrincipal on /run and /run_sse google/adk-python In review PR #7572
PayPal REST API secret detector + OAuth2 validator google/osv-scalibr Approved · awaiting merge PR #1815
Genkit reflection-v2 dev server: CSRF gate for state-changing endpoints, WebSocket binding hardening firebase/genkit In review PR #5803
Resize Images extension: sharp ^0.35.5 and a libvips loader allowlist matching the supported content types firebase/extensions In review PR #3247

Additional memory-safety and path-traversal disclosures in TensorFlow, LiteRT, and MediaPipe are under vendor review.


OPEN-SOURCE TOOLING

Project Description Stack
CitrixScan Citrix NetScaler ADC/Gateway security scanner. 25 CVEs, 10 fingerprint vectors, GZIP timestamp analysis, IoC detection. Python
cve-2026-1731-scanner Passive scanner for CVE-2026-1731 (BeyondTrust Remote Support / PRA pre-auth RCE). Defensive and educational use. Python
ADK caller-principal gate Upstream contribution: CallerPrincipal on the invocation context, populated at the A2A edge, so confirmation-protected tools refuse approvals without verified human provenance. Python
TFLite interpreter fuzz target Upstream contribution, merged Oct 2026: FuzzTest harness for model load, interpreter build and invoke, plus overflow-safe external-offset bounds checks and regression tests in interpreter_builder.cc. C++
Envoy jwt_authn patch Upstream contribution: verification_status_header field, runtime guard, RBAC integration example, security-considerations docs. C++
Envoy geoip patch Upstream contribution, merged Oct 2026: Driver::geoHeaderNames() on the geolocation provider interface, header removal before the lookup, runtime guard, unit and integration tests against the MaxMind test databases. C++

GITHUB TELEMETRY


CONNECT

Cybersecurity Research · Threat Intelligence · Coordinated Disclosure

Pinned Loading

  1. cve-2026-1731-scanner cve-2026-1731-scanner Public

    Passive vulnerability scanner for CVE-2026-1731 — BeyondTrust RS/PRA pre-auth RCE (CVSS 9.9). Educational & defensive use only.

    Python 4

  2. citrixscan citrixscan Public

    Full-scope external security scanner for Citrix NetScaler ADC/Gateway - 25 CVEs, 10 fingerprint vectors, IoC detection

    Python 8 4