GithubHelp home page GithubHelp logo

agh42 / attacksrfc Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 1.0 45.06 MB

React frontend to the cveservice project.

License: GNU Affero General Public License v3.0

Shell 0.02% CSS 6.06% HTML 0.85% JavaScript 76.21% Dockerfile 0.01% Less 16.85%

attacksrfc's People

Contributors

agh42 avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

tracid56

attacksrfc's Issues

Search is slow for some CPEs

The summary search is slow for some CPEs and hangs when a high page number is queried from pagination. Likely cause are characters interpreted as wildcards during search which skip the index and cause a full collection scan.
Example: cpe:2.3:a:adobe:acrobat_reader

Fix various fields from JSON feed (cve-search)

Check the following fields which may differ from the old XML feed and may not yet be correctly parsed by cve-search:

  • cvssv2, access vector
  • cvssv3
  • CWE reference, may be free text:
"problemtype": {
        "problemtype_data": [
            {
                "description": [
                    {
                        "lang": "eng",
                        "value": "Difficult to exploit vulnerability allows low privileged attacker having Create Session privilege with network access via multiple protocols to compromise Java VM.  Successful attacks of this vulnerability can result in takeover of Java VM."
                    }
                ]
            }
        ]
    },
  • read reference source type (especially exploit):
"references": {
        "reference_data": [
            {
                "url": "https://www.oracle.com/security-alerts/cpujan2020.html",
                "refsource": "MISC",
                "name": "https://www.oracle.com/security-alerts/cpujan2020.html"
            }
        ]
    }

Graph not rendering for CVEs with many associated CPEs

When searching for canonical:ubuntu, the matching CVE's vulnerable configuration link to Intel products which together amount to thousands of variants (see https://nvd.nist.gov/vuln/detail/CVE-2019-0123 for one such CVE).

This cannot be rendered properly. There must be a maximum number of affected CPEs that are displayed for the one CPE under investigation.

A further improvement could be to render collapsed groups that can be expanded for remaining items (i.e. "1023 other products...").

Graph rendering takes too long

When a large number of CPE box nodes have to be displayed, they overlap too much. This causes graph rendering to take far too long.
Switch to another node type or change rendering of CPEs, i.e. grouping them by vendor.

Add CVSS3 from JSON feed

Add CVSSv2 metrics from te JSON feed:

impact" : {
"baseMetricV3" : {
"cvssV3" : {
"version" : "3.1",
"vectorString" : "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"attackVector" : "LOCAL",
"attackComplexity" : "LOW",
"privilegesRequired" : "LOW",
"userInteraction" : "NONE",
"scope" : "UNCHANGED",
"confidentialityImpact" : "HIGH",
"integrityImpact" : "HIGH",
"availabilityImpact" : "HIGH",
"baseScore" : 7.8,
"baseSeverity" : "HIGH"
},
"exploitabilityScore" : 1.8,
"impactScore" : 5.9
},
"baseMetricV2" : {
"cvssV2" : {
"version" : "2.0",
"vectorString" : "AV:L/AC:L/Au:N/C:C/I:C/A:C",
"accessVector" : "LOCAL",
"accessComplexity" : "LOW",
"authentication" : "NONE",
"confidentialityImpact" : "COMPLETE",
"integrityImpact" : "COMPLETE",
"availabilityImpact" : "COMPLETE",
"baseScore" : 7.2
},
"severity" : "HIGH",
"exploitabilityScore" : 3.9,
"impactScore" : 10.0,
"acInsufInfo" : false,
"obtainAllPrivilege" : false,
"obtainUserPrivilege" : false,
"obtainOtherPrivilege" : false,
"userInteractionRequired" : false
}

Save inventory in local storage

Use lscache and lz-string to save the selected inventory in local storage. Could also be used for caching the last inventory summary for given timeframes and graph datasets,. Also some user settings, such as hiding the tutorial.
Permanent and cross-browser storage of an inventory will require an account.

Allow filtering CPE list in search

Allow searching for a vendor-product combination, i.e. by parsing space in different ways (as part of a single vendor or product, or as a combination of vendor and product). Alternatively allow searching for colon-separated combinations, i.e. "microsoft:windows".

Add exploit warning

Based on via4cve and/or feed information. Mark exploits, newsworthy and hot topics.

Add 'Copied to clipboard!' notice.

When clicking on the 'copy to clipboard' button, the user should get visual feedback that the items were indeed copied to the clipboard. (To make clear that it is not necessary to type Ctrl-C.)

Add CWE titles

From vulnogram - use Mouseover or display them next to the CWE id.

Set placeholder in CVE list and graph view.

On state changes, set a placeholder item into the mentioned views to give clear and immediate user feedback.
Replace the placeholders with the loaded content when it is ready.

Let future timestamps mean 'current time'

Currently a wrong clock on the client's side can mean that the server receives timestamps for 'validUntil' that are in the future. These will fail validation and lead to an error message.
Instead be more lenient and let future values mean 'current time' when filtering by time range.

Add selection and double click to graph view

Make CVEs and CPEs selectable. Show details for CVEs. Add to active inventory for CPEs. Double-click on a CPE should add it to the inventory, then switch the views to that product.
This makes the graph navigable.

Add sort options

i.e. by modification date (recent activity), publication date, score.

Add starring CVEs

Allow the user to highlight ('star') individual CVEs for further investigation. Allow filtering starred CVEs. Prepare starred CVEs to be used in task generation.

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.