Unsafe block usage requires manual audit

ID

rust.unsafe_code.unsafe_block_usage

Severity

low

Resource

Unsafe Code

Language

Rust

Description

Unsafe block detected. Unsafe code bypasses Rust’s memory safety guarantees and requires careful manual auditing. Verify that: (1) raw pointer operations are valid, (2) memory is properly allocated/deallocated, (3) data races are prevented, (4) type invariants are maintained. Consider using safe abstractions where possible.

Rationale

Unsafe block detected. Unsafe code bypasses Rust’s memory safety guarantees and requires careful manual auditing. Verify that: (1) raw pointer operations are valid, (2) memory is properly allocated/deallocated, (3) data races are prevented, (4) type invariants are maintained. Consider using safe abstractions where possible.

The following code illustrates a vulnerable pattern detected by this rule:

fn bad_unsafe_raw_pointer() {
    // VULNERABLE: Unsafe block usage requires manual audit
    let x = 5;
    let raw = &x as *const i32;
    unsafe {
        println!("raw pointer value: {}", *raw);
    }
}

Remediation

Follow secure coding practices and review the references below for detailed remediation guidance.

Configuration

This detector does not need any configuration.