extract-asm — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited extract-asm (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The input must be a compiled object file (.o or .obj) or assembly file (.s or .asm). If you have source code, compile it first (e.g. via CMake build or standalone clang -S).
$1 = input file (.o, .obj, .s, or .asm)$2 = function name (optional — if omitted, disassemble the entire file)Examples:
trees.c.o compress_block — single functiontrees.c.o — entire filetrees.s my_functiontrees.obj compress_block.o / .obj)Use the appropriate tool for the platform:
| Platform | Tool | Notes |
|---|---|---|
| macOS | llvm-objdump | Ships with Xcode |
| Linux | objdump | GNU binutils 2.32+ |
| Windows | llvm-objdump | Ships with VS LLVM/clang workload or standalone LLVM |
Single function ($2 provided):
| Platform | Command |
|---|---|
| macOS | llvm-objdump --disassemble-symbols=_<name> --no-show-raw-insn <file> |
| Linux | objdump --disassemble=<name> --no-show-raw-insn <file> |
| Windows | llvm-objdump --disassemble-symbols=<name> --no-show-raw-insn <file> |
Entire file ($2 omitted):
| Platform | Command |
|---|---|
| macOS | llvm-objdump -d --no-show-raw-insn <file> |
| Linux | objdump -d --no-show-raw-insn <file> |
| Windows | llvm-objdump -d --no-show-raw-insn <file> |
Windows `dumpbin` fallback — if llvm-objdump is not available:
VSPATH=$(vswhere -latest -property installationPath)
cmd.exe /c "call \"${VSPATH}\VC\Auxiliary\Build\vcvarsall.bat\" amd64 >nul 2>&1 && dumpbin /disasm <file>.obj"Then manually extract the function: find <function_name>: label, collect until the next label or summary line.
.s / .asm)Read the file directly. If $2 is provided, extract the named function:
_<function_name>:, collect until next ^_[a-zA-Z] label (excluding _Ltmp, _LCFI, _LBB prefixes).<function_name>:, collect until the next function label.. prefix), comments (#, ;, //, @), and blank linesSymbol names differ by platform — use this when passing to --disassemble-symbols or searching in .s files:
| Platform | C function foo | C++ function foo |
|---|---|---|
| macOS (Mach-O) | _foo | _Z3foov (Itanium mangled, _ prefixed) |
| Linux (ELF) | foo | _Z3foov (Itanium mangled) |
| Windows (PE/COFF) | foo | ?foo@@YAXXZ (MSVC decorated) |
| Architecture | Key details |
|---|---|
| x86-64 | offset(%reg) memory syntax. leaq (%rip) is PC-relative, not a load. |
| AArch64 | [reg, #offset] memory syntax. Loads: ldr, ldur, ldp, ldrb, ldrh, ldrsw. Stores: str, stur, stp, strb, strh. Apple Silicon compiles natively. |
| x86-64 (MSVC) | Intel syntax (dest first): mov rax, [rcx+168]. Args in rcx, rdx, r8, r9. C++ names may be decorated (?name@@...). |
build/CMakeFiles/<target>.dir/<source>.obuild/CMakeFiles/<target>.dir/<source>.objbuild/CMakeFiles/<target>.dir/<config>/<source>.obj~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.