Skip to content
Back to skills

Rust Unsafe Boundaries

ASecurity

Isolate and review unsafe Rust behind small, documented, testable boundaries with explicit invariants. Use when writing, refactoring, or reviewing unsafe code, raw pointers, unsafe functions, unsafe traits, MaybeUninit, pointer aliasing, panic safety, Miri checks, or safe abstractions over unsafe internals.

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 12, 2026
ai-agentsrustgoexpressrefactoringgitapiperformancedocumentation

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add thedixitjain/the-mega-skill-library --skill rust-unsafe-boundaries --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rust Unsafe Boundaries?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rust Unsafe Boundaries
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedixitjain-rust-unsafe-boundaries/badge)](https://www.skillsdirectory.com/skills/thedixitjain-rust-unsafe-boundaries)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rust-unsafe-boundaries
description: "Isolate and review unsafe Rust behind small, documented, testable boundaries with explicit invariants. Use when writing, refactoring, or reviewing unsafe code, raw pointers, unsafe functions, unsafe traits, MaybeUninit, pointer aliasing, panic safety, Miri checks, or safe abstractions over unsafe internals."
category: engineering-core
source_repo: hashgraph-online/awesome-codex-plugins
source_path: "plugins/LVTD-LLC/skills/skills/rust-unsafe-boundaries/SKILL.md"
source_url: https://github.com/hashgraph-online/awesome-codex-plugins/blob/HEAD/plugins/LVTD-LLC/skills/skills/rust-unsafe-boundaries/SKILL.md
---


# Rust Unsafe Boundaries

Use this skill to isolate unsafe Rust behind small, documented, testable
boundaries. Unsafe code is acceptable only when a safe API cannot express the
needed operation with acceptable correctness and performance.

## Core Workflow

1. Try the safe design first. Check standard APIs, ownership restructuring,
   iterators, synchronization primitives, and existing crates.
2. State the invariant that safe Rust cannot prove. If the invariant cannot be
   written down, do not write unsafe code yet.
3. Keep unsafe blocks tiny. Put runtime checks and setup in safe code before the
   block.
4. Add a `// SAFETY:` comment immediately before each unsafe block explaining
   why every unsafe operation inside is valid.
5. Mark a function `unsafe fn` only when callers must uphold extra conditions.
   Document those conditions in a `# Safety` section.
6. Enable or respect `unsafe_op_in_unsafe_fn`; unsafe operations inside unsafe
   functions should still be wrapped in explicit unsafe blocks.
7. Test normal behavior, boundary cases, panic paths, and drop behavior. Run
   Miri when the project supports it.

## Boundary Rules

Read `references/safety-invariants.md` before adding or approving unsafe code.

- Prefer private unsafe internals plus a safe public wrapper.
- Prefer `MaybeUninit<T>` over deprecated or ad hoc uninitialized memory
  patterns.
- Never create references from raw pointers unless validity, alignment,
  initialization, aliasing, and lifetime are all proven.
- Do not use `set_len`, pointer arithmetic, or `from_raw_parts` without proving
  capacity, initialization, and ownership.
- Make panic safety explicit when partially initialized values, manual drops, or
  length changes are involved.
- Avoid `static mut`; prefer `OnceLock`, `LazyLock`, atomics, or locked state.

## Documentation Pattern

```rust
/// # Safety
///
/// `ptr` must be non-null, aligned for `T`, initialized, and valid for reads
/// for the returned lifetime. No mutable reference may alias the same value.
pub unsafe fn read_ref<'a, T>(ptr: *const T) -> &'a T {
    // SAFETY: The caller guarantees `ptr` satisfies the documented contract.
    unsafe { &*ptr }
}
```

## Review Checklist

- Every unsafe block has a local `SAFETY` explanation.
- Every `unsafe fn` or unsafe trait has a `# Safety` contract.
- Public safe APIs cannot be used to violate internal invariants.
- Drop, panic, and early-return paths preserve initialization and ownership.
- Tests or Miri cover the dangerous edge, not only the happy path.

---

**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/LVTD-LLC/skills/skills/rust-unsafe-boundaries/SKILL.md`

Files in this skill

  • SKILL.md3.3 KB
  • agents/openai.yaml233 B
  • references/safety-invariants.md1.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.