Skip to content
CAI
Software that uses CAICheck a score

orhun/binsider

67.3

Adequate · 30 September 2026

3.7k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Binsider is a Rust-based command-line tool that provides a terminal user interface for analyzing ELF binaries. It enables users to inspect file metadata, symbols, sections, and strings, while supporting dynamic system call tracing. The project also includes a documentation website and serves as a library for integrating binary analysis into other applications.

How it got here

2023 — Project initialization and TUI development

5 changes.

The project was initialized with comprehensive scaffolding, including licensing, CI/CD, and documentation, while establishing a structured architecture for a terminal-based ELF binary analysis tool. Core features were implemented to parse ELF headers, symbols, and sections, supported by a reorganized TUI module for handling user input and state management.

2024 — Website launch and library integration

8 changes.

This period focused on launching the project's documentation site using Astro and Starlight, including custom UI components, dynamic GitHub stats, and theme styling. It also introduced a library usage demo example to facilitate integration and added integration tests for binary analysis.

Features

Add library usage demo example

A new demo example (examples/demo.rs) has been added to illustrate how to integrate binsider as a library. This example demonstrates initializing the analyzer, setting up the terminal UI with ratatui, and handling user input and background string extraction within a custom application loop.

examples · high confidence

Added funding manifest URL

A new \.well-known/funding-manifest-urls\ file has been added to the repository root, containing a link to \https://orhun.dev/funding.json\. This allows tools and users to discover the project's funding information via the standard \.well-known\ mechanism.

.well-known · high confidence

The website now uses custom Astro components to replace default Starlight layouts. The Header component integrates a custom Logo with light/dark mode text images, search, social icons, and theme/language selectors. The Hero component displays a responsive image slider with navigation controls and a video embed on the homepage, while providing a fallback to the default Starlight hero for other pages. The Footer component shows a custom layout with project credits and repository stats on the homepage, falling back to the default Starlight footer elsewhere. Additionally, a Head component adds Open Graph metadata and an Umami analytics script.

website/src/components · high confidence

Documentation site initialized with Astro and Starlight

The website has been scaffolded using the Astro framework and the Starlight documentation theme. This introduces a new static site structure with a custom configuration (\astro.config.mjs\) that sets up the site title, social links, and sidebar navigation. It also includes custom UI components for the head, header, hero, and footer, along with Tailwind CSS integration and specific assets like the site favicon and Apple touch icon.

website · high confidence

The website footer has been updated to dynamically display the project's GitHub star count and the latest release version. New Astro components fetch this data from the GitHub API at build time, showing the current stargazers count (formatted with a 'k+' suffix for large numbers) and the most recent tag name, alongside the repository name. This provides users with immediate visibility into the project's popularity and current version directly from the site footer.

website/src/components/Footer · high confidence

Initial website scaffolding with Astro and Tailwind CSS

The website source directory has been initialized with the Astro framework and Starlight theme, establishing the foundational structure for the project's documentation site. This includes setting up Tailwind CSS for styling, defining TypeScript environment types for Astro, and creating a JavaScript module to power a feature showcase slider that highlights Binsider's capabilities such as static/dynamic analysis, string searching, and hexdump viewing.

website/src · high confidence

Introduce structured ELF parsing and display for headers, symbols, and sections

The \src/elf\ module has been restructured to provide a unified, typed interface for inspecting ELF binaries. New wrapper structs (FileHeaders, ProgramHeaders, SectionHeaders, Symbols, DynamicSymbols, Dynamic, Relocations, Notes) implement a common \Property\ trait, enabling consistent data retrieval for the TUI and static output. This change adds support for displaying dynamic symbols with version requirements, human-readable sizes for program and section headers, and detailed parsing of ELF notes (including GNU ABI tags and Build IDs). The \Elf\ struct now aggregates all these components, allowing users to view comprehensive binary metadata including file headers, segments, sections, and relocations in a standardized format.

src/elf · high confidence

Introduce terminal-based ELF binary analysis interface

The application now provides a full terminal user interface (TUI) for analyzing ELF binaries, replacing the previous placeholder output. Users can inspect general file metadata, view extracted strings with configurable minimum lengths, browse hex dumps, and view dynamic library dependencies. The tool supports dynamic system call tracing (when the \dynamic-analysis\ feature is enabled) and allows users to specify the initial view tab and accent color via command-line arguments.

src · high confidence

Project initialization with documentation, licensing, and build tooling

The repository is initialized with comprehensive project scaffolding, including a MIT/Apache-2.0 dual license, a Code of Conduct, and a Security policy. It introduces a Nix flake for reproducible builds and a Dockerfile for containerized execution. The project also adds configuration files for Rust tooling (rustfmt, editorconfig, typos), CI/CD automation (codecov, git-cliff changelog generator), and a detailed architecture diagram to guide users and contributors.

(repo-wide) · high confidence

Architecture

Introduce structured TUI architecture with dedicated command and event handling

The \src/tui\ module has been reorganized into a structured architecture comprising \command.rs\, \event.rs\, \state.rs\, \ui.rs\, and \widgets/\. This change introduces a dedicated \Command\ enum to map keyboard and mouse inputs (such as tab navigation, scrolling, and search) into typed actions, and an \EventHandler\ to manage terminal events in a separate thread. The \State\ struct now centrally manages application state, including tab selection, input mode, and scroll indices, while the \ui\ module renders the interface using these commands. This refactoring provides a cleaner separation of concerns for input processing and UI rendering.

src/tui · high confidence

Behavioural changes

Custom website theme and styling adjustments

A new custom stylesheet has been introduced to override the default site appearance. This change updates the color palette for both light and dark modes, switches the primary font to DejaVu Sans, and adjusts the hero section layout. It also ensures demo images are responsive and visually adapted for light mode via inversion filters, while refining the styling for action buttons and keyboard shortcuts.

website/src/styles · high confidence

Test coverage

Added integration tests for binary analysis

Added new integration tests in \tests/app.rs\ that verify the application's ability to analyze its own binary executable. The tests confirm that the analyzer can initialize correctly and successfully extract debug string sections from the built binary.

tests · high confidence

Dependencies

Website initialization and Rust dependency updates

The project now includes a new documentation website built with Astro and Starlight, adding dependencies such as Astro 4.16.19, Starlight 0.25.5, and Tailwind CSS 3.4.19. In the main Rust application, dependencies have been updated to include ratatui 0.30.0, clap 4.5.56, heh 0.6.3, and lurk-cli 0.3.14, alongside the addition of new libraries like ansi-to-tui, tui-input, and lddtree to support enhanced terminal UI and binary analysis features.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 74 → 67 (-7.1)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 88 → 88 (+0.1)
  • Architecture 100 → 99 (-1.0)
  • Maturity 66 → 72 (+6.7)
  • Readiness 76 → 53 (-23.5)
  • Security 79 → 85 (+5.1)

Resolved (1)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)

New (17)

  • Documentation: contradicts the code (website/src/content/docs/installation/build-from-source.md)
  • Documentation: contradicts the code (website/src/content/docs/installation/crates-io.md)
  • Outdated: bytesize
  • Outdated: chrono
  • Outdated: clap
  • Outdated: console
  • Outdated: ratatui
  • Outdated: rust-strings
  • Outdated: serde
  • Outdated: serde_derive
  • Outdated: textwrap
  • Outdated: thiserror
  • Outdated: tui-big-text
  • Outdated: tui-input
  • Outdated: tui-popup
  • Outdated: webbrowser
  • Outdated: which

Changes since last survey

  • 1 commits — 1 feature/other, 0 fixes

By area

  • src/args.rs — 1 commit

Notable commits

  • change: feat(cli): expose dynamic analysis formatting options (#154)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

orhun/binsider was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 7f0633d1a69af15cc3be9e0533cb36dbe67eb598 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.