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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (21.8 MB view details)

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

loci_service_asmslicer-1.0.15-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.15-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.15-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cf64b32e6844b58d12cee1902afae402b44ad6cbbe53692cba6dec8eaf0a730d
MD5 6558942c1f0a36f9b737cec705f7f99d
BLAKE2b-256 145206708d316c03040799b2fe5339c12f526e5e44ccb6eada817b618625f38c

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.15-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.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 75e7176536f852dbf574c500efb8a6be40c001144f970bf898ab7af8c0d86b6b
MD5 ebfcadfd31197f37f12e0fed355e2d8d
BLAKE2b-256 86d16d4b113957cd104d1efbb38625cf58804c1932fa166acbfd084e5ab8176d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.15-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 27f61b09dd078412735f29d9b64e6269682e750495014fe81998d5f000730994
MD5 8ba06a46c8faa5c128e039c5ef2aee12
BLAKE2b-256 11e9584dae274b3d7c0dc112832c45517df171cf649ac57667611a7f063f4ab0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc477cf3fed0dfbbe7eaf5de2213f5f8a75223903129cf391e607538697345ad
MD5 3e2906476a1fbc9465f05ae86910d22a
BLAKE2b-256 796b526af6adb0d7bc420015050195efb910594f6dfba092bbc7bceb13feb3e7

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