orhun/binsider
67.3
Adequate · 30 September 2026
3.7k
lines of production code
Rust
primary language
2
measurements over time
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
Custom website components for homepage, header, and footer
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
Footer now displays live GitHub stats and latest release version
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.