Skip to content

A Python Flask app for creating OSCAL compliance components.

License

Notifications You must be signed in to change notification settings

CivicActions/component_creator

Repository files navigation

Component Creator

A Python Flask app for creating OSCAL compliance components.

Flask

Flask is a lightweight Python web application framework using the Jinja templating language and the Werkzeug WSGI toolkit and SQLite.

Poetry

The application's dependencies and virtual environments are managed using Python Poetry.

Set up

  • Clone the repe
  • Change directory into the repo: cd component_creator
  • Run poetry install to install the project dependencies.
  • Create a directory named instance where the databases will be installed.
  • Run the application by running poetry run flask --app app run,

Running test

With Poetry

To run tests,

poetry run python -m pytest

To run tests with coverage,

poetry run coverage run -m pytest && poetry run coverage report -m

Without Poetry

To run tests,

python -m pytest

To run tests with coverage,

coverage run -m pytest && coverage report -m

Catalogs

This application is designed to OSCAL formatted Catalog specific Components. You will need to import at least one Catalog. NIST has several resolved catalogs in their Github repository which you can use. Choose a JSON file from either the rev5 or rev4 directory, but make sure to choose a Catalog, not a Profile. For example NIST_SP-800-53_rev5_HIGH-baseline-resolved-profile_catalog.json. These Catalogs are availble to you but the system should be able to handle any OSCAL formatted Catalog.

Importing Catalogs

Once you have a Catalog you can import it into the system by clicking Catalogs -> Add a Catalog from the main menu and uploading the file. Once you have uploaded the file you will be redirected to the Catalog details page that show information about the catalog including a list of Controls.

All Catalogs imported into the system will be listed on the /catalogs page available from the main menu.

Major Contributors

License

This project is licensed under the GNU General Public License version 3 or any later version - see the LICENSE file for details. Some portions of this code are dedicated to the public domain under the terms of the Creative Commons Zero v1.0 Universal.

SPDX-License-Identifier: GPL-3.0-or-later

Copyright

Copyright 2019-2021 CivicActions, Inc.

About

A Python Flask app for creating OSCAL compliance components.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published