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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (20.6 MB view details)

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

loci_service_asmslicer-1.0.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b2e4b324dc9f6dfb2f74909513a4898bba98ff3478d5745eb974dc92e274ad05
MD5 5634285374cb6876984ae1aa74633acf
BLAKE2b-256 37e2df3f7104ed7234d064721be280e863da7411523305da1e32b8e2562453b8

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.3-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.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8087bbe51e0395c83e36663b5407ca4d847c2e1ebd0d8217adde4d2d090f8dbe
MD5 023acd86d31e314d31f3e9a506b1c464
BLAKE2b-256 7606f049d894647a31df491acd87d029e7b762faffe753d83597f2f2a923c626

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.3-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 41dda6e986e60d4ca856b8ec17b33105dee60d1fbeff4bcecc55ea0db7f5e427
MD5 6e904f91b00612fa1ba36ca6ec22fe47
BLAKE2b-256 d1e7d1cc3959dbf06a69e4afda4a43d7271e5f286484d2d9cce6ec358cae4135

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bee1f511cb17a90f899316052e949c2c0e4f436afe8e941ba476c9c0e9fe39ac
MD5 b48d1f6500ea130aa179b16c806cfca4
BLAKE2b-256 a9954b636cfb64f5ded6c5755905b5ee1060980694510e901e9e20a9683c73b5

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