Skip to main content

BinaryAI Python SDK

PUBLISH readthedocs Downloads Gitter

BinaryAI is a binary file security analysis platform. This SDK aims at providing a simple client to upload file and get analysis result. It also works as a demo on calling BinaryAI's GraphQL API directly.

To use SDK, you need a valid credential. Read BinaryAI docs about detailed instructions.

Dependency

Python >= 3.9

Download and install

python3 -m pip install binaryai

Quick start

See the SDK document for guide.

Internals

Endpoints

The default endpoint is https://api.binaryai.cn/v1/endpoint.

API Credentials

API Credentials are used for signing requests. We suggest you using our SDK or our library to sign it, but you can also have your own implementation. We are using the signing method TC3-HMAC-SHA256, same with the Tencent Cloud. You can read their document about how to sign requests. BinaryAI would require following fields:

Region  = "ap-shanghai"
service = "binaryai"
Action  = "BinaryAI"
Version = "2023-04-15"

Additional Reading

Read the Changelog of our product, and hope you can also have fun reading papers related to our job:

  1. Yu, Zeping, et al. "Codecmr: Cross-modal retrieval for function-level binary source code matching." Advances in Neural Information Processing Systems 33 (2020): 3872-3883.
  2. Yu, Zeping, et al. "Order matters: Semantic-aware neural networks for binary code similarity detection." Proceedings of the AAAI conference on artificial intelligence. Vol. 34. No. 01. 2020.
  3. Li, Zongjie, et al. "Unleashing the power of compiler intermediate representation to enhance neural program embeddings." Proceedings of the 44th International Conference on Software Engineering. 2022.
  4. Wong, Wai Kin, et al. "Deceiving Deep Neural Networks-Based Binary Code Matching with Adversarial Programs." 2022 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 2022.
  5. Wang, Huaijin, et al. "Enhancing DNN-Based Binary Code Function Search With Low-Cost Equivalence Checking." IEEE Transactions on Software Engineering 49.1 (2022): 226-250.
  6. Jia, Ang, et al. "1-to-1 or 1-to-n? Investigating the Effect of Function Inlining on Binary Similarity Analysis." ACM Transactions on Software Engineering and Methodology 32.4 (2023): 1-26.
  7. Wang, Huaijin, et al. "sem2vec: Semantics-aware Assembly Tracelet Embedding." ACM Transactions on Software Engineering and Methodology 32.4 (2023): 1-34.
  8. Jiang, Ling, et al. "Third-Party Library Dependency for Large-Scale SCA in the C/C++ Ecosystem: How Far Are We?." Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis. 2023.

Metadata

Release files for binaryai 0.8.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for binaryai 0.8.4
File Size Uploaded Provenance Actions
binaryai-0.8.4.tar.gz 39.2 kB Without provenance Details for binaryai-0.8.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for binaryai 0.8.4
File Interpreter ABI Platform Actions
binaryai-0.8.4-py3-none-any.whl Python 3 none any Details for binaryai-0.8.4-py3-none-any.whl

Total release size: 90.5 kB

Release files / binaryai-0.8.4.tar.gz

Download URL binaryai-0.8.4.tar.gz
Size 39.2 kB
Tags Source
SHA-256 checksum
How to use checksums
401d7f8659e51c4f43af91858bdcd285e6f7fd40b8e54339dbdfec49b320e8ed
BLAKE2b-256 checksum
How to use checksums
b95ca623cf3e1a8c133ee3ed6c023ec70aa9b777bea06133b62bffd47569a9b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.0 CPython/3.9.22 Linux/6.11.0-1015-azure

Release files / binaryai-0.8.4-py3-none-any.whl

Download URL binaryai-0.8.4-py3-none-any.whl
Size 51.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0492571f69cf0f434ecdb7e6d74996cfd43e2e3f31d27cd7f4df057442d862c
BLAKE2b-256 checksum
How to use checksums
158a6df448ee864a7f1426b805046a7db2cc1041a1420e58b218b728befc8aff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.0 CPython/3.9.22 Linux/6.11.0-1015-azure

Security for binaryai 0.8.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page