vestigia

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

vestigia.cabal (2656B)


      1 cabal-version:      3.0
      2 name:               vestigia
      3 version:            0.2.0
      4 synopsis:           Where an execution depended on a secret.
      5 license:            MIT
      6 license-file:       LICENSE
      7 author:             Jared Tobin
      8 maintainer:         jared@ppad.tech
      9 category:           Testing
     10 build-type:         Simple
     11 tested-with:        GHC == 9.10.3
     12 extra-doc-files:    CHANGELOG
     13 description:
     14   vestigia runs a harness and reports every instruction that
     15   branched on a secret it marked, computed an address from it, or
     16   divided by or into it, naming each by function and source line.
     17   It has two instruments: taint tracking under valgrind's memcheck,
     18   and differential traces under QEMU, optionally checked against an
     19   ISA's data-independent-timing contract.
     20 
     21 source-repository head
     22   type:     git
     23   location: git.ppad.tech/vestigia.git
     24 
     25 library
     26   default-language: Haskell2010
     27   hs-source-dirs:   lib
     28   ghc-options:
     29       -Wall -Werror
     30   c-sources:
     31       cbits/norandom.c
     32   exposed-modules:
     33       Vestigia.Contract
     34     , Vestigia.Contract.Arm
     35     , Vestigia.Contract.Intel
     36     , Vestigia.Contract.Types
     37     , Vestigia.Diff
     38     , Vestigia.Json
     39     , Vestigia.Layout
     40     , Vestigia.Memcheck
     41     , Vestigia.Symbol
     42     , Vestigia.Trace
     43     , Vestigia.Xml
     44   build-depends:
     45       base >= 4.9 && < 5
     46     , bytestring >= 0.9 && < 0.13
     47     , containers >= 0.6 && < 1
     48     , directory >= 1.3 && < 2
     49     , process >= 1.6 && < 1.7
     50     , text >= 1.2 && < 2.2
     51 
     52 executable vestigia
     53   default-language: Haskell2010
     54   hs-source-dirs:   app
     55   main-is:          Main.hs
     56   ghc-options:
     57       -Wall -Werror -rtsopts
     58   -- Setup builds this in dist/build/vestigia, which a case-insensitive
     59   -- filesystem merges with the library's dist/build/Vestigia; clang's
     60   -- preprocessor flags the case mismatch, and -Werror makes it fatal
     61   if os(osx)
     62     ghc-options: -optP-Wno-nonportable-include-path
     63   other-modules:
     64       Paths_vestigia
     65   autogen-modules:
     66       Paths_vestigia
     67   build-depends:
     68       base >= 4.9 && < 5
     69     , bytestring >= 0.9 && < 0.13
     70     , containers >= 0.6 && < 1
     71     , directory >= 1.3 && < 2
     72     , filepath >= 1.4 && < 2
     73     , process >= 1.6 && < 1.7
     74     , text >= 1.2 && < 2.2
     75     , vestigia
     76 
     77 test-suite vestigia-tests
     78   type:             exitcode-stdio-1.0
     79   default-language: Haskell2010
     80   hs-source-dirs:   test
     81   main-is:          Main.hs
     82   ghc-options:
     83       -Wall -Werror -rtsopts
     84   build-depends:
     85       base >= 4.9 && < 5
     86     , bytestring >= 0.9 && < 0.13
     87     , containers >= 0.6 && < 1
     88     , directory >= 1.3 && < 2
     89     , filepath >= 1.4 && < 2
     90     , tasty >= 1.4 && < 2
     91     , tasty-hunit >= 0.10 && < 1
     92     , text >= 1.2 && < 2.2
     93     , vestigia