Skip to main content

Rule

Trait Rule 

Source
pub trait Rule: Send + Sync {
    // Required methods
    fn metadata(&self) -> &RuleMetadata;
    fn evaluate(
        &self,
        package: &MirPackage,
        inter_analysis: Option<&InterProceduralAnalysis>,
    ) -> Vec<Finding>;

    // Provided method
    fn cache_key(&self) -> String { ... }
}

Required Methods§

Source

fn metadata(&self) -> &RuleMetadata

Source

fn evaluate( &self, package: &MirPackage, inter_analysis: Option<&InterProceduralAnalysis>, ) -> Vec<Finding>

Evaluate this rule against a MIR package.

The optional inter_analysis parameter provides shared interprocedural analysis (call graph, function summaries) for rules that need cross-function taint tracking. Rules that don’t need it should ignore the parameter.

Provided Methods§

Source

fn cache_key(&self) -> String

Implementors§

Source§

impl Rule for AwaitSpanGuardRule

Source§

impl Rule for TemplateInjectionRule

Source§

impl Rule for UnsafeSendAcrossAsyncBoundaryRule

Source§

impl Rule for InsecureBinaryDeserializationRule

Source§

impl Rule for IntegerOverflowRule

Source§

impl Rule for RegexBacktrackingDosRule

Source§

impl Rule for UncontrolledAllocationSizeRule

Source§

impl Rule for DanglingPointerUseAfterFreeRule

Source§

impl Rule for CommentedOutCodeRule

Source§

impl Rule for CrateWideAllowRule

Source§

impl Rule for DeadStoreArrayRule

Source§

impl Rule for LocalRefCellRule

Source§

impl Rule for MisorderedAssertEqRule

Source§

impl Rule for OverscopedAllowRule

Source§

impl Rule for TryIoResultRule

Source§

impl Rule for UnnecessaryBorrowMutRule

Source§

impl Rule for UnwrapInHotPathRule

Source§

impl Rule for AsyncDropCorrectnessRule

Source§

impl Rule for AsyncSignalUnsafeInHandlerRule

Source§

impl Rule for BlockingOpsInAsyncRule

Source§

impl Rule for BlockingSleepInAsyncRule

Source§

impl Rule for BroadcastUnsyncPayloadRule

Source§

impl Rule for ClosureEscapingRefsRule

Source§

impl Rule for ExecutorStarvationRule

Source§

impl Rule for MissingSyncBoundOnCloneRule

Source§

impl Rule for MutexGuardAcrossAwaitRule

Source§

impl Rule for NonCancellationSafeSelectRule

Source§

impl Rule for NonThreadSafeTestRule

Source§

impl Rule for OnceCellTocTouRule

Source§

impl Rule for OneshotRaceAfterCloseRule

Source§

impl Rule for PanicInDropImplRule

Source§

impl Rule for PanicInDropRule

Source§

impl Rule for PanicWhileHoldingLockRule

Source§

impl Rule for PinContractViolationRule

Source§

impl Rule for SpawnedTaskPanicRule

Source§

impl Rule for UnderscoreLockGuardRule

Source§

impl Rule for UnsafeSendSyncBoundsRule

Source§

impl Rule for UnwrapInPollRule

Source§

impl Rule for HardcodedCryptoKeyRule

Source§

impl Rule for InsecureMd5Rule

Source§

impl Rule for InsecureSha1Rule

Source§

impl Rule for ModuloBiasRandomRule

Source§

impl Rule for PredictableRandomnessRule

Source§

impl Rule for TimingAttackRule

Source§

impl Rule for WeakCipherRule

Source§

impl Rule for WeakHashingExtendedRule

Source§

impl Rule for AllocatorMismatchFfiRule

Source§

impl Rule for CtorDtorStdApiRule

Source§

impl Rule for EmbeddedInterpreterUsageRule

Source§

impl Rule for FfiBufferLeakRule

Source§

impl Rule for PackedFieldReferenceRule

Source§

impl Rule for PanicInFfiBoundaryRule

Source§

impl Rule for UnsafeCStringPointerRule

Source§

impl Rule for UnsafeFfiPointerReturnRule

Source§

impl Rule for WasmCapabilityLeakRule

Source§

impl Rule for WasmHostFunctionTrustRule

Source§

impl Rule for WasmLinearMemoryOobRule

Source§

impl Rule for CommandArgConcatenationRule

Source§

impl Rule for CommandInjectionRiskRule

Source§

impl Rule for InterProceduralCommandInjectionRule

Source§

impl Rule for LogInjectionRule

Source§

impl Rule for PathTraversalRule

Source§

impl Rule for RegexInjectionRule

Source§

impl Rule for SqlInjectionRule

Source§

impl Rule for SsrfRule

Source§

impl Rule for UncheckedIndexRule

Source§

impl Rule for UntrustedEnvInputRule

Source§

impl Rule for CleartextEnvVarRule

Source§

impl Rule for DivisionByUntrustedRule

Source§

impl Rule for EnvVarLiteralRule

Source§

impl Rule for InfiniteIteratorRule

Source§

impl Rule for InsecureJsonTomlDeserializationRule

Source§

impl Rule for InsecureYamlDeserializationRule

Source§

impl Rule for InvisibleUnicodeRule

Source§

impl Rule for SerdeLengthMismatchRule

Source§

impl Rule for UnboundedReadRule

Source§

impl Rule for UncheckedTimestampMultiplicationRule

Source§

impl Rule for UntrimmedStdinRule

Source§

impl Rule for BoxIntoRawRule

Source§

impl Rule for LazyInitPanicPoisonRule

Source§

impl Rule for LengthTruncationCastRule

Source§

impl Rule for MaybeUninitAssumeInitDataflowRule

Source§

impl Rule for MaybeUninitAssumeInitRule

Source§

impl Rule for MemForgetGuardRule

Source§

impl Rule for MemUninitZeroedRule

Source§

impl Rule for NonNullNewUncheckedRule

Source§

impl Rule for NullPointerTransmuteRule

Source§

impl Rule for RawPointerEscapeRule

Source§

impl Rule for ReturnedRefToLocalRule

Source§

impl Rule for SelfReferentialStructRule

Source§

impl Rule for SliceElementSizeMismatchRule

Source§

impl Rule for SliceFromRawPartsRule

Source§

impl Rule for StaticMutGlobalRule

Source§

impl Rule for TransmuteLifetimeChangeRule

Source§

impl Rule for TransmuteRule

Source§

impl Rule for UnsafeCellAliasingRule

Source§

impl Rule for UnsafeUsageRule

Source§

impl Rule for VarianceTransmuteUnsoundRule

Source§

impl Rule for VecSetLenMisuseRule

Source§

impl Rule for VecSetLenRule

Source§

impl Rule for ZSTPointerArithmeticRule

Source§

impl Rule for AbsolutePathInJoinRule

Source§

impl Rule for BuildScriptNetworkRule

Source§

impl Rule for HardcodedHomePathRule

Source§

impl Rule for OpenOptionsInconsistentFlagsRule

Source§

impl Rule for OpenOptionsMissingTruncateRule

Source§

impl Rule for PermissionsSetReadonlyFalseRule

Source§

impl Rule for SpawnedChildNoWaitRule

Source§

impl Rule for UnboundedAllocationRule

Source§

impl Rule for UnixPermissionsNotOctalRule

Source§

impl Rule for WorldWritableModeRule

Source§

impl Rule for CargoAuditableMetadataRule

Source§

impl Rule for ProcMacroSideEffectsRule

Source§

impl Rule for RustsecUnsoundDependencyRule

Source§

impl Rule for YankedCrateRule

Source§

impl Rule for AwsS3UnscopedAccessRule

Source§

impl Rule for CleartextLoggingRule

Source§

impl Rule for ConnectionStringPasswordRule

Source§

impl Rule for ContentLengthAllocationRule

Source§

impl Rule for CookieSecureAttributeRule

Source§

impl Rule for CorsWildcardRule

Source§

impl Rule for DangerAcceptInvalidCertRule

Source§

impl Rule for NonHttpsUrlRule

Source§

impl Rule for OpensslVerifyNoneRule

Source§

impl Rule for PasswordFieldMaskingRule

Source§

impl Rule for TlsVerificationDisabledRule