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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.9-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.9-cp312-cp312-macosx_11_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

loci_service_asmslicer-1.0.9-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.9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ddeb7579a0a7ce1cdaf5a6c8619c1c112b637b9ea82e2ee7dcb4dd83cff8fe77
MD5 c138c3c59faa2e93cf2a323bd195704f
BLAKE2b-256 467e935402cacd4f8ef48c2a28026dbff035b484b0b9bf04b3eba412564fb44d

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.9-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.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88fb971516695316f69bb55e9cbfe5df7c18fa2f6c8e0facb0b860ad1be24c32
MD5 3dd2bd35677303a4794b78f719d96728
BLAKE2b-256 a5f566533570617a1572fed137833306b1a11963d8ca0f2c47c913985f52a054

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.9-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 015422f062668dece0acc75a56dbc57641168334e8bd67dfa3693ad96baaba86
MD5 247fa2f3758ebf07dd82ea087ae4c649
BLAKE2b-256 6fc1ab851db104749df32e82acb7e842ae03b32a3d29116a89d3d63c5477f873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd259ded20b7960c806d8f73fd8d72ad9a9af867c4ee9c96644ccca0e3e68bf8
MD5 f581b3cb0348d45f7918492665a5003b
BLAKE2b-256 e268406b79e53549d9cb0fcb06a996641d8aab7d0d83f2477ebf9c4025bf0724

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