inspec 4.18.51 → 4.18.85

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. checksums.yaml +4 -4
  2. data/inspec.gemspec +15 -37
  3. data/lib/resource_support/aws/aws_resource_mixin.rb +1 -1
  4. metadata +22 -709
  5. data/Gemfile +0 -61
  6. data/LICENSE +0 -14
  7. data/README.md +0 -474
  8. data/etc/deprecations.json +0 -125
  9. data/etc/plugin_filters.json +0 -45
  10. data/lib/bundles/README.md +0 -3
  11. data/lib/bundles/inspec-compliance/api.rb +0 -7
  12. data/lib/bundles/inspec-compliance/configuration.rb +0 -7
  13. data/lib/bundles/inspec-compliance/http.rb +0 -7
  14. data/lib/bundles/inspec-compliance/support.rb +0 -7
  15. data/lib/bundles/inspec-compliance/target.rb +0 -7
  16. data/lib/bundles/inspec-supermarket.rb +0 -9
  17. data/lib/bundles/inspec-supermarket/README.md +0 -45
  18. data/lib/bundles/inspec-supermarket/api.rb +0 -87
  19. data/lib/bundles/inspec-supermarket/cli.rb +0 -71
  20. data/lib/bundles/inspec-supermarket/target.rb +0 -31
  21. data/lib/inspec.rb +0 -30
  22. data/lib/inspec/archive/tar.rb +0 -25
  23. data/lib/inspec/archive/zip.rb +0 -15
  24. data/lib/inspec/backend.rb +0 -101
  25. data/lib/inspec/base_cli.rb +0 -318
  26. data/lib/inspec/cached_fetcher.rb +0 -65
  27. data/lib/inspec/cli.rb +0 -469
  28. data/lib/inspec/completions/bash.sh.erb +0 -45
  29. data/lib/inspec/completions/fish.sh.erb +0 -34
  30. data/lib/inspec/completions/zsh.sh.erb +0 -61
  31. data/lib/inspec/config.rb +0 -511
  32. data/lib/inspec/control_eval_context.rb +0 -248
  33. data/lib/inspec/dependencies/cache.rb +0 -74
  34. data/lib/inspec/dependencies/dependency_set.rb +0 -93
  35. data/lib/inspec/dependencies/lockfile.rb +0 -115
  36. data/lib/inspec/dependencies/requirement.rb +0 -135
  37. data/lib/inspec/dependencies/resolver.rb +0 -86
  38. data/lib/inspec/describe_base.rb +0 -53
  39. data/lib/inspec/dist.rb +0 -20
  40. data/lib/inspec/dsl.rb +0 -115
  41. data/lib/inspec/dsl_shared.rb +0 -32
  42. data/lib/inspec/env_printer.rb +0 -156
  43. data/lib/inspec/errors.rb +0 -18
  44. data/lib/inspec/exceptions.rb +0 -11
  45. data/lib/inspec/expect.rb +0 -42
  46. data/lib/inspec/fetcher.rb +0 -48
  47. data/lib/inspec/fetcher/git.rb +0 -211
  48. data/lib/inspec/fetcher/local.rb +0 -116
  49. data/lib/inspec/fetcher/mock.rb +0 -34
  50. data/lib/inspec/fetcher/url.rb +0 -281
  51. data/lib/inspec/file_provider.rb +0 -318
  52. data/lib/inspec/formatters.rb +0 -3
  53. data/lib/inspec/formatters/base.rb +0 -269
  54. data/lib/inspec/formatters/json_rspec.rb +0 -20
  55. data/lib/inspec/formatters/show_progress.rb +0 -12
  56. data/lib/inspec/globals.rb +0 -9
  57. data/lib/inspec/impact.rb +0 -36
  58. data/lib/inspec/input.rb +0 -421
  59. data/lib/inspec/input_dsl_helpers.rb +0 -26
  60. data/lib/inspec/input_registry.rb +0 -315
  61. data/lib/inspec/library_eval_context.rb +0 -55
  62. data/lib/inspec/log.rb +0 -7
  63. data/lib/inspec/metadata.rb +0 -253
  64. data/lib/inspec/method_source.rb +0 -20
  65. data/lib/inspec/objects.rb +0 -14
  66. data/lib/inspec/objects/control.rb +0 -85
  67. data/lib/inspec/objects/describe.rb +0 -106
  68. data/lib/inspec/objects/each_loop.rb +0 -41
  69. data/lib/inspec/objects/input.rb +0 -49
  70. data/lib/inspec/objects/list.rb +0 -15
  71. data/lib/inspec/objects/or_test.rb +0 -45
  72. data/lib/inspec/objects/ruby_helper.rb +0 -13
  73. data/lib/inspec/objects/tag.rb +0 -32
  74. data/lib/inspec/objects/test.rb +0 -94
  75. data/lib/inspec/objects/value.rb +0 -32
  76. data/lib/inspec/plugin/v1.rb +0 -2
  77. data/lib/inspec/plugin/v1/plugin_types/cli.rb +0 -22
  78. data/lib/inspec/plugin/v1/plugin_types/fetcher.rb +0 -83
  79. data/lib/inspec/plugin/v1/plugin_types/resource.rb +0 -176
  80. data/lib/inspec/plugin/v1/plugin_types/secret.rb +0 -11
  81. data/lib/inspec/plugin/v1/plugin_types/source_reader.rb +0 -36
  82. data/lib/inspec/plugin/v1/plugins.rb +0 -59
  83. data/lib/inspec/plugin/v1/registry.rb +0 -90
  84. data/lib/inspec/plugin/v2.rb +0 -46
  85. data/lib/inspec/plugin/v2/activator.rb +0 -40
  86. data/lib/inspec/plugin/v2/config_file.rb +0 -151
  87. data/lib/inspec/plugin/v2/filter.rb +0 -96
  88. data/lib/inspec/plugin/v2/installer.rb +0 -512
  89. data/lib/inspec/plugin/v2/loader.rb +0 -321
  90. data/lib/inspec/plugin/v2/plugin_base.rb +0 -112
  91. data/lib/inspec/plugin/v2/plugin_types/cli.rb +0 -49
  92. data/lib/inspec/plugin/v2/plugin_types/dsl.rb +0 -11
  93. data/lib/inspec/plugin/v2/plugin_types/input.rb +0 -34
  94. data/lib/inspec/plugin/v2/plugin_types/mock.rb +0 -12
  95. data/lib/inspec/plugin/v2/registry.rb +0 -98
  96. data/lib/inspec/plugin/v2/status.rb +0 -29
  97. data/lib/inspec/profile.rb +0 -658
  98. data/lib/inspec/profile_context.rb +0 -203
  99. data/lib/inspec/profile_vendor.rb +0 -84
  100. data/lib/inspec/reporters.rb +0 -73
  101. data/lib/inspec/reporters/automate.rb +0 -78
  102. data/lib/inspec/reporters/base.rb +0 -25
  103. data/lib/inspec/reporters/cli.rb +0 -370
  104. data/lib/inspec/reporters/json.rb +0 -113
  105. data/lib/inspec/reporters/json_automate.rb +0 -80
  106. data/lib/inspec/reporters/json_min.rb +0 -48
  107. data/lib/inspec/reporters/junit.rb +0 -77
  108. data/lib/inspec/reporters/yaml.rb +0 -20
  109. data/lib/inspec/require_loader.rb +0 -29
  110. data/lib/inspec/resource.rb +0 -114
  111. data/lib/inspec/resources.rb +0 -130
  112. data/lib/inspec/resources/aide_conf.rb +0 -153
  113. data/lib/inspec/resources/apache.rb +0 -47
  114. data/lib/inspec/resources/apache_conf.rb +0 -156
  115. data/lib/inspec/resources/apt.rb +0 -151
  116. data/lib/inspec/resources/audit_policy.rb +0 -64
  117. data/lib/inspec/resources/auditd.rb +0 -251
  118. data/lib/inspec/resources/auditd_conf.rb +0 -45
  119. data/lib/inspec/resources/bash.rb +0 -33
  120. data/lib/inspec/resources/bond.rb +0 -70
  121. data/lib/inspec/resources/bridge.rb +0 -125
  122. data/lib/inspec/resources/bsd_service.rb +0 -2
  123. data/lib/inspec/resources/chocolatey_package.rb +0 -82
  124. data/lib/inspec/resources/command.rb +0 -91
  125. data/lib/inspec/resources/cpan.rb +0 -58
  126. data/lib/inspec/resources/cran.rb +0 -64
  127. data/lib/inspec/resources/crontab.rb +0 -173
  128. data/lib/inspec/resources/csv.rb +0 -56
  129. data/lib/inspec/resources/dh_params.rb +0 -83
  130. data/lib/inspec/resources/directory.rb +0 -23
  131. data/lib/inspec/resources/docker.rb +0 -274
  132. data/lib/inspec/resources/docker_container.rb +0 -91
  133. data/lib/inspec/resources/docker_image.rb +0 -84
  134. data/lib/inspec/resources/docker_object.rb +0 -52
  135. data/lib/inspec/resources/docker_plugin.rb +0 -64
  136. data/lib/inspec/resources/docker_service.rb +0 -91
  137. data/lib/inspec/resources/elasticsearch.rb +0 -165
  138. data/lib/inspec/resources/etc_fstab.rb +0 -96
  139. data/lib/inspec/resources/etc_group.rb +0 -157
  140. data/lib/inspec/resources/etc_hosts.rb +0 -68
  141. data/lib/inspec/resources/etc_hosts_allow.rb +0 -2
  142. data/lib/inspec/resources/etc_hosts_allow_deny.rb +0 -114
  143. data/lib/inspec/resources/etc_hosts_deny.rb +0 -2
  144. data/lib/inspec/resources/file.rb +0 -339
  145. data/lib/inspec/resources/filesystem.rb +0 -139
  146. data/lib/inspec/resources/firewalld.rb +0 -148
  147. data/lib/inspec/resources/gem.rb +0 -80
  148. data/lib/inspec/resources/group.rb +0 -2
  149. data/lib/inspec/resources/groups.rb +0 -241
  150. data/lib/inspec/resources/grub_conf.rb +0 -230
  151. data/lib/inspec/resources/host.rb +0 -310
  152. data/lib/inspec/resources/http.rb +0 -275
  153. data/lib/inspec/resources/iis_app.rb +0 -101
  154. data/lib/inspec/resources/iis_app_pool.rb +0 -127
  155. data/lib/inspec/resources/iis_site.rb +0 -148
  156. data/lib/inspec/resources/iis_website.rb +0 -2
  157. data/lib/inspec/resources/inetd_conf.rb +0 -53
  158. data/lib/inspec/resources/ini.rb +0 -28
  159. data/lib/inspec/resources/interface.rb +0 -204
  160. data/lib/inspec/resources/ip6tables.rb +0 -79
  161. data/lib/inspec/resources/iptables.rb +0 -80
  162. data/lib/inspec/resources/json.rb +0 -116
  163. data/lib/inspec/resources/kernel_module.rb +0 -106
  164. data/lib/inspec/resources/kernel_parameter.rb +0 -54
  165. data/lib/inspec/resources/key_rsa.rb +0 -66
  166. data/lib/inspec/resources/ksh.rb +0 -33
  167. data/lib/inspec/resources/launchd_service.rb +0 -2
  168. data/lib/inspec/resources/limits_conf.rb +0 -45
  169. data/lib/inspec/resources/linux_kernel_parameter.rb +0 -2
  170. data/lib/inspec/resources/login_defs.rb +0 -56
  171. data/lib/inspec/resources/mount.rb +0 -88
  172. data/lib/inspec/resources/mssql_session.rb +0 -117
  173. data/lib/inspec/resources/mysql.rb +0 -81
  174. data/lib/inspec/resources/mysql_conf.rb +0 -128
  175. data/lib/inspec/resources/mysql_session.rb +0 -88
  176. data/lib/inspec/resources/nginx.rb +0 -96
  177. data/lib/inspec/resources/nginx_conf.rb +0 -232
  178. data/lib/inspec/resources/noop.rb +0 -9
  179. data/lib/inspec/resources/npm.rb +0 -68
  180. data/lib/inspec/resources/ntp_conf.rb +0 -51
  181. data/lib/inspec/resources/oneget.rb +0 -71
  182. data/lib/inspec/resources/oracledb_session.rb +0 -149
  183. data/lib/inspec/resources/os.rb +0 -34
  184. data/lib/inspec/resources/os_env.rb +0 -86
  185. data/lib/inspec/resources/package.rb +0 -391
  186. data/lib/inspec/resources/packages.rb +0 -111
  187. data/lib/inspec/resources/parse_config.rb +0 -112
  188. data/lib/inspec/resources/parse_config_file.rb +0 -2
  189. data/lib/inspec/resources/passwd.rb +0 -73
  190. data/lib/inspec/resources/pip.rb +0 -132
  191. data/lib/inspec/resources/platform.rb +0 -112
  192. data/lib/inspec/resources/port.rb +0 -791
  193. data/lib/inspec/resources/postfix_conf.rb +0 -35
  194. data/lib/inspec/resources/postgres.rb +0 -152
  195. data/lib/inspec/resources/postgres_conf.rb +0 -116
  196. data/lib/inspec/resources/postgres_hba_conf.rb +0 -86
  197. data/lib/inspec/resources/postgres_ident_conf.rb +0 -75
  198. data/lib/inspec/resources/postgres_session.rb +0 -70
  199. data/lib/inspec/resources/powershell.rb +0 -67
  200. data/lib/inspec/resources/ppa.rb +0 -2
  201. data/lib/inspec/resources/processes.rb +0 -219
  202. data/lib/inspec/resources/rabbitmq_conf.rb +0 -2
  203. data/lib/inspec/resources/rabbitmq_config.rb +0 -52
  204. data/lib/inspec/resources/registry_key.rb +0 -296
  205. data/lib/inspec/resources/runit_service.rb +0 -2
  206. data/lib/inspec/resources/script.rb +0 -1
  207. data/lib/inspec/resources/security_identifier.rb +0 -91
  208. data/lib/inspec/resources/security_policy.rb +0 -182
  209. data/lib/inspec/resources/service.rb +0 -820
  210. data/lib/inspec/resources/shadow.rb +0 -150
  211. data/lib/inspec/resources/ssh_config.rb +0 -98
  212. data/lib/inspec/resources/sshd_config.rb +0 -2
  213. data/lib/inspec/resources/ssl.rb +0 -99
  214. data/lib/inspec/resources/sys_info.rb +0 -119
  215. data/lib/inspec/resources/systemd_service.rb +0 -2
  216. data/lib/inspec/resources/sysv_service.rb +0 -2
  217. data/lib/inspec/resources/toml.rb +0 -30
  218. data/lib/inspec/resources/upstart_service.rb +0 -2
  219. data/lib/inspec/resources/user.rb +0 -1
  220. data/lib/inspec/resources/users.rb +0 -742
  221. data/lib/inspec/resources/vbscript.rb +0 -67
  222. data/lib/inspec/resources/virtualization.rb +0 -255
  223. data/lib/inspec/resources/windows_feature.rb +0 -126
  224. data/lib/inspec/resources/windows_hotfix.rb +0 -37
  225. data/lib/inspec/resources/windows_registry_key.rb +0 -2
  226. data/lib/inspec/resources/windows_task.rb +0 -112
  227. data/lib/inspec/resources/wmi.rb +0 -109
  228. data/lib/inspec/resources/x509_certificate.rb +0 -143
  229. data/lib/inspec/resources/xinetd_conf.rb +0 -103
  230. data/lib/inspec/resources/xml.rb +0 -48
  231. data/lib/inspec/resources/yaml.rb +0 -42
  232. data/lib/inspec/resources/yum.rb +0 -162
  233. data/lib/inspec/resources/zfs_dataset.rb +0 -62
  234. data/lib/inspec/resources/zfs_pool.rb +0 -50
  235. data/lib/inspec/rspec_extensions.rb +0 -116
  236. data/lib/inspec/rule.rb +0 -389
  237. data/lib/inspec/runner.rb +0 -333
  238. data/lib/inspec/runner_mock.rb +0 -37
  239. data/lib/inspec/runner_rspec.rb +0 -184
  240. data/lib/inspec/runtime_profile.rb +0 -23
  241. data/lib/inspec/schema.rb +0 -245
  242. data/lib/inspec/secrets.rb +0 -15
  243. data/lib/inspec/secrets/yaml.rb +0 -29
  244. data/lib/inspec/shell.rb +0 -211
  245. data/lib/inspec/shell_detector.rb +0 -89
  246. data/lib/inspec/source_reader.rb +0 -26
  247. data/lib/inspec/ui.rb +0 -213
  248. data/lib/inspec/ui_table_helper.rb +0 -12
  249. data/lib/inspec/utils/command_wrapper.rb +0 -23
  250. data/lib/inspec/utils/convert.rb +0 -8
  251. data/lib/inspec/utils/database_helpers.rb +0 -75
  252. data/lib/inspec/utils/deprecation.rb +0 -6
  253. data/lib/inspec/utils/deprecation/config_file.rb +0 -109
  254. data/lib/inspec/utils/deprecation/deprecator.rb +0 -118
  255. data/lib/inspec/utils/deprecation/errors.rb +0 -14
  256. data/lib/inspec/utils/deprecation/global_method.rb +0 -9
  257. data/lib/inspec/utils/enumerable_delegation.rb +0 -7
  258. data/lib/inspec/utils/erlang_parser.rb +0 -190
  259. data/lib/inspec/utils/file_reader.rb +0 -24
  260. data/lib/inspec/utils/filter.rb +0 -461
  261. data/lib/inspec/utils/filter_array.rb +0 -25
  262. data/lib/inspec/utils/find_files.rb +0 -44
  263. data/lib/inspec/utils/hash.rb +0 -37
  264. data/lib/inspec/utils/json_log.rb +0 -15
  265. data/lib/inspec/utils/modulator.rb +0 -9
  266. data/lib/inspec/utils/nginx_parser.rb +0 -101
  267. data/lib/inspec/utils/object_traversal.rb +0 -47
  268. data/lib/inspec/utils/parser.rb +0 -277
  269. data/lib/inspec/utils/pkey_reader.rb +0 -17
  270. data/lib/inspec/utils/simpleconfig.rb +0 -121
  271. data/lib/inspec/utils/spdx.rb +0 -10
  272. data/lib/inspec/utils/spdx.txt +0 -383
  273. data/lib/inspec/utils/telemetry.rb +0 -3
  274. data/lib/inspec/utils/telemetry/collector.rb +0 -81
  275. data/lib/inspec/utils/telemetry/data_series.rb +0 -44
  276. data/lib/inspec/utils/telemetry/global_methods.rb +0 -22
  277. data/lib/inspec/version.rb +0 -3
  278. data/lib/matchers/matchers.rb +0 -341
  279. data/lib/plugins/README.md +0 -16
  280. data/lib/plugins/inspec-artifact/lib/inspec-artifact.rb +0 -12
  281. data/lib/plugins/inspec-artifact/lib/inspec-artifact/base.rb +0 -170
  282. data/lib/plugins/inspec-artifact/lib/inspec-artifact/cli.rb +0 -116
  283. data/lib/plugins/inspec-artifact/test/functional/inspec_artifact_test.rb +0 -50
  284. data/lib/plugins/inspec-compliance/README.md +0 -207
  285. data/lib/plugins/inspec-compliance/lib/inspec-compliance.rb +0 -12
  286. data/lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb +0 -362
  287. data/lib/plugins/inspec-compliance/lib/inspec-compliance/api/login.rb +0 -198
  288. data/lib/plugins/inspec-compliance/lib/inspec-compliance/cli.rb +0 -269
  289. data/lib/plugins/inspec-compliance/lib/inspec-compliance/configuration.rb +0 -103
  290. data/lib/plugins/inspec-compliance/lib/inspec-compliance/http.rb +0 -117
  291. data/lib/plugins/inspec-compliance/lib/inspec-compliance/images/cc-token.png +0 -0
  292. data/lib/plugins/inspec-compliance/lib/inspec-compliance/support.rb +0 -34
  293. data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +0 -146
  294. data/lib/plugins/inspec-compliance/test/functional/inspec_compliance_test.rb +0 -53
  295. data/lib/plugins/inspec-compliance/test/integration/default/cli.rb +0 -91
  296. data/lib/plugins/inspec-compliance/test/unit/api/login_test.rb +0 -190
  297. data/lib/plugins/inspec-compliance/test/unit/api_test.rb +0 -386
  298. data/lib/plugins/inspec-compliance/test/unit/target_test.rb +0 -155
  299. data/lib/plugins/inspec-habitat/Berksfile +0 -5
  300. data/lib/plugins/inspec-habitat/README.md +0 -150
  301. data/lib/plugins/inspec-habitat/kitchen.yml +0 -28
  302. data/lib/plugins/inspec-habitat/lib/inspec-habitat.rb +0 -11
  303. data/lib/plugins/inspec-habitat/lib/inspec-habitat/cli.rb +0 -41
  304. data/lib/plugins/inspec-habitat/lib/inspec-habitat/profile.rb +0 -265
  305. data/lib/plugins/inspec-habitat/templates/habitat/plan.sh.erb +0 -6
  306. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/Berksfile +0 -2
  307. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/README.md +0 -3
  308. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/files/hab_setup.exp +0 -28
  309. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/metadata.rb +0 -9
  310. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/recipes/default.rb +0 -61
  311. data/lib/plugins/inspec-habitat/test/functional/inspec_habitat_test.rb +0 -34
  312. data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/README.md +0 -3
  313. data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/controls/inspec_habitat.rb +0 -40
  314. data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/inspec.yml +0 -10
  315. data/lib/plugins/inspec-habitat/test/support/example_profile/README.md +0 -3
  316. data/lib/plugins/inspec-habitat/test/support/example_profile/controls/example.rb +0 -7
  317. data/lib/plugins/inspec-habitat/test/support/example_profile/inspec.yml +0 -10
  318. data/lib/plugins/inspec-habitat/test/unit/profile_test.rb +0 -242
  319. data/lib/plugins/inspec-init/README.md +0 -31
  320. data/lib/plugins/inspec-init/lib/inspec-init.rb +0 -12
  321. data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +0 -15
  322. data/lib/plugins/inspec-init/lib/inspec-init/cli_plugin.rb +0 -243
  323. data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +0 -47
  324. data/lib/plugins/inspec-init/lib/inspec-init/renderer.rb +0 -97
  325. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/Gemfile +0 -11
  326. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/LICENSE +0 -2
  327. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/README.md +0 -28
  328. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/Rakefile +0 -40
  329. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template.rb +0 -14
  330. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/cli_command.rb +0 -62
  331. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/plugin.rb +0 -53
  332. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/version.rb +0 -8
  333. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/fixtures/README.md +0 -24
  334. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/functional/README.md +0 -12
  335. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/functional/inspec_plugin_template_test.rb +0 -110
  336. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/helper.rb +0 -24
  337. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/README.md +0 -17
  338. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/cli_args_test.rb +0 -67
  339. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/plugin_def_test.rb +0 -51
  340. data/lib/plugins/inspec-init/templates/profiles/aws/libraries/.gitkeep +0 -0
  341. data/lib/plugins/inspec-init/templates/profiles/azure/libraries/.gitkeep +0 -0
  342. data/lib/plugins/inspec-init/templates/profiles/gcp/libraries/.gitkeep +0 -0
  343. data/lib/plugins/inspec-init/templates/profiles/os/README.md +0 -3
  344. data/lib/plugins/inspec-init/templates/profiles/os/controls/example.rb +0 -18
  345. data/lib/plugins/inspec-init/templates/profiles/os/inspec.yml +0 -10
  346. data/lib/plugins/inspec-init/templates/profiles/os/libraries/.gitkeep +0 -0
  347. data/lib/plugins/inspec-init/test/functional/inspec_init_plugin_test.rb +0 -184
  348. data/lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb +0 -121
  349. data/lib/plugins/inspec-plugin-manager-cli/README.md +0 -6
  350. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli.rb +0 -17
  351. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +0 -518
  352. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/plugin.rb +0 -12
  353. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/config_dirs/empty/.gitkeep +0 -0
  354. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/inspec-egg-white-omelette/lib/inspec-egg-white-omelette.rb +0 -2
  355. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/inspec-egg-white-omelette/lib/inspec-egg-white-omelette/.gitkeep +0 -0
  356. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/inspec-wrong-structure/.gitkeep +0 -0
  357. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/wrong-name/lib/wrong-name.rb +0 -1
  358. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/wrong-name/lib/wrong-name/.gitkeep +0 -0
  359. data/lib/plugins/inspec-plugin-manager-cli/test/functional/help_test.rb +0 -23
  360. data/lib/plugins/inspec-plugin-manager-cli/test/functional/helper.rb +0 -62
  361. data/lib/plugins/inspec-plugin-manager-cli/test/functional/install_test.rb +0 -368
  362. data/lib/plugins/inspec-plugin-manager-cli/test/functional/list_test.rb +0 -101
  363. data/lib/plugins/inspec-plugin-manager-cli/test/functional/search_test.rb +0 -129
  364. data/lib/plugins/inspec-plugin-manager-cli/test/functional/uninstall_test.rb +0 -63
  365. data/lib/plugins/inspec-plugin-manager-cli/test/functional/update_test.rb +0 -84
  366. data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +0 -77
  367. data/lib/plugins/inspec-plugin-manager-cli/test/unit/plugin_def_test.rb +0 -39
  368. data/lib/plugins/shared/core_plugin_test_helper.rb +0 -153
  369. data/lib/plugins/things-for-train-integration.rb +0 -14
  370. data/lib/source_readers/flat.rb +0 -36
  371. data/lib/source_readers/inspec.rb +0 -66
@@ -1,80 +0,0 @@
1
- require "inspec/resources/command"
2
-
3
- # Usage:
4
- # describe iptables do
5
- # it { should have_rule('-P INPUT ACCEPT') }
6
- # end
7
- #
8
- # The following serverspec sytax is not implemented:
9
- # describe iptables do
10
- # it { should have_rule('-P INPUT ACCEPT').with_table('mangle').with_chain('INPUT') }
11
- # end
12
- # Please use the new sytax:
13
- # describe iptables(table:'mangle', chain: 'input') do
14
- # it { should have_rule('-P INPUT ACCEPT') }
15
- # end
16
- #
17
- # Note: Docker containers normally do not have iptables installed
18
- #
19
- # @see http://ipset.netfilter.org/iptables.man.html
20
- # @see http://ipset.netfilter.org/iptables.man.html
21
- # @see https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html
22
- module Inspec::Resources
23
- class IpTables < Inspec.resource(1)
24
- name "iptables"
25
- supports platform: "linux"
26
- desc "Use the iptables InSpec audit resource to test rules that are defined in iptables, which maintains tables of IP packet filtering rules. There may be more than one table. Each table contains one (or more) chains (both built-in and custom). A chain is a list of rules that match packets. When the rule matches, the rule defines what target to assign to the packet."
27
- example <<~EXAMPLE
28
- describe iptables do
29
- it { should have_rule('-P INPUT ACCEPT') }
30
- end
31
- EXAMPLE
32
-
33
- def initialize(params = {})
34
- @table = params[:table]
35
- @chain = params[:chain]
36
-
37
- # we're done if we are on linux
38
- return if inspec.os.linux?
39
-
40
- # ensures, all calls are aborted for non-supported os
41
- @iptables_cache = []
42
- skip_resource "The `iptables` resource is not supported on your OS yet."
43
- end
44
-
45
- def has_rule?(rule = nil, _table = nil, _chain = nil)
46
- # checks if the rule is part of the ruleset
47
- # for now, we expect an exact match
48
- retrieve_rules.any? { |line| line.casecmp(rule) == 0 }
49
- end
50
-
51
- def retrieve_rules
52
- return @iptables_cache if defined?(@iptables_cache)
53
-
54
- # construct iptables command to read all rules
55
- bin = find_iptables_or_error
56
- table_cmd = "-t #{@table}" if @table
57
- iptables_cmd = format("%s %s -S %s", bin, table_cmd, @chain).strip
58
-
59
- cmd = inspec.command(iptables_cmd)
60
- return [] if cmd.exit_status.to_i != 0
61
-
62
- # split rules, returns array or rules
63
- @iptables_cache = cmd.stdout.split("\n").map(&:strip)
64
- end
65
-
66
- def to_s
67
- format("Iptables %s %s", @table && "table: #{@table}", @chain && "chain: #{@chain}").strip
68
- end
69
-
70
- private
71
-
72
- def find_iptables_or_error
73
- %w{/usr/sbin/iptables /sbin/iptables iptables}.each do |cmd|
74
- return cmd if inspec.command(cmd).exist?
75
- end
76
-
77
- raise Inspec::Exceptions::ResourceFailed, "Could not find `iptables`"
78
- end
79
- end
80
- end
@@ -1,116 +0,0 @@
1
- require "inspec/utils/object_traversal"
2
- require "inspec/utils/enumerable_delegation"
3
- require "inspec/utils/file_reader"
4
-
5
- module Inspec::Resources
6
- class JsonConfig < Inspec.resource(1)
7
- name "json"
8
- supports platform: "os"
9
- desc "Use the json InSpec audit resource to test data in a JSON file."
10
- example <<~EXAMPLE
11
- describe json('policyfile.lock.json') do
12
- its(['cookbook_locks','omnibus','version']) { should eq('2.2.0') }
13
- end
14
-
15
- describe json({ command: 'retrieve_data.py --json' }) do
16
- its('state') { should eq('open') }
17
- end
18
-
19
- describe json({ content: '{\"item1\": { \"status\": \"available\" } }' }) do
20
- its(['item1', 'status']) { should cmp 'available' }
21
- end
22
- EXAMPLE
23
-
24
- include ObjectTraverser
25
- include FileReader
26
-
27
- # make params readable
28
- attr_reader :params, :raw_content
29
-
30
- def initialize(opts)
31
- # pre-initialize @params to an empty hash. In the event that reading/parsing the data
32
- # throws an exception, this allows the resource to still be called outside of a
33
- # describe/test and not throw errors when a caller attempts to fetch a value from the params.
34
- @params = {}
35
-
36
- # load the raw content from the source, and then parse it
37
- @raw_content = load_raw_content(opts)
38
- @params = parse(@raw_content)
39
-
40
- # If the JSON content is enumerable, make this object enumerable too
41
- extend EnumerableDelegation if @params.respond_to?(:each)
42
- end
43
-
44
- # Shorthand to retrieve a parameter name via `#its`.
45
- # Example: describe json('file') { its('paramX') { should eq 'Y' } }
46
- #
47
- # @param [String] name name of the field to retrieve
48
- # @return [Object] the value stored at this position
49
- def method_missing(*keys)
50
- # catch bahavior of rspec its implementation
51
- # @see https://github.com/rspec/rspec-its/blob/master/lib/rspec/its.rb#L110
52
- keys.shift if keys.is_a?(Array) && keys[0] == :[]
53
- value(keys)
54
- end
55
-
56
- def value(key)
57
- # uses ObjectTraverser.extract_value to walk the hash looking for the key,
58
- # which may be an Array of keys for a nested Hash.
59
- extract_value(key, params)
60
- end
61
-
62
- def to_s
63
- "#{resource_base_name} #{@resource_name_supplement || "content"}"
64
- end
65
-
66
- private
67
-
68
- def parse(content)
69
- require "json"
70
- JSON.parse(content)
71
- rescue => e
72
- raise Inspec::Exceptions::ResourceFailed, "Unable to parse JSON: #{e.message}"
73
- end
74
-
75
- def load_raw_content(opts)
76
- # if the opts isn't a hash, we assume it's a path to a file
77
- unless opts.is_a?(Hash)
78
- @resource_name_supplement = opts
79
- return load_raw_from_file(opts)
80
- end
81
-
82
- if opts.key?(:command)
83
- @resource_name_supplement = "from command: #{opts[:command]}"
84
- load_raw_from_command(opts[:command])
85
- elsif opts.key?(:content)
86
- opts[:content]
87
- else
88
- raise Inspec::Exceptions::ResourceFailed, "No JSON content; must specify a file, command, or raw JSON content"
89
- end
90
- end
91
-
92
- def load_raw_from_file(path)
93
- read_file_content(path)
94
- end
95
-
96
- def load_raw_from_command(command)
97
- result = inspec.command(command)
98
-
99
- return result.stdout unless result.stdout.empty?
100
-
101
- msg = if result.stderr.empty?
102
- "No JSON output, STDERR was empty"
103
- else
104
- "No JSON output, STDERR:\n #{result.stderr}"
105
- end
106
-
107
- raise Inspec::Exceptions::ResourceFailed, msg
108
- end
109
-
110
- # for resources the subclass JsonConfig, this allows specification of the resource
111
- # base name in each subclass so we can build a good to_s method
112
- def resource_base_name
113
- "JSON"
114
- end
115
- end
116
- end
@@ -1,106 +0,0 @@
1
- require "inspec/resources/command"
2
-
3
- module Inspec::Resources
4
- class KernelModule < Inspec.resource(1)
5
- name "kernel_module"
6
- supports platform: "unix"
7
- desc 'Use the kernel_module InSpec audit resource to test kernel modules on
8
- Linux platforms. These parameters are located under /lib/modules. Any submodule
9
- may be tested using this resource.
10
-
11
- The `kernel_module` resource can also verify if a kernel module is `blacklisted`
12
- or if a module is disabled via a fake install using the `bin_true` or `bin_false`
13
- method.'
14
-
15
- example <<~EXAMPLE
16
- describe kernel_module('video') do
17
- it { should be_loaded }
18
- it { should_not be_disabled }
19
- it { should_not be_blacklisted }
20
- end
21
-
22
- describe kernel_module('sstfb') do
23
- it { should_not be_loaded }
24
- it { should be_disabled }
25
- end
26
-
27
- describe kernel_module('floppy') do
28
- it { should be_blacklisted }
29
- end
30
-
31
- describe kernel_module('dhcp') do
32
- it { should_not be_loaded }
33
- end
34
- EXAMPLE
35
-
36
- def initialize(modulename = nil)
37
- @module = modulename
38
- # this resource is only supported on Linux
39
- return skip_resource "The `kernel_parameter` resource is not supported on your OS." unless inspec.os.linux?
40
- end
41
-
42
- def loaded?
43
- if inspec.os.redhat? || inspec.os.name == "fedora"
44
- lsmod_cmd = "/sbin/lsmod"
45
- else
46
- lsmod_cmd = "lsmod"
47
- end
48
-
49
- # get list of all modules
50
- cmd = inspec.command(lsmod_cmd)
51
- return false if cmd.exit_status != 0
52
-
53
- # check if module is loaded
54
- re = Regexp.new("^" + Regexp.quote(@module) + '\s')
55
- found = cmd.stdout.match(re)
56
- !found.nil?
57
- end
58
-
59
- def disabled?
60
- !modprobe_output.match(%r{^install\s+#{@module}\s+/(s?)bin/(true|false)}).nil?
61
- end
62
-
63
- def blacklisted?
64
- !modprobe_output.match(/^blacklist\s+#{@module}/).nil? || disabled_via_bin_true? || disabled_via_bin_false?
65
- end
66
-
67
- def version
68
- cmd = inspec.command("#{modinfo_cmd_for_os} -F version #{@module}")
69
- cmd.exit_status == 0 ? cmd.stdout.delete("\n") : nil
70
- end
71
-
72
- def to_s
73
- "Kernel Module #{@module}"
74
- end
75
-
76
- private
77
-
78
- def modprobe_output
79
- @modprobe_output ||= inspec.command("#{modprobe_cmd_for_os} --showconfig").stdout
80
- end
81
-
82
- def modinfo_cmd_for_os
83
- if inspec.os.redhat? || inspec.os.name == "fedora"
84
- "/sbin/modinfo"
85
- else
86
- "modinfo"
87
- end
88
- end
89
-
90
- def modprobe_cmd_for_os
91
- if inspec.os.redhat? || inspec.os.name == "fedora"
92
- "/sbin/modprobe"
93
- else
94
- "modprobe"
95
- end
96
- end
97
-
98
- def disabled_via_bin_true?
99
- !modprobe_output.match(%r{^install\s+#{@module}\s+/(s?)bin/true}).nil?
100
- end
101
-
102
- def disabled_via_bin_false?
103
- !modprobe_output.match(%r{^install\s+#{@module}\s+/(s?)bin/false}).nil?
104
- end
105
- end
106
- end
@@ -1,54 +0,0 @@
1
- require "inspec/resources/command"
2
-
3
- module Inspec::Resources
4
- class KernelParameter < Inspec.resource(1)
5
- name "kernel_parameter"
6
- supports platform: "unix"
7
- desc "Use the kernel_parameter InSpec audit resource to test kernel parameters on Linux platforms."
8
- example <<~EXAMPLE
9
- describe kernel_parameter('net.ipv4.conf.all.forwarding') do
10
- its('value') { should eq 0 }
11
- end
12
- EXAMPLE
13
-
14
- def initialize(parameter = nil)
15
- @parameter = parameter
16
-
17
- # this resource is only supported on Linux
18
- return skip_resource "The `kernel_parameter` resource is not supported on your OS." unless inspec.os.linux?
19
- end
20
-
21
- def value
22
- cmd = inspec.command("/sbin/sysctl -q -n #{@parameter}")
23
- return nil if cmd.exit_status != 0
24
-
25
- # remove whitespace
26
- cmd = cmd.stdout.chomp.strip
27
- # convert to number if possible
28
- cmd = cmd.to_i if cmd =~ /^\d+$/
29
- cmd
30
- end
31
-
32
- def to_s
33
- "Kernel Parameter #{@parameter}"
34
- end
35
- end
36
-
37
- class LinuxKernelParameter < KernelParameter
38
- name "linux_kernel_parameter"
39
-
40
- def initialize(parameter)
41
- Inspec.deprecate(:resource_linux_kernel_parameter, "The `linux_kernel_parameter` resource is deprecated. Please use `kernel_parameter`")
42
- super(parameter)
43
- end
44
-
45
- def value
46
- Inspec.deprecate(:resource_linux_kernel_parameter, "The `linux_kernel_parameter` resource is deprecated. Please use `kernel_parameter`")
47
- super()
48
- end
49
-
50
- def to_s
51
- "Kernel Parameter #{@parameter}"
52
- end
53
- end
54
- end
@@ -1,66 +0,0 @@
1
- require "openssl"
2
- require "hashie/mash"
3
- require "inspec/utils/file_reader"
4
- require "inspec/utils/pkey_reader"
5
-
6
- module Inspec::Resources
7
- class RsaKey < Inspec.resource(1)
8
- name "key_rsa"
9
- supports platform: "unix"
10
- supports platform: "windows"
11
- desc "public/private RSA key pair test"
12
- example <<~EXAMPLE
13
- describe key_rsa('/etc/pki/www.mywebsite.com.key') do
14
- its('public_key') { should match /BEGIN RSA PUBLIC KEY/ }
15
- end
16
-
17
- describe key_rsa('/etc/pki/www.mywebsite.com.key', 'passphrase') do
18
- it { should be_private }
19
- it { should be_public }
20
- end
21
- EXAMPLE
22
-
23
- include FileReader
24
- include PkeyReader
25
-
26
- def initialize(keypath, passphrase = nil)
27
- @key_path = keypath
28
- @passphrase = passphrase
29
- @key = read_pkey(read_file_content(@key_path, allow_empty: true), @passphrase)
30
- end
31
-
32
- def public?
33
- return if @key.nil?
34
-
35
- @key.public?
36
- end
37
-
38
- def public_key
39
- return if @key.nil?
40
-
41
- @key.public_key.to_s
42
- end
43
-
44
- def private?
45
- return if @key.nil?
46
-
47
- @key.private?
48
- end
49
-
50
- def private_key
51
- return if @key.nil?
52
-
53
- @key.to_s
54
- end
55
-
56
- def key_length
57
- return if @key.nil?
58
-
59
- @key.public_key.n.num_bytes * 8
60
- end
61
-
62
- def to_s
63
- "rsa_key #{@key_path}"
64
- end
65
- end
66
- end
@@ -1,33 +0,0 @@
1
- require "inspec/utils/command_wrapper"
2
- require "inspec/resources/command"
3
-
4
- module Inspec::Resources
5
- class Ksh < Cmd
6
- name "ksh"
7
- supports platform: "unix"
8
- desc "Run a command or script in KornShell."
9
- example <<~EXAMPLE
10
- describe ksh('ls -al /') do
11
- its('stdout') { should match /bin/ }
12
- its('stderr') { should eq '' }
13
- its('exit_status') { should eq 0 }
14
- end
15
-
16
- # Specify the path of the executable:
17
- ksh('...', path: '/usr/bin/ksh93')
18
-
19
- # Specify arguments (defaults to -c)
20
- ksh('...', args: '-x -c')
21
- EXAMPLE
22
-
23
- def initialize(command, options = {})
24
- @raw_command = command
25
- options[:shell] = "ksh" if options.is_a?(Hash)
26
- super(CommandWrapper.wrap(command, options))
27
- end
28
-
29
- def to_s
30
- "KornShell command #{@raw_command}"
31
- end
32
- end
33
- end