Skip to content

Rust Rules

Unfault includes 45 rules for Rust, covering memory safety, async patterns, and popular frameworks like Axum, Tokio, and SQLx.

RuleDimensionSeverity
unsafe_unwrapStabilityHigh
blocking_in_asyncPerformanceHigh
panic_in_libraryStabilityHigh
ignored_resultCorrectnessMedium
unbounded_channelScalabilityMedium
sql_injectionSecurityCritical
hardcoded_secretsSecurityCritical
clone_in_loopPerformanceMedium
missing_tracingObservabilityLow
halstead_complexityMaintainabilityLow
arc_mutex_contentionPerformanceHigh
circuit_breakerStabilityMedium
cpu_in_asyncPerformanceHigh
ephemeral_filesystem_writeStabilityMedium
error_result_unusedCorrectnessMedium
global_mutable_stateCorrectnessHigh
grpc_no_deadlineStabilityHigh
idempotency_keyCorrectnessMedium
io_in_hot_pathPerformanceMedium
large_response_memoryScalabilityHigh
missing_async_timeoutStabilityHigh
missing_correlation_idObservabilityMedium
missing_select_timeoutStabilityHigh
missing_structured_loggingObservabilityLow
n_plus_onePerformanceHigh
naive_datetimeCorrectnessMedium
println_in_libMaintainabilityLow
regex_compilePerformanceLow
spawn_no_error_handlingStabilityHigh
sync_dns_lookupPerformanceMedium
unbounded_cacheScalabilityHigh
unbounded_concurrencyScalabilityHigh
unbounded_memoryScalabilityHigh
unbounded_recursionStabilityHigh
unbounded_retryStabilityHigh
uncancelled_tasksStabilityMedium
unsafe_block_unauditedSecurityHigh
RuleDimensionSeverity
missing_corsSecurityMedium
missing_timeoutStabilityMedium
missing_error_handlerStabilityMedium
RuleDimensionSeverity
missing_graceful_shutdownStabilityHigh
missing_runtime_configScalabilityMedium
RuleDimensionSeverity
missing_pool_timeoutStabilityMedium
missing_transactionCorrectnessMedium
query_without_timeoutStabilityHigh