Skip to content
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

Consider the use of InSpec for BDD testing? #19

Closed
anweiss opened this issue Mar 15, 2017 · 6 comments
Closed

Consider the use of InSpec for BDD testing? #19

anweiss opened this issue Mar 15, 2017 · 6 comments

Comments

@anweiss
Copy link

anweiss commented Mar 15, 2017

Looks like Chef came out with a pretty slick open source compliance-as-code framework and DSL called InSpec (http://inspec.io/) which supports a number of OS's. This could be a nice complement to OpenControl in the form of BDD testing. Some ideas below:

  • Tap in to InSpec by way of a Compliance Masonry plugin
  • Include InSpec DSL resources alongside component.yaml definitions
@pburkholder
Copy link

pburkholder commented Mar 15, 2017 via email

@mogul
Copy link

mogul commented Mar 15, 2017 via email

@anweiss
Copy link
Author

anweiss commented Apr 26, 2017

@mogul could you maybe provide a concrete example of what you've described? I'm looking through what was started with the cloud.gov compliance examples and came across this snippet from one of the component.yaml files:

...

verifications:
- key: POLICY_DOC
  name: Policy Document
  path: https://github.com/18F/compliance-docs/blob/master/AT-Policy.md
  type: URL
- description: "GIVEN the github link - <policy> THEN the policy has been updated\
    \ within the last 180 days \n"
  key: Policy_Update_Test
  last_run: 2016-04-07 13:25:17.456091
  name: 18F Policies Update
  path: BDD/policies.feature
  test_passed: false
  type: TEST

In essence, could we hook the verifications map in to compliance-masonry plugins for various auditing tools (e.g. InSpec, OpenSCAP, etc)?

@mogul
Copy link

mogul commented May 3, 2017

I didn't write that snippet; I believe @geramirez (or maybe @jcscottiii) did, and would better be able to answer questions about it.

In general, yeah, the verifications were intended to give a pointer to automated verification implementation. (I believe the way this worked was that the test_passed and last_run YAML elements were actually filled in when the tests were run.) It should be made generic to whatever tools make sense; BDD/Gherkin is just where I was starting from and what I was familiar with.

@shawndwells
Copy link
Member

No activity on this discussion for over a year. Closing for inactivity. Feel free to reopen as appropriate!

@git-ingham
Copy link

At a high level, InSpec looks a lot like SCAP. Admittedly, SCAP is complex, but by the time you meet a DISA stig with InSpec, I suspect that the complexity will be similar.

Not reopening, just adding a comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants