Skip to content

Commit a33974b

Browse files
committed
Add DH concurrency proof
1 parent c86eabe commit a33974b

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
# exit when any command fails
4+
set -e
5+
6+
# Script to run the goroutine analysis proof on the DH implementation
7+
8+
PWD=$(dirname "$0")
9+
SCRIPT_DIR=$(realpath "$PWD")
10+
AGENT_DIR="$SCRIPT_DIR"/../implementation
11+
ARGOT_BIN=argot
12+
13+
if [ ! -e "$AGENT_DIR" ]; then
14+
echo Error: "$AGENT_DIR" does not exist
15+
exit 1
16+
fi
17+
cd "$AGENT_DIR" || exit
18+
19+
echo "Running goroutine analysis on DH implementation in directory $(pwd)"
20+
21+
"$ARGOT_BIN" goroutine -config "$SCRIPT_DIR"/argot-config-dh.yaml

dh/argot-proofs/escape-config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,9 @@
105105
"(*io.multiWriter).Write": "noop",
106106
"fmt.Errorf": "noop",
107107
"(*encoding/base64.Encoding).DecodeString": "summarize",
108+
"(encoding/binary.bigEndian).Uint32": "summarize",
108109
"(*github.com/go-git/go-git/v5/plumbing/format/idxfile.Encoder).Write": "noop"
109110
},
110-
"pkg-filter": "(dh-gobra.*)|(github.com/aws/amazon-ssm-agent.*)|(command-line-arguments)|(encoding/base64)|(sync)|(bytes)|(unicode)|(crypto/internal)|(crypto/aes)|(crypto/cipher)|(crypto/sha512)|(crypto/sha1)|(crypto/sha256)|(crypto/md5)|(crypto/subtle)|(hash/crc32)|(math/big)|(github.com/go-git/go-git/v5/plumbing.*)",
111+
"pkg-filter": "(dh-gobra.*)|(command-line-arguments)|(encoding/base64)|(sync)|(bytes)|(unicode)|(crypto/internal)|(crypto/aes)|(crypto/cipher)|(crypto/sha512)|(crypto/sha1)|(crypto/sha256)|(crypto/nacl)|(crypto/ed25519)|(crypto/md5)|(crypto/chacha20)|(crypto/subtle)|(hash/crc32)|(math/big)|(github.com/go-git/go-git/v5/plumbing.*)",
111112
"default-summarize": false
112113
}

docker/dh/verify-core-assumptions.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ SCRIPT_DIR=$(realpath "$PWD")
1515
/bin/bash "$SCRIPT_DIR/argot-proofs/dh-passthru-proof.sh"
1616

1717
# TODO Verify that each core instance does not escape the goroutine in which it is created
18-
# /bin/bash "$SCRIPT_DIR/argot-proofs/dh-concurrency-proof.sh"
18+
/bin/bash "$SCRIPT_DIR/argot-proofs/dh-concurrency-proof.sh"
1919

2020
# Verify that no arguments to core functions alias each other
2121
/bin/bash "$SCRIPT_DIR/argot-proofs/dh-argument-alias-proof.sh"

0 commit comments

Comments
 (0)