Giter Club home page Giter Club logo

auraborealisapp's Introduction

AuraBorealis: Do You Know What's In Your Python Packages?

AuraBorealis homepage user interface

About

AuraBorealis is a web application for visualizing anomalous and potentially malicious code in Python package registries. It uses security audit data produced by scanning the Python Package Index (PyPI) via Aura, a static analysis designed for large scale security auditing of Python packages. The current tool is a proof-of-concept, and includes some live Aura data, as well as some mockup data for demo purposes.

Current features include:

  • Scanning the entire python package registry to:

    • List packages with the highest number of security warnings, sorted by Aura warning type
    • List packages sorted by the total and unique count of warnings
    • List packages by their overall severity score
  • Displaying security warnings for an individual package, sorted by criticality

  • Visualize the line numbers and lines of code in files generating security warnings for a specific package

  • Compare two packages for security warnings

Instructions

Turn on your VPN (at IQT)

Clone the repository.

git clone https://github.com/IQTLabs/AuraBorealisApp.git

Navigate to aura-borealis-flask-app directory.

cd aura-borealis-flask-app

Install dependencies.

pip install -r requirements.txt

Run the app.

python app.py

Navigate to the URL http://0.0.0.0:7000/ via a browser.

Feature Roadmap

  • Compare a package to a benchmark profile of packages of similar purpose for security warnings
  • Compare different versions of the same package for security warnings
  • List packages that have changes in their warnings and/or severity score between two dates
  • Ability to scan an internal package/registry that's not public on PyPI
  • Display an analysis of permissions (does this package make a network connection? Does this package require OS-level library permissions?)

Contact Information

[email protected] (John Speed Meyers, IQT Labs, Secure Code Reuse project lead).

The lead developer and creator of Aura is Martin Carnogusky of sourcecode.ai.

Related Work

auraborealisapp's People

Contributors

cglewis avatar dependabot[bot] avatar jspeed-meyers avatar kdobolyi avatar monag-ucberkeley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

auraborealisapp's Issues

Comment HTML files

@kdobolyi, can you please comment the HTML files? Please provide at least a description comment at the top of the file that explains the overall purpose and structure. If you are able and have time to do at least some inline commenting, that would be helpful too.

Add tags on homepage

@kdobolyi, can you please add tags on the homepage? At least add:

  • PyPI
  • Security
  • Malware
  • Python
  • SAST
  • Static analysis
  • Audit

Or something along these lines.

Add thorough description of severity methodology and caveat usage

To avoid legal risk and user confusion, carefully explain the severity score methodology and caveat usage. This could either be a tool-tip that expands when a user hovers their mouse over the severity score column name text or it could could be that the user clicks the security score column name which is a hyperlink to a page with a thorough description. I prefer the latter.

Add capability to store snapshots within the app

Bob G. requested a capability to store snapshots (or "cards") as a user navigated through the app. This would help a user store relevant screens for further review without constantly clicking through the app to get to what he or she wanted.

Add README

@kdobolyi, can you please add a thorough README? Sections should include:

  • Brief description of project
  • Explanation of how to use it
  • Feature roadmap
  • Contact information for our group (use [email protected])
  • Links to relevant work, including past IQT Labs blog posts
  • Anything else you think would be useful

Connection timeout when adding indicator types to display

elasticsearch.exceptions.ConnectionError: ConnectionError((<urllib3.connection.HTTPConnection object at 0x133ded4c0>, 'Connection to vpc-auradata2-2b3s6lmtpt2wcb6ytkjd2y5yau.us-east-1.es.amazonaws.com timed out. (connect timeout=10)')) caused by: ConnectTimeoutError((<urllib3.connection.HTTPConnection object at 0x133ded4c0>, 'Connection to vpc-auradata2-2b3s6lmtpt2wcb6ytkjd2y5yau.us-east-1.es.amazonaws.com timed out. (connect timeout=10)'))

Autocomplete code

Do are there different chunks of code that do autocomplete; each chunk does their own version. It would be better if there was one and only one chunk of code that did autocomplete and it was reused throughout the code base.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.