pub enum IntegrityProbeId {
WebDriverDescriptorNative,
FunctionToStringNative,
ErrorToStringNative,
IntlDateTimeFormatNative,
RegExpTestNative,
CanvasGetImageDataNative,
PerformanceNowResolution,
ProxyTrapObservable,
}Expand description
Stable identifier for a built-in integrity probe.
New variants are additive — existing variants keep their
discriminant and serde label across releases so consumers can
safely branch on the wire format.
Variants§
WebDriverDescriptorNative
Object.getOwnPropertyDescriptor(Navigator.prototype, "webdriver")
must be an accessor (getter), not a data property. Patched
stealth implementations frequently redefine webdriver as a
data property.
FunctionToStringNative
Function.prototype.toString applied to a known native
method must report [native code]. Patched natives that
override toString without preserving the native code
marker leak patch source.
ErrorToStringNative
(function(){}).toString() must report function anonymous() { [native code] } — a clean function literal must look native.
Patched frames occasionally return the wrapped function body
instead of [native code].
IntlDateTimeFormatNative
Intl.DateTimeFormat.prototype.format.toString() must
contain [native code].
RegExpTestNative
RegExp.prototype.test.toString() must contain [native code].
CanvasGetImageDataNative
CanvasRenderingContext2D.prototype.getImageData.toString()
must contain [native code].
PerformanceNowResolution
performance.now() resolution should be plausibly
microsecond-scale and not quantized (e.g. values forced to
0.1 ms ticks).
ProxyTrapObservable
new Proxy({}, { ownKeys: () => [] }) must report no own
keys — patched natives that trap [[OwnPropertyKeys]]
through a Proxy leak the trap to detection scripts.
Implementations§
Trait Implementations§
Source§impl Clone for IntegrityProbeId
impl Clone for IntegrityProbeId
Source§fn clone(&self) -> IntegrityProbeId
fn clone(&self) -> IntegrityProbeId
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for IntegrityProbeId
Source§impl Debug for IntegrityProbeId
impl Debug for IntegrityProbeId
Source§impl<'de> Deserialize<'de> for IntegrityProbeId
impl<'de> Deserialize<'de> for IntegrityProbeId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for IntegrityProbeId
impl Display for IntegrityProbeId
impl Eq for IntegrityProbeId
Source§impl Hash for IntegrityProbeId
impl Hash for IntegrityProbeId
Source§impl Ord for IntegrityProbeId
impl Ord for IntegrityProbeId
Source§fn cmp(&self, other: &IntegrityProbeId) -> Ordering
fn cmp(&self, other: &IntegrityProbeId) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for IntegrityProbeId
impl PartialEq for IntegrityProbeId
Source§fn eq(&self, other: &IntegrityProbeId) -> bool
fn eq(&self, other: &IntegrityProbeId) -> bool
self and other values to be equal, and is used by ==.