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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§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
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 · 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§impl PartialOrd for IntegrityProbeId
impl PartialOrd for IntegrityProbeId
Source§impl Serialize for IntegrityProbeId
impl Serialize for IntegrityProbeId
impl Copy for IntegrityProbeId
impl Eq for IntegrityProbeId
impl StructuralPartialEq for IntegrityProbeId
Auto Trait Implementations§
impl Freeze for IntegrityProbeId
impl RefUnwindSafe for IntegrityProbeId
impl Send for IntegrityProbeId
impl Sync for IntegrityProbeId
impl Unpin for IntegrityProbeId
impl UnsafeUnpin for IntegrityProbeId
impl UnwindSafe for IntegrityProbeId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.