GithubHelp home page GithubHelp logo

component-generator's People

Contributors

brandtkeller avatar cloudbeard avatar dependabot[bot] avatar lucasrod16 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

component-generator's Issues

Capabilities as part of greater toolkit

Should the capabilities that we build here be part of a greater OSCAL toolkit? Current functionality and focus are very component-definition focused - but there may be actions we want to build in the future to support other OSCAL models and activities.

Bug - local filepath location

Opening and reading files with the tool is currently using the directory the tool is executed from - rather this should be in relation to the configuration file.

System Security Plan template generation

Given the existing format for aggregation of component-definitions - could this same declarative file not also be used to create a system security plan template?

Need to investigate what transient data moves from component definitions to SSP's.

Does Not Diff Back Matter

The component generator does not diff the back matter. In instances where only a change is made to the back matter it is not picked up.

Noticed as part of a DUBBD PR where I updated BB upstream back matter for NeuVector. Changed from Prisma to NeuVector

defenseunicorns/uds-package-dubbd#481

Review public function inputs

Review the inputs for working with OSCAL objects and look to minimize required type awareness.

IE Can we pass in []bytes instead of a known type after reading in the document?

Objective: make the publicly exposed functions better suited to other projects that may not want/need awareness of the same types as this project.

Version guardrails and model reference

Version currently is open to be any specified value. The tool should likely establish error checking for what is being specified.

While doing this work - we should consider bounding it to the available versions in Go-oscal and using those models in the generation.

Imperative flags?

Ability to generate the aggregate document through only a single CLI invocation.

--remote --remote --local

Review required fields and implement a baseline of requirements for imperative runtime.

Ability to Diff existing artifacts

Would like to investigate the ability to check for deltas between an existing artifacts and a newly generated (in memory) artifact to check for changes before generation of a new UUID.

Does this artifact UUID really need to change?

Something along the workflow of:

  • state name of file to generate (example: my-file.yaml)
  • If that file exists in the generation location:
    • Collect the required information for performing a diff
    • Likely top-level UUID / top-level metadata / child UUID's
    • generate the new artifact (in memory)
    • perform a comparison between existing data and new data
    • Only generate new data if there was an update

Need for "control-implementations" consolidation based on compliance framework

As we use components from various repos each include a starting control-implementations which points to the compliance framework (Currently just NIST 800-53). When we combine these component files this field is duplicated.

May need to look at sorting/grouping based on control-implementations frameworks for the event we start to map to multiple frameworks.

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.