Skip to main content

Crate stygian_charon

Crate stygian_charon 

Source
Expand description

stygian-charon

Defensive anti-bot diagnostics for Stygian. The crate classifies likely anti-bot providers from transaction evidence and from HTTP Archive (HAR) files.

Re-exports§

pub use acquisition::AcquisitionModeHint;
pub use acquisition::AcquisitionPolicy;
pub use acquisition::AcquisitionStartHint;
pub use acquisition::RuntimePolicyHints;
pub use acquisition::map_adapter_strategy;
pub use acquisition::map_policy_hints;
pub use acquisition::map_runtime_policy;
pub use adaptive::AdaptivePolicyError;
pub use adaptive::AdaptiveSloPolicy;
pub use adaptive::RegressionHistoryPolicy;
pub use analyzer::AnalyzerProfile;
pub use analyzer::AnalyzerVersion;
pub use analyzer::ProviderAnalyzer;
pub use backtest::BacktestCase;
pub use backtest::BacktestDisagreement;
pub use backtest::BacktestError;
pub use backtest::BacktestReport;
pub use backtest::BacktestSample;
pub use backtest::run_profile_backtest;
pub use bundle::BundleCoherenceViolation;
pub use bundle::BundleError;
pub use bundle::BundleMetadata;
pub use bundle::BundleRedactionPolicy;
pub use bundle::DiagnosticBundle;
pub use bundle::apply_redaction;
pub use bundle::build_diagnostic_bundle;
pub use bundle::build_diagnostic_bundle_with_snapshot;
pub use bundle::diagnostic_bundle_from_investigation;
pub use cache::RedisInvestigationCache;
pub use cache::InvestigationReportCache;
pub use cache::MemoryInvestigationCache;
pub use cache::investigation_cache_key;
pub use challenge_feedback::ChallengeFeedbackPolicy;
pub use challenge_feedback::ChallengeMemory;
pub use challenge_feedback::ChallengeMemoryEntry;
pub use challenge_feedback::ChallengeOutcome;
pub use challenge_feedback::MAX_RISK_DELTA;
pub use challenge_feedback::adjust_runtime_policy;
pub use challenge_feedback::build_runtime_policy_with_memory;
pub use challenge_feedback::challenge_memory_key;
pub use challenge_feedback::memory_adjustment_for;
pub use change_feed::ChangeClassification;
pub use change_feed::ChangeDeltaInput;
pub use change_feed::ChangeDetector;
pub use change_feed::ChangeEvent;
pub use change_feed::ChangeEventSink;
pub use change_feed::ChangeFeedReport;
pub use change_feed::ChangeFeedThresholds;
pub use change_feed::DeltaSeverity;
pub use change_feed::DeltaSource;
pub use change_feed::DeltaSummary;
pub use change_feed::InMemoryChangeFeedSink;
pub use change_feed::MitigationPath;
pub use change_feed::record_change_event;
pub use classifier::classify_har;
pub use classifier::classify_har_with_profile;
pub use classifier::classify_transaction;
pub use classifier::classify_transaction_with_profile;
pub use differential::ModeComparison;
pub use differential::ModeDifferentialCorpus;
pub use differential::ModeDifferentialError;
pub use differential::ModeDifferentialPairResult;
pub use differential::ModeDifferentialRunReport;
pub use differential::ModeDifferentialThresholds;
pub use differential::run_mode_differential_regression;
pub use investigation::compare_reports;
pub use investigation::infer_requirements;
pub use investigation::infer_requirements_with_target_class;
pub use investigation::investigate_har;
pub use investigation::investigate_har_with_profile;
pub use investigation::investigate_har_cached;
pub use investigation::investigate_har_cached_with_target_class;
pub use observatory::LiveObservatoryProbe;
pub use observatory::run_external_observatory_live;
pub use observatory::ObservatoryCase;
pub use observatory::ObservatoryComparison;
pub use observatory::ObservatoryError;
pub use observatory::ObservatoryEscalation;
pub use observatory::ObservatoryReport;
pub use observatory::ObservatorySample;
pub use observatory::run_external_observatory_from_hars;
pub use policy::analyze_and_plan;
pub use policy::build_runtime_policy;
pub use policy::plan_from_report;
pub use pow_profile::DEFAULT_LATENCY_BUDGET_MS;
pub use pow_profile::DEFAULT_POW_CAPACITY;
pub use pow_profile::DEFAULT_POW_TTL;
pub use pow_profile::DEFAULT_RETRY_BUDGET;
pub use pow_profile::DEFAULT_SAMPLE_WINDOW_SECS;
pub use pow_profile::MAX_POW_RISK_DELTA;
pub use pow_profile::MIN_OBSERVATIONS_FOR_SCORING;
pub use pow_profile::PowCapabilityBand;
pub use pow_profile::PowCapabilityProfile;
pub use pow_profile::PowCapabilitySample;
pub use pow_profile::PowCapabilityScore;
pub use pow_profile::PowCapabilityScorer;
pub use pow_profile::PowCapabilityStore;
pub use pow_profile::PowFailureMode;
pub use pow_profile::PowPolicyThresholds;
pub use pow_profile::ProfileWeights;
pub use pow_profile::SPARSE_FALLBACK_SCORE;
pub use pow_profile::adjust_runtime_policy_for_pow;
pub use pow_profile::band_for_score;
pub use pow_profile::pow_profile_key;
pub use pow_profile::score_from_profile;
pub use probe::ChallengeProbe;
pub use probe::ProbeCategory;
pub use probe::ProbeExpectation;
pub use probe::ProbePackReport;
pub use probe::ProbeRunResult;
pub use probe::challenge_probe_pack;
pub use probe::run_probe_pack;
pub use release_risk::ReleaseCandidateRiskSnapshot;
pub use release_risk::ReleaseRiskAssessment;
pub use release_risk::ReleaseRiskBreakdown;
pub use release_risk::ReleaseRiskInput;
pub use release_risk::ReleaseRiskLevel;
pub use release_risk::ReleaseRiskThresholds;
pub use release_risk::ReleaseRiskWeights;
pub use release_risk::ReleaseTrendDirection;
pub use release_risk::ReleaseTrendPoint;
pub use release_risk::ReleaseTrendReport;
pub use release_risk::assess_release_risk;
pub use release_risk::build_release_trend_report;
pub use release_risk::release_risk_input_from_reports;
pub use snapshot::FingerprintSignals;
pub use snapshot::NormalizedFingerprintSnapshot;
pub use snapshot::ScreenFingerprint;
pub use snapshot::SnapshotCoherenceReport;
pub use snapshot::SnapshotCoherenceViolation;
pub use snapshot::SnapshotCollectionError;
pub use snapshot::SnapshotCompatibilityError;
pub use snapshot::SnapshotDeterminismOptions;
pub use snapshot::SnapshotDriftReport;
pub use snapshot::SnapshotMode;
pub use snapshot::SnapshotSignalDrift;
pub use snapshot::SnapshotSignalDriftKind;
pub use snapshot::TlsFingerprint;
pub use snapshot::WebGlFingerprint;
pub use snapshot::collect_deterministic_snapshot_bytes;
pub use snapshot::compare_snapshot_signal_drift;
pub use snapshot::evaluate_snapshot_coherence;
pub use snapshot::normalize_snapshot_for_determinism;
pub use snapshot::validate_snapshot_compatibility;
pub use token_lifecycle::ChallengeClass;
pub use token_lifecycle::DEFAULT_NONCE_BOOK_CAPACITY;
pub use token_lifecycle::DEFAULT_NONCE_TTL;
pub use token_lifecycle::InvalidationKind;
pub use token_lifecycle::InvalidationReason;
pub use token_lifecycle::NonceBook;
pub use token_lifecycle::NonceObservation;
pub use token_lifecycle::TokenContract;
pub use token_lifecycle::TokenLifecycleError;
pub use token_lifecycle::TokenPolicy;
pub use token_lifecycle::TokenPolicyTable;
pub use token_lifecycle::TokenValidator;
pub use token_lifecycle::ValidationOutcome;
pub use token_lifecycle::builtin_token_policies;
pub use token_lifecycle::nonce_book_key;
pub use types::AdapterStrategy;
pub use types::AntiBotProvider;
pub use types::AntiBotRequirement;
pub use types::BlockedRatioSlo;
pub use types::Detection;
pub use types::ExecutionMode;
pub use types::HarClassificationReport;
pub use types::HarRequestSummary;
pub use types::HostSummary;
pub use types::IntegrationRecommendation;
pub use types::InvestigationBundle;
pub use types::InvestigationDiff;
pub use types::InvestigationReport;
pub use types::MarkerCount;
pub use types::ProviderScore;
pub use types::RequirementLevel;
pub use types::RequirementsProfile;
pub use types::RuntimePolicy;
pub use types::SessionMode;
pub use types::TargetClass;
pub use types::TelemetryLevel;
pub use types::TransactionView;
pub use vendor_classifier::DEFAULT_HIGH_CONFIDENCE_THRESHOLD;
pub use vendor_classifier::Evidence;
pub use vendor_classifier::EvidenceBundle;
pub use vendor_classifier::EvidenceSource;
pub use vendor_classifier::VendorClassification;
pub use vendor_classifier::VendorClassifier;
pub use vendor_classifier::VendorDefinition;
pub use vendor_classifier::VendorError;
pub use vendor_classifier::VendorId;
pub use vendor_classifier::VendorScore;
pub use vendor_classifier::VendorSignal;
pub use vendor_classifier::parse_vendor_definition;
pub use vendor_resolver::AppliedRule;
pub use vendor_resolver::MergeStrategy;
pub use vendor_resolver::PlaybookResolverExt;
pub use vendor_resolver::ResolutionRationale;
pub use vendor_resolver::ResolutionRule;
pub use vendor_resolver::StrategyMarker;
pub use vendor_resolver::VendorResolution;
pub use vendor_resolver::VendorResolver;
pub use vendor_resolver::VendorResolverError;
pub use vendor_resolver::VendorRuleMatch;
pub use vendor_resolver::parse_resolution_rule;

Modules§

acquisition
Mapping layer from runtime policy to acquisition strategy hints. Pure mapping from Charon policy outputs to acquisition-runner input hints.
adaptive
Adaptive SLO policy interfaces and regression-history implementation.
analyzer
Versioned analyzer interfaces and profile selection.
backtest
Historical HAR replay across analyzer profiles.
bundle
Diagnostic bundle API with redaction policy.
cache
Investigation report cache backends and cache key helpers.
challenge_feedback
Challenge-aware policy feedback loop (T83). Challenge-aware policy feedback loop (T83).
change_feed
Anti-bot change-detection feed (T88).
classifier
Provider signature classification logic.
differential
Mode differential regression runner across snapshot capture modes.
har
HAR parsing and extraction utilities.
investigation
Investigation reports and baseline/candidate diffing.
metrics
Telemetry and metrics collection (feature-gated). Telemetry and metrics collection for SLO assessment and escalation operations.
observatory
External observatory runner and comparison reports.
playbooks
Target-class playbooks as code (T85). Resolves per-target acquisition / proxy / pacing / escalation knobs with deterministic precedence. Target-class playbook schema (T85).
policy
Runtime policy planning based on investigation output.
pow_profile
Proof-of-work capability profile (T93).
probe
Challenge-style probe pack for adversarial and regression testing.
release_risk
Release risk scoring and release-candidate trend reporting.
snapshot
Normalized fingerprint snapshot schema types and compatibility checks.
token_lifecycle
Challenge-token lifecycle contracts (T91). Strict per-vendor TTL / nonce / single-use / session-binding invariants enforced before submission. Challenge-token lifecycle contracts (T91).
types
Public types for transaction and report models.
vendor_classifier
Vendor fingerprinting confidence classifier (T89). Vendor fingerprinting confidence classifier (T89).
vendor_resolver
Vendor-to-playbook auto-resolution (T90).