Skip to content

Commit bba425c

Browse files
committed
notes
1 parent 4077443 commit bba425c

1 file changed

Lines changed: 60 additions & 0 deletions

File tree

notes/cli/git.scrbl

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,65 @@
11
#lang notes
22

3+
@block{@block-name{auth: channel-a & channel-b}
4+
channel-a: Add dependency on channel-b
5+
6+
badkid=$(gpg --list-keys --keyid-format LONG --with-colons Bad | awk -F: '/^pub:/ { print $5 }')
7+
# gpg --armor --export 'Bad Guy' > attacker-in-channel-b-$badkid.key
8+
baduid=$(gpg --list-keys --with-colons $badkid | awk -F: '/^uid:/ { print $10 }')
9+
badfip=$(gpg --fingerprint $badkid | sed -n '2p' | sed 's/^[[:space:]]*//')
10+
badname=$(echo "$baduid" | cut -d '<' -f1 | xargs)
11+
bademail=$(echo "$baduid" | cut -d '<' -f2 | cut -d '>' -f1)
12+
13+
GIT_COMMITTER_NAME="$badname"
14+
GIT_COMMITTER_EMAIL="$bademail"
15+
16+
echo "GIT_COMMITTER_NAME : $GIT_COMMITTER_NAME"
17+
echo "GIT_COMMITTER_EMAIL : $GIT_COMMITTER_EMAIL"
18+
19+
20+
GIT_AUTHOR_NAME="$badname" \
21+
GIT_AUTHOR_EMAIL="$bademail" \
22+
GIT_COMMITTER_NAME="$badname" \
23+
GIT_COMMITTER_EMAIL="$bademail" \
24+
git commit -S$badkid -m "channel-b: Add attacker-in-channel-b to .guix-authorizations"
25+
26+
echo "Bad content in channel-b" > bad-in-channel-b.txt ─╯
27+
git add bad-in-channel-b.txt ─╯
28+
29+
30+
GIT_AUTHOR_NAME="$badname" \
31+
GIT_AUTHOR_EMAIL="$bademail" \
32+
GIT_COMMITTER_NAME="$badname" \
33+
GIT_COMMITTER_EMAIL="$bademail" \
34+
git commit -S$badkid -m "channel-b: Bad commit"
35+
36+
GIT_AUTHOR_NAME="$badname" \
37+
GIT_AUTHOR_EMAIL="$bademail" \
38+
GIT_COMMITTER_NAME="$badname" \
39+
GIT_COMMITTER_EMAIL="$bademail" \
40+
git commit -S$badkid -m "channel-b: [tampered] Create channel-b with .guix-authorizations"
41+
42+
❯ git co keyring ─╯
43+
❯ git reset --hard keyring-hack ─╯
44+
❯ git co master ─╯
45+
❯ git reset --hard master-hack ─╯
46+
47+
GIT_AUTHOR_NAME="$badname" \
48+
GIT_AUTHOR_EMAIL="$bademail" \
49+
GIT_COMMITTER_NAME="$badname" \
50+
GIT_COMMITTER_EMAIL="$bademail" \
51+
git rebase --interactive master-good master-hack-2
52+
53+
GIT_AUTHOR_NAME="$badname" \
54+
GIT_AUTHOR_EMAIL="$bademail" \
55+
GIT_COMMITTER_NAME="$badname" \
56+
GIT_COMMITTER_EMAIL="$bademail" \
57+
git rebase --interactive f96cb26 master-hack-2
58+
59+
("045D D405 56B6 C4D4 ED93 7053 A740 61D5 6CFE 8E89"
60+
name "attacker-in-channel-b")
61+
}
62+
363
@block{@block-name{Git}
464
# When git submodule shows
565
# fatal: No url found for submodule path '...' in .gitmodules

0 commit comments

Comments
 (0)