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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (21.7 MB view details)

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

loci_service_asmslicer-1.0.14-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.14-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.14-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 09b47e390c063bc5018d188f2ad97ef5c2b995df1dd86716154b84d4b1a9e10a
MD5 a995ec572cd3407c29e6eaa3ed6f5448
BLAKE2b-256 0f80c49e80507d830f66d139d35c9239cbc0f361d6eab214386d9fc122ce1634

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.14-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.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 86c884d53b6976aed592b92cf80650001eabd871f80ef3efd1d996a383603923
MD5 376ec63a3b0b0c69c2330420c2e0c071
BLAKE2b-256 72724206a06d52f03f1cd56bbafec45e9bcd2e713d23f887c10327ef3686156e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.14-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9db1838ec451655e06dbeed410be1705c1af97f6ea4944081ad3c2b1224a0310
MD5 fed9cd9e12ec9507d5e0f8ea8df716c7
BLAKE2b-256 bfe83ce8e9487cb20b93a8487f7885e237eb97d8251e2a3ed88a207167db9c03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63d0493fa61110360d3c8fde72df210c845ef50cb8a13d07525e376bf407bf2f
MD5 759b82e92b33426b6a59342d8f2dbfde
BLAKE2b-256 5ce3ce2fc9e72895ead538cfe42e40e712159147938b930236f6432406c10f8b

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