# Install keystone with Homebrew, apk, apt, MacPorts, Nix, pacman

Assembler framework: Core + bindings. Version 0.9.2 via Homebrew; verified 2026-05-15.

## Install

```sh
sudo av install brew:keystone
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install keystone
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install keystone
```

  Evidence: MacPorts ports tree: devel/keystone/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add keystone
```

  Evidence: Alpine Linux edge package indexes: keystone from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install keystone
```

  Evidence: Debian stable package indexes: keystone from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#keystone
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ke/keystone/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S keystone
```

  Evidence: Arch Linux sync databases: keystone from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:keystone
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/keystone>
- **Version:** 0.9.2
- **Source summary:** Assembler framework: Core + bindings
- **Homepage:** <https://github.com/keystone-engine/keystone>
- **Repository:** <https://github.com/keystone-engine/keystone>
- **Upstream docs:** <https://github.com/keystone-engine/keystone#readme>
- **License:** GPL-2.0-only
- **Source archive:** <https://github.com/keystone-engine/keystone/archive/refs/tags/0.9.2.tar.gz>
- **Last updated:** 2026-05-15T08:40:30-04:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- kstool (cli)
- kstool (alias)

## Build dependencies

- cmake
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.9.2
- Package-manager updated: 2026-05-15
- Local data: ok
- Upstream repository: https://github.com/keystone-engine/keystone
- Upstream latest detected: 0.9.2 (current)
## Project history and usage

Keystone Engine is a multi-architecture assembler framework created for reverse-engineering, binary instrumentation, exploit-development, and dynamic-code-generation tooling. It is commonly discussed alongside Capstone, its disassembler sibling, because Keystone fills the assembler side of the same multi-architecture tooling space.

### Project history

Keystone's own changelog records version 0.9 as the initial public release on May 31, 2016. The project describes itself as a lightweight, multi-platform, multi-architecture assembler framework implemented in C/C++, based on LLVM, and exposing bindings for many languages.

The 0.9.1 release on July 27, 2016 added Haskell and OCaml bindings and improved kstool and architecture support. The 0.9.2 release on June 21, 2020 focused on Python packaging, while the 0.9.2 release-candidate notes list Ethereum VM support, more language bindings, Android cross-compilation improvements, and assembly-behavior fixes across X86, Arm, Arm64, Mips, and PowerPC.

### Adoption history

Keystone gained adoption in reverse-engineering culture because it offered a reusable assembler library rather than a single command-line assembler. The repository documents language bindings for Java, Masm, C#, PowerShell, Perl, Python, NodeJS, Ruby, Go, Rust, Haskell, VB6, and OCaml, which made the engine usable from scripting environments and binary-analysis frameworks.

Package-manager coverage in this batch includes Homebrew, Debian, Ubuntu, Arch, MacPorts, Nix, and Alpine, indicating that Keystone moved beyond its upstream source tree into the normal packaging channels used by security researchers and systems developers.

### How it is used

The CLI entry point packaged by Homebrew is kstool, while the main value of Keystone is the library API: programs call the engine to turn architecture-specific assembly text into machine-code bytes. Its multi-architecture scope makes it useful for tests, shellcode generation, binary rewriting, and educational tooling.

### Why package nerds care

Keystone matters to package nerds because it is infrastructure for other tooling: a small command in a package manager represents a large cross-platform assembly engine, LLVM-derived internals, and a bundle of language bindings. It is also a good example of reverse-engineering tools becoming ordinary installable packages across Unix-like distributions.

### Timeline

- 2016-05-31: Keystone 0.9 initial public release.
- 2016-07-27: Keystone 0.9.1 added kstool improvements and Haskell and OCaml bindings.
- 2020-06-13: Keystone 0.9.2-rc1 added Ethereum VM support and additional bindings.
- 2020-06-21: Keystone 0.9.2 fixed Python binding packaging.

### Related projects

- Capstone is the closely related disassembly framework from the same broader tooling ecosystem. LLVM provides the machine-code infrastructure on which Keystone is based.

### Sources

- <https://formulae.brew.sh/formula/keystone>
- <https://github.com/keystone-engine/keystone>
- <https://raw.githubusercontent.com/keystone-engine/keystone/master/ChangeLog>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** keystone
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - keystone - 2:27.0.0-3+deb13u1: normalized package name match | Debian stable package indexes: keystone from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack identity service | http://keystone.openstack.org/
- Debian apt - keystone-doc - 2:27.0.0-3+deb13u1: normalized package name match | Debian stable package indexes: keystone-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack identity service - documentation | http://keystone.openstack.org/
- Debian apt - python3-keystone - 2:27.0.0-3+deb13u1: normalized package name match | Debian stable package indexes: python3-keystone from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack identity service - library | http://keystone.openstack.org/
- Nix - keystone: normalized package name match | nixpkgs package indexes: pkgs/by-name/ke/keystone/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - keystone - 2:25.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: keystone from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | OpenStack identity service - Daemons | https://opendev.org/openstack/keystone
- Ubuntu apt - keystone-common - 2:25.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: keystone-common from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | OpenStack identity service - Common files | https://opendev.org/openstack/keystone
- Ubuntu apt - keystone-doc - 2:25.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: keystone-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | OpenStack identity service - Documentation | https://opendev.org/openstack/keystone
- Ubuntu apt - python3-keystone - 2:25.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-keystone from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | OpenStack identity service - Python 3 library | https://opendev.org/openstack/keystone
- apk - keystone - 0.9.2-r6: normalized package name match | Alpine Linux edge package indexes: keystone from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings | https://www.keystone-engine.org/
- apk - keystone-dev - 0.9.2-r6: normalized package name match | Alpine Linux edge package indexes: keystone-dev from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings (development files) | https://www.keystone-engine.org/
- apk - keystone-python - 0.9.2-r6: normalized package name match | Alpine Linux edge package indexes: keystone-python from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | keystone python3 bindings | https://www.keystone-engine.org/
- apk - keystone-python-pyc - 0.9.2-r6: normalized package name match | Alpine Linux edge package indexes: keystone-python-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for keystone-python | https://www.keystone-engine.org/
- pacman - keystone - 0.9.2-8: normalized package name match | Arch Linux sync databases: keystone from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Lightweight multi-platform, multi-architecture assembler framework | https://www.keystone-engine.org/
- MacPorts - keystone: normalized package name match | MacPorts ports tree: devel/keystone/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Build dependency declared by Homebrew.
- [sgn](https://www.automicvault.com/pkg/brew/sgn/) - Popular package that depends on this formula.
- [wla-dx](https://www.automicvault.com/pkg/brew/wla-dx/) - Shares av.db curated category or tags: assembler, assembly, cli, developer-tools.
- [z80asm](https://www.automicvault.com/pkg/brew/z80asm/) - Shares av.db curated category or tags: assembler, assembly, cli, developer-tools.
- [capstone](https://www.automicvault.com/pkg/brew/capstone/) - Shares av.db curated category or tags: cli, developer-tools, multi-architecture, reverse-engineering.
- [aarch64-elf-binutils](https://www.automicvault.com/pkg/brew/aarch64-elf-binutils/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [acme](https://www.automicvault.com/pkg/brew/acme/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [alive2](https://www.automicvault.com/pkg/brew/alive2/) - Shares av.db curated category or tags: cli, developer-tools, llvm.
- [anchor](https://www.automicvault.com/pkg/brew/anchor/) - Shares av.db curated category or tags: cli, developer-tools, framework.
- [apktool](https://www.automicvault.com/pkg/brew/apktool/) - Shares av.db curated category or tags: cli, developer-tools, reverse-engineering.
- [valabind](https://www.automicvault.com/pkg/brew/valabind/) - Local package facts share a topical domain. Shared terms: bindings, cli, developer, developer-tools, engineering.

## Combined YAML source

View the package source record on GitHub. [combined/keystone.yml](https://github.com/automic-vault/db/blob/main/combined/keystone.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
