posthog 7.73.2
- Source
- https://github.com/posthog/posthog-python
- Tag scanned
posthog-v7.73.2- Compared with
posthog-v7.73.1(0 signals introduced since)- Files
- 430 scanned, 279 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 10 info
- Scan time
- 11.7 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 9 of 9 warn and critical signals; 9 demoted to info.
- Disclude version
- 4.1.0
- Scanned (UTC)
- 2026-10-22 09:27
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
return return flikely benign A calculator tool in an example agent evaluates a filtered math expression with eval.Reasoning
The eval is preceded by a check that returns 'Error: invalid characters' for disallowed input, so the expression is filtered before evaluation. Eval of model-supplied text is still a risky pattern in an agent tool, but nothing here shows malicious intent or obfuscation.
-
info
warn→ info by reviewdynamic-executionexamples/example-ai-openai-agents/single_agent.py:29:23return return flikely benign A single-agent example calculator tool evaluates a filtered math expression with eval.Reasoning
This is the same calculator pattern as multi_agent.py, with the same character filter before eval. The risk is a poor coding practice in example code, not hidden malicious behaviour.
-
= += 1likely benign Walks stack frames to collect context for exception reporting.Reasoning
sys._getframe with a depth counter inside a try/except ValueError is the standard way to walk the stack for exception reporting. It is a legitimate SDK pattern.
-
) = # Encode side: our output is byte-identical to the shared wire format.likely benign A base64 string in a test fixture encodes a benign session-token JSON payload.Reasoning
The raw-pass base64 hit is a test fixture for a session token. It decodes to ordinary JSON with session, client and version fields, and the test compares it against a shared wire format. This is a high false-positive raw finding.
-
# zlib header =dismissed A test decompresses a captured zlib request body to verify its contents.Reasoning
In a test, zlib.decompress round-trips a captured request body to check that the api_key is absent. This is ordinary test verification, not a runtime-hidden payload.
-
= returndismissed A test helper gunzips and parses a captured request body.Reasoning
In a test helper, gzip.decompress reads the request body so its JSON can be asserted. It is test plumbing with no sign of an embedded payload.
-
=dismissed A test gunzips a request body to check its batch and api_key fields.Reasoning
The test decompresses a gzip body to assert batch contents and the api key. This is routine verification of SDK output.
-
info
warn→ info by reviewdecoder-decompress-payloadposthog/test/tracing/test_client_traces.py:60:23, = return , ,dismissed A test helper decompresses a mocked POST payload for inspection.Reasoning
A test helper gunzips a mocked POST body to inspect the payload. This is standard test code with no evidence of concealed execution.
-
assert == assert ==dismissed A transport test decompresses the request body to compare it with the expected payload.Reasoning
The test gunzips the mocked request data and compares it with the expected PAYLOAD. It is an assertion on SDK output, not a dropper.
-
class posthog.client.Client(project_api_key: str, host=None, debug=False, max_queue_size=10000, send=True, on_error=None, flush_at=100, flush_interval=5.0, gzip=False, max_retries=3, sync_mode=False, timeout=15, thread=1, poll_interval=30, personal_api_key=None, disabled=False, disable_geoip=True, is_server=True, histo
Reproduce This Scan
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
&&