trace_property_access
Trace DOM property accesses at C++ engine level to detect browser fingerprinting and guide environment emulation patching.
Instructions
Engine-level DOM property access tracing (JSVMP-undetectable).
Traces which DOM properties (navigator, screen, window, canvas, webgl, etc.) are accessed by page JavaScript including JSVMP bytecode interpreters. Operates at the C++ SpiderMonkey engine level — completely invisible to JS.
Requires camoufox-reverse custom browser launched with enable_trace=True. Falls back to compare_env when using official Camoufox.
Args: duration: Trace duration in seconds (default 10). Set to 0 to read existing trace data from browser startup (useful when you want to capture navigate() events). mode: Aggregation view type: - "summary" (default): Property access frequency ranking. Best for deciding which properties to patch in env emulation. - "timeline": Time-bucketed view showing when properties are first accessed. - "sequence": Raw event sequence with timestamps. - "search": Same as sequence but filtered by search_query. filter_object: Only include events from this object (e.g. "navigator"). search_query: Only include events matching this string in property/value. limit: Max events for sequence/search mode (default 1000). bucket_ms: Bucket size for timeline mode (default 500ms). collect_values: If True, after trace completes, use evaluate_js to read real values of all traced properties from the browser. Large values (Canvas dataURL, WebGL params etc.) are saved to files under ~/.cache/camoufox-reverse/values/ and returned as file paths.
Returns: summary mode: {mode, duration_s, total_events, unique_properties, by_property, by_object} If collect_values=True, adds "values" dict: {property_path: value_or_filepath} timeline mode: {mode, duration_s, bucket_ms, buckets} sequence mode: {mode, total_events, returned, truncated, events}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| duration | No | ||
| mode | No | summary | |
| filter_object | No | ||
| search_query | No | ||
| limit | No | ||
| bucket_ms | No | ||
| collect_values | No |