-
Notifications
You must be signed in to change notification settings - Fork 184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[do not merge] "oscalkit" utility #65
Conversation
@david-waltermire-nist per #71 (comment), is CC0 Public Domain acceptable? -> https://creativecommons.org/publicdomain/zero/1.0/ |
18F has a nice example of this whereby mixed content (i.e. dependencies) is cited appropriately -> https://github.com/18F/18f.gsa.gov/blob/master/LICENSE.md |
This utility can now convert OpenControl-formatted projects in to OSCAL-formatted JSON and YAML "implementation" layer. Generation of YAML is purely to enable a more seamless transition for OpenControl users in to OSCAL-formatted JSON and/or XML |
d973486
to
87c2b06
Compare
# The first commit's message is: # This is a combination of 54 commits. # The first commit's message is: # This is a combination of 4 commits. # The first commit's message is: # This is a combination of 2 commits. # The first commit's message is: # This is a combination of 2 commits. # The first commit's message is: # This is a combination of 6 commits. # The first commit's message is: # This is a combination of 3 commits. # The first commit's message is: # This is a combination of 111 commits. # The first commit's message is: Initial commit of docs branch. # This is the commit message #2: Create CONTRIBUTING.md # This is the commit message #3: Create ROADMAP.md # This is the commit message #4: Update README.md # This is the commit message #5: Create README.md # This is the commit message #6: Update README.md # This is the commit message #7: Update README.md # This is the commit message #8: Create OSCAL-PRODUCERS.md # This is the commit message #9: Create OSCAL-CONSUMERS.md # This is the commit message #10: Update and rename OSCAL-CONSUMERS.md to USERS.md # This is the commit message #11: Update and rename OSCAL-PRODUCERS.md to IMPLEMENTERS.md # This is the commit message #12: Rename CONTRIBUTING.md to CONTRIBUTORS.md # This is the commit message #13: Update README.md # This is the commit message #14: Update README.md # This is the commit message #15: Update USERS.md # This is the commit message #16: Update README.md # This is the commit message #17: Update IMPLEMENTERS.md # This is the commit message #18: Update README.md # This is the commit message #19: Update ROADMAP.md # This is the commit message #20: Update USERS.md # This is the commit message #21: Update CONTRIBUTORS.md # This is the commit message #22: Update README.md # This is the commit message #23: Update README.md # This is the commit message #24: Update IMPLEMENTERS.md # This is the commit message #25: Update IMPLEMENTERS.md # This is the commit message #26: Rename CONTRIBUTORS.md to CONTRIBUTING.md # This is the commit message #27: Create control.md # This is the commit message #28: Update control.md # This is the commit message #29: Update control.md # This is the commit message #30: Update control.md # This is the commit message #31: Update control.md # This is the commit message #32: Add files via upload # This is the commit message #33: Update control.md # This is the commit message #34: Create temp.md # This is the commit message #35: Delete NIST-SP-800-53-Rev4-AC1.png # This is the commit message #36: Add files via upload # This is the commit message #37: Delete temp.md # This is the commit message #38: Add files via upload # This is the commit message #39: Update control.md # This is the commit message #40: Add files via upload # This is the commit message #41: Add files via upload # This is the commit message #42: Update control.md # This is the commit message #43: Update CONTRIBUTING.md # This is the commit message #44: Update CONTRIBUTING.md # This is the commit message #45: Update USERS.md # This is the commit message #46: Update CONTRIBUTING.md # This is the commit message #47: Delete CONTRIBUTING.md # This is the commit message #48: Delete USERS.md # This is the commit message #49: Add files via upload # This is the commit message #50: Delete CSA-CCM-IAM02.png # This is the commit message #51: Update control.md # This is the commit message #52: Update control.md # This is the commit message #53: Update control.md # This is the commit message #54: Update control.md # This is the commit message #55: Update control.md # This is the commit message #56: Update control.md # This is the commit message #57: Update control.md # This is the commit message #58: Update control.md # This is the commit message #59: Update control.md # This is the commit message #60: Update control.md # This is the commit message #61: Delete NIST-SP-800-53-AC1-in-OSCAL-XML.png # This is the commit message #62: Update README.md # This is the commit message #63: Update control.md # This is the commit message #64: Update control.md # This is the commit message #65: Add files via upload # This is the commit message #66: Delete ISO-27001-Control-A9.png # This is the commit message #67: Update control.md # This is the commit message #68: Add files via upload # This is the commit message #69: Add files via upload # This is the commit message #70: Delete ISO-27002-Control-9.1.1-part1.png # This is the commit message #71: Delete ISO-27002-Control-9.1.1-part2.png # This is the commit message #72: Update control.md # This is the commit message #73: Update control.md # This is the commit message #74: Update control.md # This is the commit message #75: Update control.md # This is the commit message #76: Update control.md # This is the commit message #77: Update README.md # This is the commit message #78: Update IMPLEMENTERS.md # This is the commit message #79: Add files via upload # This is the commit message #80: Delete oscal-layers.png # This is the commit message #81: Add files via upload # This is the commit message #82: Delete oscal-layers.png # This is the commit message #83: Add files via upload # This is the commit message #84: Update IMPLEMENTERS.md # This is the commit message #85: Update control.md # This is the commit message #86: Update IMPLEMENTERS.md # This is the commit message #87: Update control.md # This is the commit message #88: Rename IMPLEMENTERS.md to docs/prose/IMPLEMENTERS.md # This is the commit message #89: Rename IMPLEMENTERS.md to implementers.md # This is the commit message #90: Rearranged and outlined catalog documentation based on the conversation with karen and Wendell. # This is the commit message #91: Create catalog-xml.md # This is the commit message #92: Rename control.md to catalog.md # This is the commit message #93: Update catalog.md # This is the commit message #94: Update catalog.md # This is the commit message #95: Update catalog.md # This is the commit message #96: Update catalog-xml.md # This is the commit message #97: Update catalog-xml.md # This is the commit message #98: Update catalog-xml.md # This is the commit message #99: Update catalog-xml.md # This is the commit message #100: Update catalog-xml.md # This is the commit message #101: Update catalog-xml.md # This is the commit message #102: Update catalog-xml.md # This is the commit message #103: Update catalog-xml.md # This is the commit message #104: Update catalog-xml.md # This is the commit message #105: Update catalog-xml.md # This is the commit message #106: Docset migration to Slate # This is the commit message #107: Removing unused file. # This is the commit message #108: Update README.md Corrected a typo # This is the commit message #109: Add files via upload Graphical representation of OSCAL schemas aligned with Risk Management Framework steps and tasks. # This is the commit message #110: Create CONTRIBUTING.md # This is the commit message #111: Create ROADMAP.md # This is the commit message #2: Create README.md # This is the commit message #3: Update README.md # This is the commit message #2: Create OSCAL-PRODUCERS.md # This is the commit message #3: Create OSCAL-CONSUMERS.md # This is the commit message #4: Update and rename OSCAL-CONSUMERS.md to USERS.md # This is the commit message #5: Update and rename OSCAL-PRODUCERS.md to IMPLEMENTERS.md # This is the commit message #6: Rename CONTRIBUTING.md to CONTRIBUTORS.md # This is the commit message #2: Update USERS.md # This is the commit message #2: Update IMPLEMENTERS.md # This is the commit message #2: Update ROADMAP.md # This is the commit message #3: Update USERS.md # This is the commit message #4: Update CONTRIBUTORS.md # This is the commit message #2: Update IMPLEMENTERS.md # This is the commit message #3: Update IMPLEMENTERS.md # This is the commit message #4: Rename CONTRIBUTORS.md to CONTRIBUTING.md # This is the commit message #5: Create control.md # This is the commit message #6: Update control.md # This is the commit message #7: Update control.md # This is the commit message #8: Update control.md # This is the commit message #9: Update control.md # This is the commit message #10: Add files via upload # This is the commit message #11: Update control.md # This is the commit message #12: Create temp.md # This is the commit message #13: Delete NIST-SP-800-53-Rev4-AC1.png # This is the commit message #14: Add files via upload # This is the commit message #15: Delete temp.md # This is the commit message #16: Add files via upload # This is the commit message #17: Update control.md # This is the commit message #18: Add files via upload # This is the commit message #19: Add files via upload # This is the commit message #20: Update control.md # This is the commit message #21: Update CONTRIBUTING.md # This is the commit message #22: Update CONTRIBUTING.md # This is the commit message #23: Update USERS.md # This is the commit message #24: Update CONTRIBUTING.md # This is the commit message #25: Delete CONTRIBUTING.md # This is the commit message #26: Delete USERS.md # This is the commit message #27: Add files via upload # This is the commit message #28: Delete CSA-CCM-IAM02.png # This is the commit message #29: Update control.md # This is the commit message #30: Update control.md # This is the commit message #31: Update control.md # This is the commit message #32: Update control.md # This is the commit message #33: Update control.md # This is the commit message #34: Update control.md # This is the commit message #35: Update control.md # This is the commit message #36: Update control.md # This is the commit message #37: Update control.md # This is the commit message #38: Update control.md # This is the commit message #39: Delete NIST-SP-800-53-AC1-in-OSCAL-XML.png # This is the commit message #40: Update README.md # This is the commit message #41: Update control.md # This is the commit message #42: Update control.md # This is the commit message #43: Add files via upload # This is the commit message #44: Delete ISO-27001-Control-A9.png # This is the commit message #45: Update control.md # This is the commit message #46: Add files via upload # This is the commit message #47: Add files via upload # This is the commit message #48: Delete ISO-27002-Control-9.1.1-part1.png # This is the commit message #49: Delete ISO-27002-Control-9.1.1-part2.png # This is the commit message #50: Update control.md # This is the commit message #51: Update control.md # This is the commit message #52: Update control.md # This is the commit message #53: Update control.md # This is the commit message #54: Update control.md # This is the commit message #2: Update IMPLEMENTERS.md # This is the commit message #3: Add files via upload # This is the commit message #4: Delete oscal-layers.png # This is the commit message #5: Add files via upload # This is the commit message #6: Delete oscal-layers.png # This is the commit message #7: Add files via upload # This is the commit message #8: Update IMPLEMENTERS.md # This is the commit message #9: Update control.md # This is the commit message #10: Update IMPLEMENTERS.md # This is the commit message #11: Update control.md # This is the commit message #12: Rename IMPLEMENTERS.md to docs/prose/IMPLEMENTERS.md # This is the commit message #13: Rename IMPLEMENTERS.md to implementers.md # This is the commit message #14: Rearranged and outlined catalog documentation based on the conversation with karen and Wendell. # This is the commit message #15: Create catalog-xml.md # This is the commit message #16: Rename control.md to catalog.md # This is the commit message #17: Update catalog.md # This is the commit message #18: Update catalog.md # This is the commit message #19: Update catalog.md # This is the commit message #20: Update catalog-xml.md # This is the commit message #21: Update catalog-xml.md # This is the commit message #22: Update catalog-xml.md # This is the commit message #23: Update catalog-xml.md # This is the commit message #24: Update catalog-xml.md # This is the commit message #25: Update catalog-xml.md # This is the commit message #26: Update catalog-xml.md # This is the commit message #27: Update catalog-xml.md # This is the commit message #28: Update catalog-xml.md # This is the commit message #29: Fixed typos, updated repo documentation, and migrated documentation for use in Slate. Corrected a typo (+4 squashed commit) Squashed commit: [6ada57f] Removing unused file. [503ad71] Docset migration to Slate [351257e] Update catalog-xml.md [aae1e8b] Add files via upload Graphical representation of OSCAL schemas aligned with Risk Management Framework steps and tasks.
oscalkit
is a work in-progress, barebones command-line utility for converting between OSCAL-formatted XML and JSON (and YAML). It also provides for JSON and XML schema validation. It can be cross-compiled and run on Linux, Windows and macOS.Given
trang
is used for RNC conversion to XSD,jing
should continue to be used as the primary XML validation mechanism. However,oscalkit
can also be used to validate against XML schema viaxmllint
and/orjing
.The main purpose of this tool is to aid in the development and CI/CD activities for the OSCAL spec itself. It's goal is not to prescribe any OSCAL consumption approaches for tool vendors, and instead merely serves as a simple utility to support generation/parsing of JSON (and YAML) alongside the existing Trang, XSLT and XProc tooling used for XML. This utility could certainly serve as a starting point for OSCAL SDK development, but such development is likely to fall outside of the scope of the spec itself.
Supports #10, #63 and #64