/crs_aixcc

Primary LanguagePythonMIT LicenseMIT

AIxCC - Cyber Reasoning System (CRS)

A comprehensive analysis of the 25 classes of software weaknesses as identified in MITRE’s 2023 Top 25 Most Dangerous Software Weaknesses report is necessitated; The design of a Cyber Reasoning System (CRS) capable of autonomously identifying and remedying software vulnerabilities is paramount; A thorough outline of both static and dynamic analysis techniques is required; The devising of a method for autonomously generating patches to remedy identified vulnerabilities is crucial; Proposing a scoring and evaluation criteria for assessing the effectiveness of the CRS is essential; Creating a detailed project management and execution plan for developing, testing, and evaluating the CRS is indispensable; Outlining a commercialization and transition plan for the CRS technology post-AQC is vital.

Product Goals

  • Design a Cyber Reasoning System (CRS) that can autonomously identify and remedy software vulnerabilities.
  • Develop a robust scoring and evaluation system for the CRS.
  • Create a detailed project management and execution plan for the CRS.

User Stories

  • As a security analyst, I want to use the CRS to identify vulnerabilities in my software to ensure robust security.
  • As a project manager, I need a detailed plan for developing, testing, and evaluating the CRS to ensure project timelines are met.
  • As a software developer, I want the CRS to autonomously generate patches to fix vulnerabilities to ensure the integrity and security of the software.
  • As a product manager, I need a commercialization and transition plan for the CRS technology to ensure a successful market transition post-AQC.
  • As a user, I want to understand the implications of the 25 classes of software weaknesses identified in MITRE’s report to be informed about potential software risks.

Implementation Approach

We will leverage Flask as the web framework to architect the Cyber Reasoning System (CRS). For autonomous identification and remediation of software vulnerabilities, the Bandit and Safety python libraries will be employed. The GitPython library will be utilized to generate patches autonomously. The scoring and evaluation system will be visualized using the Pygal library, providing insightful metrics on the CRS performance. The project management and execution plan will be orchestrated using the Tasklib library, ensuring meticulous project tracking and execution. For the commercialization and transition plan, the Django framework will be employed to build a scalable and secure product that can be transitioned to market post-AQC.

Requirement Pool

  • ['P0', 'Design a Cyber Reasoning System (CRS) that can autonomously identify and remedy software vulnerabilities']
  • ['P0', 'Develop a robust scoring and evaluation system for the CRS']
  • ['P1', 'Create a detailed project management and execution plan for the CRS']
  • ['P1', 'The CRS should autonomously generate patches to fix vulnerabilities']
  • ['P2', 'Create a commercialization and transition plan for the CRS technology']