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).