Skip to main content

WebAssessmentRuntimeBuilder

Struct WebAssessmentRuntimeBuilder 

Source
pub struct WebAssessmentRuntimeBuilder { /* private fields */ }
Expand description

Builder for one bounded exact-origin assessment.

Implementations§

Source§

impl WebAssessmentRuntimeBuilder

Source

pub fn new(target: Url) -> Self

Source

pub fn limits(self, limits: WebAssessmentLimits) -> Self

Source

pub fn http_policy(self, policy: HttpEvidencePolicy) -> Self

Source

pub fn cancellation_token(self, cancellation: CancellationToken) -> Self

Source

pub fn enable_defense_enforcement(self) -> Self

Explicitly enables monotonic defense suppression. Default is observation-only.

Source

pub fn enable_low_risk_differential_review(self) -> Self

Enables the closed, low-risk matched review catalog after discovery.

The default assessment remains discovery/passive only. Enabling this option cannot widen origin authority or create another request budget; every review leg is composed through the assessment’s shared broker.

Source

pub fn enable_secret_exposure_review(self) -> Self

Enables bounded, value-free inspection of already acquired anonymous ordinary GET response bodies. This option schedules no request of its own and does not widen the assessment target or action plan.

Source

pub fn enable_tls_observation(self) -> Self

Enables passive observation of TLS already negotiated by the existing assessment transport. This schedules no request or handshake of its own.

Source

pub fn enable_tls_negotiation_review(self) -> Self

Enables the fixed, bounded TLS 1.3/TLS 1.2 negotiation matrix.

This child connects only to the selected HTTPS host/SNI/port, sends no HTTP or application data, and shares the assessment’s parent limits.

Source

pub fn enable_normalization_resilience(self) -> Self

Explicitly enables the bounded normalization-resilience child review.

This policy is separate from the stable scan-profile wire contract. It can consume only an already-committed, candidate-specific defensive transition from an enabled structural review and shares that review’s exact-origin broker, cancellation token, and runtime budget.

Source

pub fn enable_template_evaluation_review(self) -> Self

Explicitly enables two independently replayed harmless Jinja-compatible expression pairs inside the established root review.

The four legs reuse the root runtime’s bootstrap, exact-origin broker, parent budget, cancellation token, and evidence commit. They do not identify a template implementation or authorize operating-system interaction.

Source

pub fn enable_graphql_review(self) -> Self

Explicitly enables one bounded, anonymous GraphQL surface review.

The child is separate from the stable scan-profile wire contract. It uses only scanner-owned POST bodies, the existing exact-origin broker, and the assessment’s shared request and active-verification budget.

Source

pub fn enable_openapi_review(self) -> Self

Explicitly enables one exact-origin OpenAPI JSON document/replay review.

Source

pub fn enable_rest_review(self) -> Self

Explicitly enables one OpenAPI-constrained anonymous REST GET/replay.

Build rejects this option unless OpenAPI review is enabled for the same assessment. Catalog knowledge constrains selection but grants no independent transport authority.

Source

pub fn with_ssrf_oast_review( self, policy: SsrfOastReviewPolicy, administrator: SsrfOastAdminToken, ) -> Self

Enables one explicitly authorized query-only OAST correlation review.

Source

pub fn with_xml_external_entity_review( self, policy: XmlExternalEntityReviewPolicy, administrator: XmlExternalEntityAdminToken, ) -> Self

Enables one controlled XML external-entity interaction review.

The move-only administrator credential and strict policy are consumed by this assessment. The child can dispatch only the fixed three-body plan through the parent exact-origin broker and one-shot native provider.

Source

pub fn with_supplied_session_review<C>( self, policy: SuppliedSessionPolicy, input: C, ) -> Self

Enables one bounded, explicitly supplied credential session child.

The non-secret policy and move-only credential are consumed by the assessment. Construction still rejects an application mismatch or unprotected non-loopback transport before any credentialed dispatch.

Source

pub fn with_wordpress_review(self, inputs: WordPressReviewInputs) -> Self

Enables transport-free WordPress interpretation over the already observed root response and validated local declarations.

Source

pub fn with_wordpress_discovery(self) -> Self

Explicitly enables bounded public WordPress metadata discovery.

Build rejects this selection unless WordPress review is also enabled. Every request uses the assessment’s existing exact-origin broker, cancellation token, deadline, and global request/response accounting.

Source

pub fn with_wordpress_page_scope(self, scope: WordPressPageScope) -> Self

Extends WordPress metadata discovery across a bounded set of eligible first-hop page representations while preserving the entry-only default.

Source

pub fn with_wordpress_supplied_session(self) -> Self

Allows committed supplied-session HTML resources to nominate WordPress metadata under the immutable entry-selected layout.

This integration remains opt-in and metadata dispatch stays anonymous.

Source

pub fn with_recon_ct_provider(self, policy: ReconCtProviderPolicy) -> Self

Adds one explicit, bounded Cert Spotter provider query child.

The policy grants only the fixed provider operation. Returned names do not enter target planning, and every provider dispatch shares this assessment’s request, byte, deadline, and cancellation authority.

Source

pub fn with_websocket_review(self, policy: WebSocketReviewPolicy) -> Self

Adds one explicitly declared anonymous WebSocket exchange.

The policy remains a narrowing child of the selected application. It owns no credentials, endpoint discovery, retry, reconnect, or second assessment and is re-bound to the exact root again during build and one-shot authority minting.

Source

pub fn with_websocket_supplied_session(self) -> Self

Binds the selected WebSocket handshake to the one supplied V1 Authorization session. Build requires both policies, exactly one protected session resource, and rejects competing WordPress ownership.

Source

pub fn with_resource_authorization_review( self, policy: AuthorizationReviewPolicy, principals: AuthorizationPrincipalPair, ) -> Self

Adds one explicitly selected, four-view resource authorization review.

The policy and move-only principals are consumed by this builder. The child remains part of this assessment’s exact-origin authority and cannot create a separately finalized report.

Source

pub fn with_jwt_target_acceptance_review( self, policy: JwtTargetAcceptancePolicy, runtime_input: JwtTargetAcceptanceRuntimeInput, ) -> Self

Adds one explicitly selected, bounded valid/anonymous/invalid JWT target-acceptance review.

The policy, optional locally proven token pair, and typed local ineligibility reason are consumed by this assessment. Build rechecks exact application and protected transport before any token can reach the broker.

Source

pub fn with_root_authorization_context( self, context: WebAssessmentRootAuthorizationContext, ) -> Self

Adds one anonymous/authorized JSON comparison for the exact origin root.

The context is consumed during build and can neither be cloned nor serialized. Both requests share the assessment’s broker, cancellation, deadline, and global budget.

Source

pub fn build(self) -> Result<WebAssessmentRuntime, WebAssessmentRuntimeError>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more