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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (21.5 MB view details)

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

loci_service_asmslicer-1.0.10-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.10-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.10-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bf9b10d423e5472b8428cd43ed4854ddafe0d3c289ff68f68f00cca15ae38797
MD5 4662ab608ebabe983964ffd625c47062
BLAKE2b-256 ded1cf4aed2d0f6d972f8af8c9125f7c3599d86fb6ca5e43b46e5af5dbab67f7

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.10-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.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b7a1a7a6b15c3d7820792af2c5def5cb143cbd71eae60e35490bb4e455bd49d
MD5 def81962d42e30ce5190ca104d74ed30
BLAKE2b-256 0b81316682663cd38f33de4fcdd03c37d8e88cd6b7ff9e8d727398b0489a464a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.10-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 29d35da07702bd1d9c400581b9fc41554895b52eced46ede9b4b327f7537f0c5
MD5 47346cf2ec24b5b827aad3b874ec5dde
BLAKE2b-256 2ebe0292f8479b710de1499f352886eba515b8481257682991a148f8cc01146d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41a998d7dfb3a234b9aa9ebcb6fd43a3dd3c4c39c725e17045ed399544354d5f
MD5 e0215ca0e2120755ae9a63c27f8935b4
BLAKE2b-256 b266e5c0323bf4e2c8f17bc850471c6f10327469237985bdc76c1933ef71579d

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