Skip to content

Commit 5bca222

Browse files
authored
new workflow to detect new versions of the supported tools (#350)
1 parent 29ffa68 commit 5bca222

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed

.github/workflows/tools.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Tools
2+
on:
3+
workflow_dispatch:
4+
schedule:
5+
- cron: '0 0 * * *'
6+
7+
jobs:
8+
latest-version:
9+
runs-on: ubuntu-latest
10+
container:
11+
image: kalilinux/kali-last-release:latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
include:
16+
# Uncheckable: searchsploit, spring4shell-scan, log4j-scan
17+
- name: Nmap
18+
install: apt install nmap -y
19+
command: nmap --version
20+
expected: 7.95
21+
- name: Dirsearch
22+
install: apt install dirsearch -y
23+
command: dirsearch --version
24+
expected: v0.4.3
25+
- name: theHarvester
26+
install: apt install theharvester -y
27+
command: theHarvester --help
28+
expected: 4.8.0
29+
- name: Nikto
30+
install: apt install nikto -y
31+
command: nikto -Version
32+
expected: 2.5.0
33+
- name: Sslscan
34+
install: apt install sslscan -y
35+
command: sslscan --version
36+
expected: 2.1.5
37+
- name: SSLyze
38+
install: apt install sslyze -y
39+
command: sslyze --help
40+
expected: 6.1.0
41+
- name: CMSeeK
42+
install: apt install cmseek -y
43+
command: cmseek --version
44+
expected: 1.1.3
45+
- name: ZAP
46+
install: apt install zaproxy -y
47+
command: zaproxy -version
48+
expected: 2.16.1
49+
- name: Metasploit
50+
install: apt install metasploit-framework -y
51+
command: msfconsole --version
52+
expected: 6.4.64-dev
53+
- name: EmailFinder
54+
install: python3 -m pip install emailfinder -y
55+
command: emailfinder --version
56+
expected: 0.3.0b
57+
- name: EmailHarvester
58+
install: apt install emailharvester -y
59+
command: emailharvester --help
60+
expected: 1.3.2
61+
- name: JoomScan
62+
install: apt install joomscan -y
63+
command: joomscan --version
64+
expected: 0.0.7
65+
- name: Nuclei
66+
install: apt install nuclei -y
67+
command: nuclei --version
68+
expected: v3.4.4
69+
- name: Gobuster
70+
install: apt install gobuster -y
71+
command: gobuster version
72+
expected: 3.6
73+
- name: SSH Audit
74+
install: python3 -m pip install ssh-audit
75+
command: ssh-audit --help
76+
expected: v3.3.0
77+
- name: SMBMap
78+
install: apt install smbmap -y
79+
command: smbmap --help
80+
expected: v1.10.7
81+
- name: GitLeaks
82+
install: apt install gitleaks -y
83+
command: gitleaks version
84+
expected: v8.26.0 # Usually returns "version is set by build process"
85+
name: ${{ matrix.name }} version
86+
steps:
87+
- name: Install
88+
run: |
89+
if [[ ${{ matrix.install }} == "apt install"* ]]
90+
then
91+
apt update
92+
fi
93+
${{ matrix.install }}
94+
95+
- name: Check version
96+
run: |
97+
version=$(${{ matrix.command }})
98+
count=$($version | grep -o "${{ matrix.expected }} | wc -l")
99+
if [ $count -eq 0 ]
100+
then
101+
echo "${{ matrix.name }} version '${{ matrix.expected }}' is outdated!"
102+
echo $version
103+
exit 1
104+
fi

0 commit comments

Comments
 (0)