[Secure-testing-commits] r15701 - / check-external

Raphael Geissert geissert at alioth.debian.org
Tue Dec 14 03:55:05 UTC 2010


Author: geissert
Date: 2010-12-14 03:55:03 +0000 (Tue, 14 Dec 2010)
New Revision: 15701

Added:
   check-external/
   check-external/lookup.sh
   check-external/update.sh
Log:
Add some scripts to check our CVE list against Red Hat's
Try with: cd check-external && ./update.sh && ./lookup.sh CVE-2010


Added: check-external/lookup.sh
===================================================================
--- check-external/lookup.sh	                        (rev 0)
+++ check-external/lookup.sh	2010-12-14 03:55:03 UTC (rev 15701)
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+####################
+#    Copyright (C) 2010 by Raphael Geissert <geissert at debian.org>
+#
+#
+#    This file is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 3 of the License, or
+#    (at your option) any later version.
+#
+#    This file is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this file.  If not, see <http://www.gnu.org/licenses/>.
+####################
+
+set -e
+
+regex=
+after=
+
+while [ $# -ge 1 ]; do
+    case $1 in
+	--after|-a)
+	    [ $# -gt 1 ] || {
+		echo "Missing argument for --after" >&2
+		exit 1
+	    }
+	    shift
+	    after="$1"
+	;;
+	--help|-h)
+	    echo "Usage: $(basename "$0") [--after|-a per-year-id] [regex]"
+	    echo ; echo "Look for NFUs in our tracker but recognised by RH (for now)"
+	    echo "(requires you to run ./update.sh every now and then)"
+	    echo ; year="$(date +%Y)"
+	    echo "Example (check ids of $year):"
+	    echo -e "\t$(basename "$0") CVE-$year"
+	    echo "Example (check ids after CVE-$year-0100):"
+	    echo -e "\t$(basename "$0") --after 0100 CVE-$year"
+	    echo ; echo "Note: this is a hackish and slow implementation."
+	    exit
+	;;
+	*)
+	    regex="$1"
+	;;
+    esac
+    shift
+done
+
+for cve in $(< cve.list); do
+
+    if [[ $regex ]]; then
+	[[ $cve =~ $regex ]] || continue
+    fi
+
+    if [[ $after ]]; then
+	[ "${cve#CVE-*-}" '>' "$after" ] || continue
+    fi
+
+    # Permanent exclusions can be added below
+    o=$(grep -m1 -A1 $cve ../data/CVE/list | grep NOT-FOR-US |
+	grep -vi redhat | grep -vi 'red hat' | grep -vi pre-dating |
+	grep -vi realplayer | grep -vi acroread | grep -vi acrobat |
+	grep -vi adobe | grep -vi 'real player') && echo "$cve: $o" || :
+done


Property changes on: check-external/lookup.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: check-external/update.sh
===================================================================
--- check-external/update.sh	                        (rev 0)
+++ check-external/update.sh	2010-12-14 03:55:03 UTC (rev 15701)
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+####################
+#    Copyright (C) 2010 by Raphael Geissert <geissert at debian.org>
+#
+#
+#    This file is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 3 of the License, or
+#    (at your option) any later version.
+#
+#    This file is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this file.  If not, see <http://www.gnu.org/licenses/>.
+####################
+
+# Note: The downloaded html files are Copyright by Red Hat, Inc.
+# or as specified at the individual html files or elsewhere on redhat.com's website
+
+set -e
+
+for year in $(seq 1999 $(date +%Y)); do
+    wget -N https://www.redhat.com/security/data/cve/cve-$year.html
+done
+
+sed -rn '/CVE-[12][0-9]{3}-/{s/^.+>(CVE-[12][0-9]{3}-[0-9]{4})<.+$/\1/;p}' cve-*.html > cve.list


Property changes on: check-external/update.sh
___________________________________________________________________
Added: svn:executable
   + *




More information about the Secure-testing-commits mailing list