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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.7-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.7-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.7-cp312-cp312-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3bc87786e5ebe8f781f90c656c3bfb64d0dd0bb449c34f6a2510d73cf7f103fa
MD5 6c43798719f80d9d50af16733433c9ea
BLAKE2b-256 4fab698ada4f8d3a8c0271a90d616022a011fc78bb545d72754aab25ece887d9

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.7-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.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 44adbf048e14fb64c60c80e5b5692d5203500cc764086caae11b5a67e9ac3e85
MD5 bda8a3d575b12c2003c8aef928bc5cf7
BLAKE2b-256 5e6b081620cd684fee2587011e0ffae44ae69ffd6ae97f09b5bf2dcdca3b611e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.7-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 2a839f3ef08555e8f8594a6c0047e0481104ecf7db755ec764810298b2c15638
MD5 d5587c9b63e7402d7cecbc2e6feca9dd
BLAKE2b-256 10dd1f0fd656ef3ce5df3b115c435f02d1621a8b78b17ccfad9b484fa8a364ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f7b821d4f05d2b939632a724c33aeee78c7c259c080baca5cc341acc35dcc9a3
MD5 03dec569656860d1c80ec86bf5d0a47c
BLAKE2b-256 23a119549b7dcc2c73784fe2f2334522f9dd3d33b65c5e613ce5a6d7992bc485

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