vestigia

Detect where execution depends on secrets.
git clone git://git.ppad.tech/vestigia.git
Log | Files | Refs | README | LICENSE

diffprobe.nix (790B)


      1 let
      2   f = builtins.getFlake "/Users/jtobin/src/ppad/vestigia";
      3   pkgs = import f.inputs.nixpkgs { system = "x86_64-linux"; };
      4   plugin = pkgs.runCommandCC "vestigia-qemu-plugin" {
      5     nativeBuildInputs = [ pkgs.pkg-config ];
      6     buildInputs = [ pkgs.glib ];
      7   } ''
      8     mkdir -p $out/lib
      9     cc -O2 -shared -fPIC -Wall -Werror \
     10       $(pkg-config --cflags glib-2.0) -I${pkgs.qemu}/include \
     11       -o $out/lib/libvestigia-qemu.so ${../../plugin/vestigia-qemu.c}
     12   '';
     13 in pkgs.runCommandCC "vestigia-diffprobe" { } ''
     14   mkdir -p $out
     15   cc -O2 -g -o probe ${./diffprobe.c}
     16   for s in 03 05; do
     17     ${pkgs.qemu}/bin/qemu-x86_64 \
     18       -plugin ${plugin}/lib/libvestigia-qemu.so,out=$out/dump-$s \
     19       ./probe $s > $out/stdout-$s
     20   done
     21   objdump -d probe > $out/probe.dis
     22   cp probe $out/
     23 ''