Skip to content

Add Angr-backed CFG/FCG graph export to executable tool - #205

Draft
dhondta with Copilot wants to merge 7 commits into
mainfrom
copilot/add-graph-extraction-feature
Draft

Add Angr-backed CFG/FCG graph export to executable tool#205
dhondta with Copilot wants to merge 7 commits into
mainfrom
copilot/add-graph-extraction-feature

Conversation

Copilot AI commented Apr 18, 2026

Copy link
Copy Markdown

This issue asks for graph-based extraction (especially FCG) through docker-packing-box, similar to existing CFG support, and calls for an Angr-based extension in pbox.core.executable.
This PR adds a minimal graph export path for both CFG and FCG, exposed directly in the executable CLI.

  • Core executable graph support

    • Added Executable.fcg (cached) to expose Angr’s function call graph from the knowledge base after CFG population.
    • Added Executable.graph(...) to export either graph type with a unified API:
      • graph_type: cfg | fcg
      • graph_format: dot | graphml
      • output: target path
  • CLI surface (src/files/tools/executable)

    • Added graph subcommand to export graphs from a target executable.
    • New options:
      • --graph-type {cfg,fcg}
      • --format {dot,graphml}
      • --output <path>
    • Included a concrete FCG usage example in tool examples.
  • Focused test coverage

    • Extended tests/executable.bats with a targeted FCG export test.
    • Verifies DOT output file creation and basic graph syntax (digraph).
executable graph /bin/ls \
  --graph-type fcg \
  --format graphml \
  --output /tmp/ls.fcg.graphml

Copilot AI changed the title [WIP] Add graph based feature extraction via docker-packing-box Add Angr-backed CFG/FCG graph export to executable tool Apr 18, 2026
Copilot AI requested a review from dhondta April 18, 2026 20:32
dhondta added 2 commits July 4, 2026 10:17
Refactor fcg property to directly return callgraph.
Made some minor improvements and added "callgraph" attribute for computing the FCG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

graph based feature extraction via docker-packing-box

2 participants