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

Uploaded CPython 3.12Windows x86-64

loci_service_asmslicer-1.0.4-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.4-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.4-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.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e42661be825c82461e72a222c8dddec1a691440dee237a04ee46691d3e47d19c
MD5 f9676da1a8cc49bf4e90384788cb6aeb
BLAKE2b-256 c30be3e21f49d425630a02e86fe78fcd731460fef56c42a8a71e7beca2d40bea

See more details on using hashes here.

File details

Details for the file loci_service_asmslicer-1.0.4-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.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 149aa75252ba1eb90a48563a3050391e3f976bda96bf0f5ee30fe1ae640ab2c7
MD5 42a5049a30e38872c27076949efc9a79
BLAKE2b-256 93bee4120dc543bc44a936436ad8faedc47995a1dfe56d401dce10cc27d97024

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.4-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 18227e8b0444e79393ad8d6880f55112fc59e3c2933be8b21e33b671d755890f
MD5 99ea9ab4820cdd50a06c1d6355b1cb53
BLAKE2b-256 33fe61959ea40d9f4e2c3249830cc080c3305904cca0322ae515e17cbe2d3f0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for loci_service_asmslicer-1.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e473bc53ca2b90e7c1ba0a08bc1fa24d3c226edc1ae2245ea1f2fd390d57210
MD5 88b530854b96f3c4abb7a51287f53096
BLAKE2b-256 f255d80038c01e111ba9e3aa66fab5e586f7df23218ee44819a764725d14a1b8

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