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.5-cp312-cp312-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (20.7 MB view details)

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

loci_service_asmslicer-1.0.5-cp312-cp312-macosx_11_0_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

loci_service_asmslicer-1.0.5-cp312-cp312-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 393b86f9b0ad3a20672ae9641fbb06d0f6c41e33e61c75c3d1ce684cf0cd3f7a
MD5 e663a241b46df2689abea7fa2e966645
BLAKE2b-256 f37fbd272c46b6a6b5ae7796c503d5d7ff8bd32a59c60c18b5890c4d164d1f6a

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.5-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.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7fc46601f5e7f00dc012da8bfb9cad0bdf310019b70408011f9a03001a616dbd
MD5 a198c90219338edd861164199374f9cb
BLAKE2b-256 5592b8f437935f6c9c1f88f669f47181604e7086871834e41786b98a0f06024c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.5-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7b94e28456dfa1f6a8a94074095041f6a83cbd7c9adec917dcb034008eaaa815
MD5 d8581be8f45e3026b3ce78c77043a6ca
BLAKE2b-256 a4069f6f77aed4c628c2e21851faca0be9dcdf08b303ebfa5ffa32fb8bbfb975

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 adc998c7cc229e52f3b1b08db91a9a310483b1603d79ebffc3d827875ba5e8d5
MD5 40b4d1ad2f19e8f7503f2a3133c78509
BLAKE2b-256 659d9d80ac134a52121495834421b4e940f29a174afa7ed6322672297b7e0352

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