Skip to content

Commit 14600cd

Browse files
authored
Merge pull request zardus#120 from StevenVanAcker/improved-build-status
Improved build status
2 parents 80a19b7 + ce3980e commit 14600cd

16 files changed

+303
-70
lines changed

.travis.yml

+20-68
Original file line numberDiff line numberDiff line change
@@ -10,73 +10,25 @@ before_install:
1010

1111
env:
1212

13-
# Tests for fedora
14-
- DISTRO="fedora" TOOL="apktool binwalk burpsuite capstone checksec commix
15-
cribdrag dirsearch elfkickers evilize exetractor foresight gdb gdb-heap gef
16-
jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor
17-
radare2 reveng ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder
18-
steganabara stegsolve subbrute unicorn virtualsocket"
19-
- DISTRO="fedora" TOOL="xortool yafu z3"
20-
- DISTRO="fedora" EXPECTFAIL=1 TOOL="afl android-sdk angr barf beef bindead
21-
codereason df dirb dislocker elfparser featherduster firmware-mod-kit
22-
hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone
23-
littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools
24-
python-pin qemu qira snowman sonic-visualizer sqlmap sslsplit stegdetect
25-
taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg"
26-
# - DISTRO="fedora" TOOL="cross2 crosstool" ### takes too long for travis-ci
27-
28-
# Tests for archlinux
29-
- DISTRO="archlinux" TOOL="afl android-sdk apktool binwalk burpsuite checksec
30-
commix cribdrag df dirb dirsearch evilize exetractor featherduster
31-
firmware-mod-kit foresight gdb gdb-heap gef"
32-
- DISTRO="archlinux" TOOL="hashpump hashpump-partialhash jdgui keystone libheap
33-
msieve pdf-parser peda peepdf pemcrack pkcrack pwndbg pwntools
34-
python-paddingoracle pyvmmonitor radare2 reveng rp++ scrdec18 shellnoob
35-
ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser
36-
unicorn veles virtualsocket xortool xrop yafu zsteg elfkickers honggfuzz"
37-
- DISTRO="archlinux" EXPECTFAIL=1 TOOL="angr barf beef bindead capstone
38-
codereason dislocker elfparser hash-identifier hashkill littleblackbox
39-
mitmproxy panda pathgrind preeny qira ropper shellsploit"
40-
- DISTRO="archlinux" EXPECTFAIL=1 TOOL="snowman sonic-visualizer sqlmap
41-
stegdetect taintgrind villoc wcc xspy z3 python-pin"
42-
# - DISTRO="archlinux" TOOL="cross2 crosstool qemu" ### takes too long for travis-ci
43-
44-
# Tests for trusty, grouped together to most optimally use a single build process
45-
- DISTRO="trusty" TOOL="afl android-sdk apktool barf binwalk burpsuite capstone
46-
checksec codereason"
47-
- DISTRO="trusty" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers
48-
elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy
49-
msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman
50-
sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute bindead hashkill
51-
python-pin qira stegdetect villoc zsteg"
52-
- DISTRO="trusty" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap
53-
gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk
54-
tor-browser unicorn virtualsocket xortool xspy yafu z3"
55-
- DISTRO="trusty" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor
56-
radare2 reveng ropper rp++"
57-
- DISTRO="trusty" TOOL="qemu"
58-
- DISTRO="trusty" EXPECTFAIL=1 TOOL="angr beef panda pathgrind pwntools
59-
sonic-visualizer taintgrind veles wcc xrop"
60-
# - DISTRO="trusty" TOOL="cross2 crosstool" ### takes too long for travis-ci
61-
62-
# Tests for xenial, grouped together to most optimally use a single build process
63-
- DISTRO="xenial" TOOL="afl android-sdk angr apktool barf binwalk burpsuite
64-
capstone checksec codereason"
65-
- DISTRO="xenial" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers
66-
elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy
67-
msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman
68-
sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute"
69-
- DISTRO="xenial" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap
70-
gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk
71-
tor-browser unicorn veles virtualsocket xortool xspy yafu z3"
72-
- DISTRO="xenial" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor
73-
radare2 reveng ropper rp++"
74-
- DISTRO="xenial" TOOL="qemu"
75-
- DISTRO="xenial" EXPECTFAIL=1 TOOL="beef bindead hashkill panda pathgrind
76-
pwntools python-pin qira sonic-visualizer stegdetect taintgrind villoc wcc xrop
77-
zsteg"
78-
# - DISTRO="xenial" TOOL="cross2 crosstool" ### takes too long for travis-ci
79-
13+
- DISTRO='archlinux' TOOL='afl android-sdk apktool binwalk burpsuite checksec df dirb elfkickers evilize featherduster firmware-mod-kit gdb hashpump hashpump-partialhash honggfuzz jdgui keystone libheap msieve pkcrack pwndbg pwntools python-paddingoracle pyvmmonitor radare2 sqlmap sslsplit testdisk tor-browser unicorn veles virtualsocket xortool xrop yafu zsteg' # estimated 2000 seconds
14+
- DISTRO='archlinux' TOOL='commix cribdrag dirsearch exetractor foresight gef pdf-parser peda peepdf pemcrack rp++ scrdec18 shellnoob ssh_decoder steganabara stegsolve subbrute' # estimated 16 seconds
15+
- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira taintgrind z3' # estimated 1831 seconds
16+
- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman sonic-visualizer stegdetect villoc wcc xspy' # estimated 764 seconds
17+
# - DISTRO='archlinux' TOOL='qemu' # unknown duration...
18+
- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1779 seconds
19+
- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 549 seconds
20+
- DISTRO='trusty' TOOL='barf capstone jdgui stegdetect yafu z3' # estimated 1995 seconds
21+
- DISTRO='trusty' TOOL='qemu' # estimated 2160 seconds
22+
- DISTRO='trusty' TOOL='apktool bindead featherduster gdb qira snowman' # estimated 1976 seconds
23+
- DISTRO='trusty' TOOL='afl android-sdk burpsuite codereason df firmware-mod-kit hashkill keystone mitmproxy pwndbg pwntools radare2 unicorn' # estimated 1976 seconds
24+
- DISTRO='trusty' TOOL='binwalk checksec commix cribdrag dirb dirsearch dislocker elfkickers elfparser evilize exetractor foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle python-pin pyvmmonitor ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser villoc virtualsocket xortool xspy zsteg' # estimated 374 seconds
25+
- DISTRO='trusty' EXPECTFAIL=1 TOOL='angr panda sonic-visualizer' # estimated 1877 seconds
26+
- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap pathgrind reveng taintgrind veles wcc xrop' # estimated 303 seconds
27+
- DISTRO='xenial' TOOL='qemu' # estimated 1928 seconds
28+
- DISTRO='xenial' TOOL='barf keystone mitmproxy z3' # estimated 1920 seconds
29+
- DISTRO='xenial' TOOL='afl android-sdk angr firmware-mod-kit gdb snowman' # estimated 1985 seconds
30+
- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec codereason commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny pwndbg python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn veles virtualsocket xortool xspy yafu' # estimated 1230 seconds
31+
- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 457 seconds
8032
script:
81-
- ./bin/travis-ci.sh
33+
- travis_wait 50 ./bin/travis-ci.sh
8234

.travis.yml.footer

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
script:
2+
- travis_wait 50 ./bin/travis-ci.sh
3+

.travis.yml.header

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
language: bash
2+
sudo: required
3+
services:
4+
- docker
5+
before_install:
6+
- if [ "$DISTRO" = "archlinux" ]; then docker build -t ctftools -f Dockerfile.archlinux .; fi
7+
- if [ "$DISTRO" = "fedora" ]; then docker build -t ctftools -f Dockerfile.fedora .; fi
8+
- if [ "$DISTRO" = "xenial" ]; then docker build -t ctftools -f Dockerfile.xenial .; fi
9+
- if [ "$DISTRO" = "trusty" ]; then docker build -t ctftools -f Dockerfile .; fi
10+
11+
env:
12+

Dockerfile.archlinux

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ RUN pacman -Syu --noconfirm --needed \
2020
python2-pip python-pip \
2121
unzip python-virtualenvwrapper \
2222
zsh grml-zsh-config \
23-
sudo \
23+
sudo which \
2424
&& pacman -Scc --noconfirm
2525

2626
RUN useradd -m ctf

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
This is a collection of setup scripts to create an install of various security research tools.
66
Of course, this isn't a hard problem, but it's really nice to have them in one place that's easily deployable to new machines and so forth.
7+
The install-scripts for these tools are checked regularly, the results can be found on [the build status page](_buildstatus/index.md).
78

89
Installers for the following tools are included:
910

_buildstatus/fail.png

1.29 KB
Loading

_buildstatus/index.md

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
| archlinux | fedora | trusty | xenial
2+
----- | ----- | ----- | ----- | -----
3+
![success](success.png) | 54 | 37 | 73 | 67
4+
![fail](fail.png) | 29 | 47 | 11 | 17
5+
![unknown](unknown.png) | 1 | 0 | 0 | 0
6+
total | 84 | 84 | 84 | 84
7+
8+
| archlinux | fedora | trusty | xenial
9+
----- | ----- | ----- | ----- | -----
10+
afl | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
11+
android-sdk | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
12+
angr | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png)
13+
apktool | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
14+
barf | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
15+
beef | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
16+
bindead | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)
17+
binwalk | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
18+
burpsuite | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
19+
capstone | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
20+
checksec | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
21+
codereason | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
22+
commix | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
23+
cribdrag | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
24+
df | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
25+
dirb | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
26+
dirsearch | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
27+
dislocker | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
28+
elfkickers | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
29+
elfparser | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
30+
evilize | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
31+
exetractor | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
32+
featherduster | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
33+
firmware-mod-kit | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
34+
foresight | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
35+
gdb | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
36+
gdb-heap | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
37+
gef | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
38+
hash-identifier | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
39+
hashkill | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)
40+
hashpump | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
41+
hashpump-partialhash | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
42+
honggfuzz | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
43+
jdgui | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
44+
keystone | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
45+
libheap | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
46+
littleblackbox | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
47+
mitmproxy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
48+
msieve | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
49+
panda | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
50+
pathgrind | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
51+
pdf-parser | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
52+
peda | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
53+
peepdf | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
54+
pemcrack | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
55+
pkcrack | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
56+
preeny | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
57+
pwndbg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
58+
pwntools | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)
59+
python-paddingoracle | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
60+
python-pin | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)
61+
pyvmmonitor | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
62+
qemu | ![unknown](unknown.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
63+
qira | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)
64+
radare2 | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
65+
reveng | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
66+
ropper | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
67+
rp++ | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
68+
scrdec18 | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
69+
shellnoob | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
70+
shellsploit | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
71+
snowman | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
72+
sonic-visualizer | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
73+
sqlmap | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
74+
ssh_decoder | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
75+
sslsplit | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
76+
steganabara | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
77+
stegdetect | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)
78+
stegsolve | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
79+
subbrute | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
80+
taintgrind | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
81+
testdisk | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
82+
tor-browser | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
83+
unicorn | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
84+
veles | ![success](success.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png)
85+
villoc | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)
86+
virtualsocket | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
87+
wcc | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
88+
xortool | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
89+
xrop | ![success](success.png) | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png)
90+
xspy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png)
91+
yafu | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
92+
z3 | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png)
93+
zsteg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png)

_buildstatus/success.png

1.5 KB
Loading

_buildstatus/unknown.png

633 Bytes
Loading

bin/travis-ci-status/Dockerfile

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM ubuntu:xenial
2+
3+
RUN apt-get update
4+
RUN apt-get -y install python-software-properties software-properties-common build-essential git python-pip ipython vim
5+
RUN apt-add-repository ppa:brightbox/ruby-ng
6+
RUN apt-get update
7+
RUN apt-get -y install ruby2.1 ruby2.1-dev ruby-switch
8+
RUN ruby-switch --set ruby2.1
9+
10+
RUN gem install travis -v 1.8.8 --no-rdoc --no-ri
11+
RUN pip install binpacking
12+
13+
WORKDIR /gitdata
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
3+
tmpfile=$(mktemp)
4+
5+
# Fetch data
6+
(
7+
for i in $(travis show --skip-completion-check --no-interactive | grep '^#' | awk '{print $1}' | tr "#" " ");
8+
do
9+
travis logs --skip-completion-check --no-interactive "$i" | grep '^\[ACCOUNTING\]=====\[' | cut -d' ' -f2-5
10+
done
11+
) > $tmpfile
12+
13+
# generate travis-ci data
14+
(
15+
cat /gitdata/.travis.yml.header
16+
/gitdata/bin/travis-ci-status/make_binpacked_travis_ci_conf.py $tmpfile
17+
cat /gitdata/.travis.yml.footer
18+
) > /gitdata/.travis.yml
19+
20+
# generate build status data
21+
/gitdata/bin/travis-ci-status/make_build_status_md.py $tmpfile > /gitdata/_buildstatus/index.md
22+
23+
rm -f $tmpfile

0 commit comments

Comments
 (0)