◦ a simple language to describe tests ◦ local & remote execution engine ◦ flexible reporting • Used primarily for infrastructure and compliance testing
2 Resource Pack • Resource improvements are managed independently from InSpec’s runtime • Easier to support new platforms • Makes management of runtime independent from the the user of the runtime
CLI https://github.com/inspec/inspec-iggy ◦ Backend https://github.com/inspec/train-digitalocean • Resource Packs for Platforms ◦ https://github.com/chris-rock/inspec-digitalocean • See https://github.com/inspec/inspec/issues/3089 for more details
where a control cannot run: ◦ The user doesn't want it to run when inheriting the profile Example: Use your colleague's AWS profile but skip all controls that test S3. ◦ The control isn't run when certain conditions are met. For example don't test MySQL if it isn't installed. ◦ A control is skipped if it uses resources that are not supported on the target system. For example looking for a "package" when testing an API. • See https://github.com/inspec/inspec/issues/3158 for more details
that is implicitly scaled as: 0.0 Informational <0.4 Minor controls <0.7 Major controls <=1.0 Critical controls We can now be more descriptive and use the CVSS values: low, medium, high, critical See https://github.com/inspec/inspec/issues/562 control 'one' do impact 1.0 control 'one' do impact 'critical'
following in our controls: desc ' This is a very long description. Rational: Why we do this… Fixtext: How to fix it… ' This doesn’t expose the context of the description, e.g. the “rational” or “fixtext”.
descriptions, users can provide more context: desc ' This is a very long description. ' desc 'rational': 'Why we do this...' desc 'fixtext' : 'How to fix it...' See https://github.com/inspec/inspec/issues/1695