GitHub
07/02/2026, 8:16 AMosctrl-tls endpoints with raw HTTP and dumping full request/response details.
What Changed
• Added tools/debug_tls_endpoints.py
• Added tools/test_debug_tls_endpoints.py
Behavior
• Supports enroll, config, log, read, write, and all
• Can read endpoint, host, and CA settings from osquery.flags
• Can use osquery.secret for enroll when needed
• Defaults to node_key + identifier for testing existing node flows without enrolling a new node
• Dumps raw request URL, headers, JSON body, response status, headers, and body
• Uses Python stdlib only, so no extra dependency install is needed
Why
Debugging TLS/osquery behavior was awkward and usually required either a real node enrollment or hand-building curl payloads. This gives us one small tool for replaying the same endpoint shapes the backend expects.
Validation
python3 -m unittest tools/test_debug_tls_endpoints.py
python3 tools/debug_tls
jmpsec/osctrlGitHub
07/02/2026, 8:23 AM