posthog 7.75.2
- Source
- https://github.com/posthog/posthog-python
- Tag scanned
posthog-v7.75.2- Compared with
posthog-v7.75.1(0 signals introduced since)- Files
- 441 scanned, 284 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 10 info
- Scan time
- 10.3 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 13:44
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 OpenAI agents example evaluates a filtered arithmetic expression with eval.Reasoning
eval is applied to an expression that is first checked for invalid characters and has ^ rewritten to **. The character filter limits the risk, but eval on model-supplied input is still an injection-prone pattern in example code. It looks like a calculator tool demo rather than deliberate malice.
-
info
warn→ info by reviewdynamic-executionexamples/example-ai-openai-agents/single_agent.py:29:23return return flikely benign A single-agent calculator example evaluates a filtered arithmetic expression with eval.Reasoning
This is the same calculator tool as multi_agent.py, with the same character filter before eval. It is insecure eval use in an example, not evidence of hidden malicious behaviour.
-
= += 1likely benign Stack-walking helper in the PostHog exception utilities that reads frames via sys._getframe.Reasoning
sys._getframe in a loop with a ValueError guard is the standard way to walk the call stack when building exception frames. It is a normal diagnostic pattern in an error-reporting library.
-
) = # Encode side: our output is byte-identical to the shared wire format.dismissed A base64url test fixture encoding a session token JSON object for an encode/decode compatibility test.Reasoning
The blob is a short base64url-encoded JSON test fixture (session id, client name, version, timestamp) used to check wire-format compatibility. It is test data, not a hidden payload.
-
# zlib header =dismissed A test decompresses a captured zlib request body to assert that the API key is not leaked.Reasoning
zlib.decompress is applied to a captured mock request body in a unit test, and the test then checks that the API key is absent. This is ordinary test verification, not a runtime-embedded payload.
-
= returndismissed A test helper gunzips and parses a mocked request body for assertions.Reasoning
gzip.decompress is applied to a mocked HTTP request body in a test helper so the JSON can be inspected. This is standard test code.
-
=dismissed A request test gunzips the outgoing body and checks its contents.Reasoning
The test decompresses a gzip request body and then asserts on the batch and api_key fields. This is normal verification of the client's outgoing payload.
-
info
warn→ info by reviewdecoder-decompress-payloadposthog/test/tracing/test_client_traces.py:60:23, = return , ,dismissed A tracing test helper decompresses and parses a captured gzip POST body.Reasoning
A test helper gunzips a mock session.post body to parse the JSON for trace assertions. This is routine test code.
-
assert == assert ==dismissed A transport test decompresses the captured gzip body and compares it with the expected payload.Reasoning
The test gunzips the captured request data and compares it to the expected PAYLOAD. This is ordinary transport verification in a test.
-
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.
&&