Skip to main content

LOCI static analysis service

Project description

asmslicer

What is this repository for?

  • This repository provides LOCI static analysis service.
  • Static analysis service performs slicing of ELF files into:
    • ASM basic blocks, including CFG info.
    • Callgraph between functions.
    • Symbol information.

How do I get set up?

  • asmslicer project is using uv for Python project and dependency management.
  • To setup development environment you need to have uv installed.

External Dependencies

The following system tools are required for full functionality:

  • file - for ELF file detection
  • binutils - provides c++filt for C++ symbol demangling
  • llvm-18 - provides llvm-ifs-18 for interface stub generation
  • rustfilt - for Rust symbol demangling

On Debian/Ubuntu:

sudo apt-get update && sudo apt-get install file binutils rustfilt
wget -qO- https://apt.llvm.org/llvm.sh | sudo bash -s -- 18

For CUDA binary analysis (optional):

# Requires NVIDIA CUDA toolkit
sudo apt-get install cuda-cuxxfilt-13-0 cuda-cuobjdump-13-0 cuda-nvdisasm-13-0
  • Then you can configure venv using uv:
uv venv
source .venv/bin/activate
uv sync
  • Once the venv is setup you can run the service locally for test:
loci-service-asmslicer
  • Docker container image can alo be built in a standard way:
docker build -t loci-platform/loci-service-static-analysis .

Contribution guidelines

  • The project used main branch for active development.
  • Changes are merged by creating a pull request targeting main branch.
  • Merging to main branch automatically triggers build pipeline which deploys the Docker container to AWS ECR latest tag.
  • Creating a tag with release number with x.y.z version number, triggers a pipeline build which deploys the Docker container to AWS ECR x.y.z tag.

Who do I talk to?

  • Repo owner or admin
  • Other team contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

loci_service_asmslicer-1.0.11-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (21.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

loci_service_asmslicer-1.0.11-cp312-cp312-macosx_11_0_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

loci_service_asmslicer-1.0.11-cp312-cp312-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file loci_service_asmslicer-1.0.11-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4bc102b7ae2b93e7ff6a76381831177de4187d95a1ff663cbb799e1d62ed40e3
MD5 ca872a8a25f6a920f07890c03e799176
BLAKE2b-256 ede0b20ddb6f502e3abf55dbfd206352afbc6a872263a3ef8990181aab95497e

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f09a155f09ef39fac0b9015aa54757c9a831dd908dae0c36276d7066094adf84
MD5 54bbabfc2fddf95abe1e8bc698121f20
BLAKE2b-256 14a5eceea5630c0eaccfe8dbdcf86404713077f23f6a4591c7d4c6774a3e2af2

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.11-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.11-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 2764cef87b24f221e8d20c1e04a7e32b8fd38a44f8163c6ecc65f48cc42324ad
MD5 710a1ddb8f6bc6d8eaec448d0f6eb550
BLAKE2b-256 9ce9d5bbc67e1acb9d4885e3864968029ef742b3cae729eb975595d43babdf32

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.11-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c349b5475c3cfe28868fbf0ee67042fb25a30ce6d253578ddd1b8a6c8e6614ee
MD5 33ee5f7933cbabfd88c0e6e1b498e7d8
BLAKE2b-256 b3e45d4a2b29d7ebd45682717cf0d7e113c8673878c0b4dce09be6db7a9d3389

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page