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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.13-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.13-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.13-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.13-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 36a1154ad62340075ee2147a5d36bd3bc724e6c914e1af9c009d297e92edf419
MD5 58a42de3deab80831c29cfd2790f8842
BLAKE2b-256 80ce88a35aad362fce9e2934d79e19479562815838b52ff25585744e7932127f

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.13-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.13-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c20dc14bd16b94a0fad32579e73ceb8cfe3c7bcc91106243b2cd606cdf85be45
MD5 7b3eb6b2f24edcfd2804809b30dab06d
BLAKE2b-256 5d717cb03147f3a94ba3b0354badd2b2ca7a9ce15d4be3d6c838a344713ca828

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.13-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 fad96b4606051252664590664499deefe2c5c6df515d517b4c0afb6f1c839507
MD5 632427842cd6347559434d35c1dab47a
BLAKE2b-256 b1454c594fb19286a5f900789bec29c3d92edbd817603db1a08220aa7976ae10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c96be7a0fa7268698642974d90439b2c45503cdaf222bedf0024932c55a526c
MD5 55019c5be2e01d622539f039d96a6a9e
BLAKE2b-256 753a4f11ae9e8c337eb6da82519ea2adff9c8a4eb3e7120cc6b06afd35b1a303

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