Skip to content
lysharkPublic

About

A binary debugger interface designed specifically for AI agents, with a total of 436 functional implementations, covering the entire dynamic debugging process.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BinSentry AI-AGENT Debugger


icon


Contributors Email Support Release Download

Python 3.x Platform binsentry Version

GitHub Stars GitHub Forks License

Sentinel is a binary debugging engine designed for AI agents and intelligent scenarios. It encapsulates the complete process debugging capability as an HTTP+JSON standardized interface, allowing agents to directly drive reverse analysis, vulnerability mining, malicious sample analysis, data tracing, and other reverse tasks like calling a regular API, maximizing the speed of security experts.

Quick Start

Users may install the corresponding debugging engine toolkit via pip:

CMD> pip install binsentry
CMD> pip show binsentry
Name: BinSentry
Version: 1.0.3
Summary:
Home-page: http://sentry.lyshark.com
Author: lyshark
Author-email: me@lyshark.com
License: MIT Licence

The following Python snippet demonstrates basic API invocation to connect to the local BinSentry service, create a debug session for a target Windows executable, and start execution control.

from BinSentry import *

if __name__ == "__main__":
    # Configure connection parameters for local BinSentry service
    config = Config(
        address="127.0.0.1",
        port=6891,
        api_key="45d3552b12b12cdf2c831344311cf81e"
    )
    # Initialize BinSentry client instance
    client = BinSentryClient(config=config)

    # Print server connection information
    print("config:", client.config.server_addr)
    # Query current running status of debugging engine
    print(client.status())

    # Create a new debug session for target win32 executable
    dbg = client.debug("c://win32.exe")
    print(dbg)

    # Launch target program and start debugging session
    client.run()

Continue testing the call scenario of the disassembly module interface, and you can directly use the following code to retrieve the data.

from BinSentry import *
import json

if __name__ == "__main__":
    config = Config(
        address="127.0.0.1",
        port=6891,
        api_key="45d3552b12b12cdf2c831344311cf81e"
    )
    client = BinSentryClient(config=config)
    try:
        client.detach()
    except Exception:
        pass

    raw_dbg_resp = client.debug("c://win32.exe", "", "c://")

    # SDK returns the original JSON string
    dbg = json.loads(raw_dbg_resp)
    print("Debug session:", dbg)

    if dbg["status"] != "success":
        print("Create debug session failed:", dbg["result"]["message"])
        exit(-1)

    # Read register values
    raw_reg_resp = client.register()
    resp = json.loads(raw_reg_resp)
    eip_hex = resp["result"]["registers"]["eipHex"]
    print(f"EIP hex = {eip_hex}")

    # EIP disassembly
    raw_disasm_resp = client.dissasembler(address=eip_hex,count=5)
    print("Disassemble response: ", raw_disasm_resp)

    # Subsequent resumption of operation
    client.run()

About

A binary debugger interface designed specifically for AI agents, with a total of 436 functional implementations, covering the entire dynamic debugging process.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages