Skip to content

Instantly share code, notes, and snippets.

@mitchross
Created December 8, 2022 15:12
Show Gist options
  • Save mitchross/5379f1b2669a0436da55418a5366b92d to your computer and use it in GitHub Desktop.
Save mitchross/5379f1b2669a0436da55418a5366b92d to your computer and use it in GitHub Desktop.
ChatGPT-Python-OpenCVE
ere is a basic Python script using the Flask web framework that calls the OpenCV REST API to report new CVE vulnerabilities and displays the results on a web dashboard:
Copy code
from flask import Flask, render_template
import requests
app = Flask(__name__)
@app.route("/")
def index():
# Set the base URL for the OpenCV API
base_url = "https://api.opencv.org/v1"
# Set the endpoint for the CVE vulnerabilities
endpoint = "/cve"
# Make the API call
response = requests.get(base_url + endpoint)
# Check the status code of the response
if response.status_code == 200:
# Get the list of vulnerabilities
vulnerabilities = response.json()
else:
vulnerabilities = []
# Render the HTML template and pass the list of vulnerabilities
return render_template("index.html", vulnerabilities=vulnerabilities)
if __name__ == "__main__":
app.run()
This script creates a Flask app with a single route (/) that makes a GET request to the /cve endpoint of the OpenCV API and passes the list of vulnerabilities to an HTML template for display.
The HTML template (index.html) would look something like this:
Copy code
<html>
<head>
<title>CVE Vulnerabilities</title>
</head>
<body>
<h1>CVE Vulnerabilities</h1>
<ul>
{% for cve in vulnerabilities %}
<li>{{ cve["id"] }} - {{ cve["summary"] }}</li>
{% endfor %}
</ul>
</body>
</html>
This template simply loops through the list of vulnerabilities and displays their ID and summary as a list on the page.
To update the list of vulnerabilities daily, you can use a scheduling tool like cron to run the script on a daily basis. The specific implementation will depend on your environment and operating system.
Note: This is just a basic example to illustrate how you could use Flask and the OpenCV API to display the results of a GET request on a web dashboard. You may need to modify this script and template to suit your specific needs and requirements.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment