inspec 1.0.0 → 1.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +933 -101
  3. data/Gemfile +8 -17
  4. data/MAINTAINERS.md +2 -1
  5. data/MAINTAINERS.toml +9 -4
  6. data/README.md +49 -28
  7. data/Rakefile +54 -39
  8. data/bin/inspec +1 -1
  9. data/docs/dsl_inspec.md +17 -4
  10. data/docs/dsl_resource.md +1 -1
  11. data/docs/habitat.md +192 -0
  12. data/docs/inspec_and_friends.md +4 -2
  13. data/docs/matchers.md +11 -0
  14. data/docs/migration.md +293 -0
  15. data/docs/profiles.md +124 -76
  16. data/docs/resources/aide_conf.md.erb +81 -0
  17. data/docs/resources/apache_conf.md.erb +10 -10
  18. data/docs/resources/apt.md.erb +13 -13
  19. data/docs/resources/audit_policy.md.erb +10 -10
  20. data/docs/resources/auditd_conf.md.erb +10 -10
  21. data/docs/resources/auditd_rules.md.erb +11 -11
  22. data/docs/resources/bash.md.erb +12 -12
  23. data/docs/resources/bond.md.erb +15 -15
  24. data/docs/resources/bridge.md.erb +11 -11
  25. data/docs/resources/bsd_service.md.erb +11 -11
  26. data/docs/resources/command.md.erb +23 -23
  27. data/docs/resources/crontab.md.erb +84 -0
  28. data/docs/resources/csv.md.erb +10 -10
  29. data/docs/resources/dh_params.md +191 -0
  30. data/docs/resources/directory.md.erb +8 -8
  31. data/docs/resources/docker.md.erb +160 -0
  32. data/docs/resources/docker_container.md.erb +89 -0
  33. data/docs/resources/docker_image.md.erb +86 -0
  34. data/docs/resources/etc_group.md.erb +16 -16
  35. data/docs/resources/etc_hosts.md.erb +62 -0
  36. data/docs/resources/file.md.erb +80 -58
  37. data/docs/resources/gem.md.erb +32 -13
  38. data/docs/resources/group.md.erb +12 -12
  39. data/docs/resources/grub_conf.md.erb +11 -11
  40. data/docs/resources/host.md.erb +27 -18
  41. data/docs/resources/http.md.erb +104 -0
  42. data/docs/resources/iis_app.md.erb +126 -0
  43. data/docs/resources/iis_site.md.erb +17 -17
  44. data/docs/resources/inetd_conf.md.erb +10 -10
  45. data/docs/resources/ini.md.erb +9 -9
  46. data/docs/resources/interface.md.erb +13 -13
  47. data/docs/resources/iptables.md.erb +21 -14
  48. data/docs/resources/json.md.erb +11 -11
  49. data/docs/resources/kernel_module.md.erb +73 -12
  50. data/docs/resources/kernel_parameter.md.erb +12 -12
  51. data/docs/resources/key_rsa.md.erb +70 -0
  52. data/docs/resources/launchd_service.md.erb +11 -11
  53. data/docs/resources/limits_conf.md.erb +10 -10
  54. data/docs/resources/login_def.md.erb +12 -12
  55. data/docs/resources/mount.md.erb +14 -14
  56. data/docs/resources/mssql_session.md.erb +62 -0
  57. data/docs/resources/mysql_conf.md.erb +14 -14
  58. data/docs/resources/mysql_session.md.erb +22 -10
  59. data/docs/resources/npm.md.erb +13 -13
  60. data/docs/resources/ntp_conf.md.erb +9 -9
  61. data/docs/resources/oneget.md.erb +11 -11
  62. data/docs/resources/oracledb_session.md.erb +53 -0
  63. data/docs/resources/os.md.erb +17 -17
  64. data/docs/resources/os_env.md.erb +12 -12
  65. data/docs/resources/package.md.erb +29 -16
  66. data/docs/resources/parse_config.md.erb +18 -18
  67. data/docs/resources/parse_config_file.md.erb +29 -23
  68. data/docs/resources/{etc_passwd.md.erb → passwd.md.erb} +17 -17
  69. data/docs/resources/pip.md.erb +15 -15
  70. data/docs/resources/port.md.erb +23 -23
  71. data/docs/resources/postgres_conf.md.erb +15 -13
  72. data/docs/resources/postgres_hba_conf.md.erb +104 -0
  73. data/docs/resources/postgres_ident_conf.md.erb +87 -0
  74. data/docs/resources/postgres_session.md.erb +28 -21
  75. data/docs/resources/powershell.md.erb +14 -14
  76. data/docs/resources/processes.md.erb +123 -0
  77. data/docs/resources/rabbitmq_config.md.erb +55 -0
  78. data/docs/resources/registry_key.md.erb +44 -21
  79. data/docs/resources/runit_service.md.erb +11 -11
  80. data/docs/resources/security_policy.md.erb +10 -10
  81. data/docs/resources/service.md.erb +18 -18
  82. data/docs/resources/{etc_shadow.md.erb → shadow.md.erb} +19 -19
  83. data/docs/resources/ssh_config.md.erb +13 -13
  84. data/docs/resources/sshd_config.md.erb +15 -15
  85. data/docs/resources/ssl.md.erb +13 -13
  86. data/docs/resources/sys_info.md.erb +10 -10
  87. data/docs/resources/systemd_service.md.erb +11 -11
  88. data/docs/resources/sysv_service.md.erb +11 -11
  89. data/docs/resources/upstart_service.md.erb +11 -11
  90. data/docs/resources/user.md.erb +20 -20
  91. data/docs/resources/users.md.erb +19 -19
  92. data/docs/resources/vbscript.md.erb +13 -13
  93. data/docs/resources/virtualization.md.erb +71 -0
  94. data/docs/resources/windows_feature.md.erb +10 -10
  95. data/docs/resources/windows_task.md.erb +103 -0
  96. data/docs/resources/wmi.md.erb +10 -10
  97. data/docs/resources/x509_certificate.md.erb +146 -0
  98. data/docs/resources/xinetd_conf.md.erb +17 -17
  99. data/docs/resources/xml.md.erb +75 -0
  100. data/docs/resources/yaml.md.erb +25 -11
  101. data/docs/resources/yum.md.erb +24 -16
  102. data/docs/resources/zfs_dataset.md.erb +63 -0
  103. data/docs/resources/zfs_pool.md.erb +57 -0
  104. data/docs/ruby_usage.md +50 -0
  105. data/docs/shared/matcher_cmp.md.erb +4 -6
  106. data/examples/inheritance/README.md +49 -3
  107. data/examples/inheritance/controls/example.rb +4 -1
  108. data/examples/inheritance/inspec.yml +3 -1
  109. data/examples/meta-profile/README.md +29 -3
  110. data/examples/meta-profile/controls/example.rb +10 -5
  111. data/examples/meta-profile/inspec.yml +4 -8
  112. data/examples/profile/README.md +1 -1
  113. data/examples/profile/controls/example.rb +0 -1
  114. data/examples/profile/controls/gordon.rb +0 -1
  115. data/examples/profile/inspec.yml +1 -1
  116. data/examples/profile-attribute/inspec.yml +1 -1
  117. data/examples/profile-sensitive/README.md +29 -0
  118. data/examples/profile-sensitive/controls/sensitive-failures.rb +9 -0
  119. data/examples/profile-sensitive/controls/sensitive.rb +9 -0
  120. data/examples/profile-sensitive/inspec.yml +8 -0
  121. data/inspec.gemspec +10 -2
  122. data/lib/bundles/inspec-artifact/README.md +1 -0
  123. data/lib/bundles/inspec-artifact/cli.rb +284 -0
  124. data/lib/bundles/inspec-artifact.rb +7 -0
  125. data/lib/bundles/inspec-compliance/README.md +44 -15
  126. data/lib/bundles/inspec-compliance/api.rb +135 -29
  127. data/lib/bundles/inspec-compliance/cli.rb +128 -21
  128. data/lib/bundles/inspec-compliance/configuration.rb +8 -0
  129. data/lib/bundles/inspec-compliance/http.rb +26 -19
  130. data/lib/bundles/inspec-compliance/target.rb +50 -25
  131. data/lib/bundles/inspec-habitat/cli.rb +31 -0
  132. data/lib/bundles/inspec-habitat/log.rb +10 -0
  133. data/lib/bundles/inspec-habitat/profile.rb +372 -0
  134. data/lib/bundles/inspec-habitat.rb +12 -0
  135. data/lib/bundles/inspec-init/templates/profile/controls/example.rb +0 -1
  136. data/lib/bundles/inspec-init/templates/profile/inspec.yml +1 -1
  137. data/lib/bundles/inspec-supermarket/api.rb +7 -5
  138. data/lib/bundles/inspec-supermarket/cli.rb +2 -2
  139. data/lib/fetchers/git.rb +4 -2
  140. data/lib/fetchers/local.rb +4 -1
  141. data/lib/fetchers/url.rb +64 -10
  142. data/lib/inspec/archive/tar.rb +1 -1
  143. data/lib/inspec/backend.rb +26 -3
  144. data/lib/inspec/base_cli.rb +44 -7
  145. data/lib/inspec/cached_fetcher.rb +2 -2
  146. data/lib/inspec/cli.rb +34 -12
  147. data/lib/inspec/completions/fish.sh.erb +34 -0
  148. data/lib/inspec/control_eval_context.rb +0 -2
  149. data/lib/inspec/dependencies/cache.rb +0 -1
  150. data/lib/inspec/dependencies/dependency_set.rb +2 -2
  151. data/lib/inspec/dependencies/lockfile.rb +13 -6
  152. data/lib/inspec/dependencies/requirement.rb +6 -6
  153. data/lib/inspec/dependencies/resolver.rb +4 -4
  154. data/lib/inspec/dsl.rb +3 -5
  155. data/lib/inspec/env_printer.rb +9 -1
  156. data/lib/inspec/exceptions.rb +8 -0
  157. data/lib/inspec/fetcher.rb +1 -1
  158. data/lib/inspec/file_provider.rb +47 -11
  159. data/lib/inspec/library_eval_context.rb +1 -1
  160. data/lib/inspec/metadata.rb +62 -18
  161. data/lib/inspec/method_source.rb +24 -0
  162. data/lib/inspec/objects/attribute.rb +21 -0
  163. data/lib/inspec/objects/control.rb +21 -3
  164. data/lib/inspec/objects/each_loop.rb +2 -1
  165. data/lib/inspec/objects/list.rb +1 -1
  166. data/lib/inspec/objects/or_test.rb +17 -2
  167. data/lib/inspec/objects/tag.rb +27 -0
  168. data/lib/inspec/objects/test.rb +9 -8
  169. data/lib/inspec/objects.rb +1 -0
  170. data/lib/inspec/plugins/fetcher.rb +4 -5
  171. data/lib/inspec/plugins/resource.rb +1 -2
  172. data/lib/inspec/plugins/source_reader.rb +3 -3
  173. data/lib/inspec/plugins.rb +1 -1
  174. data/lib/inspec/polyfill.rb +0 -1
  175. data/lib/inspec/profile.rb +92 -23
  176. data/lib/inspec/profile_context.rb +1 -1
  177. data/lib/inspec/profile_vendor.rb +66 -0
  178. data/lib/inspec/resource.rb +29 -3
  179. data/lib/inspec/rspec_json_formatter.rb +672 -285
  180. data/lib/inspec/rule.rb +12 -16
  181. data/lib/inspec/runner.rb +26 -15
  182. data/lib/inspec/runner_rspec.rb +1 -0
  183. data/lib/inspec/runtime_profile.rb +26 -0
  184. data/lib/inspec/schema.rb +185 -0
  185. data/lib/inspec/secrets/yaml.rb +8 -1
  186. data/lib/inspec/secrets.rb +1 -1
  187. data/lib/inspec/shell.rb +92 -22
  188. data/lib/inspec/source_reader.rb +1 -1
  189. data/lib/inspec/version.rb +1 -1
  190. data/lib/inspec.rb +1 -1
  191. data/lib/matchers/matchers.rb +67 -17
  192. data/lib/resources/aide_conf.rb +162 -0
  193. data/lib/resources/apache.rb +0 -1
  194. data/lib/resources/apache_conf.rb +3 -3
  195. data/lib/resources/apt.rb +2 -1
  196. data/lib/resources/audit_policy.rb +0 -1
  197. data/lib/resources/auditd_conf.rb +1 -2
  198. data/lib/resources/auditd_rules.rb +5 -5
  199. data/lib/resources/bond.rb +1 -1
  200. data/lib/resources/bridge.rb +1 -1
  201. data/lib/resources/command.rb +5 -3
  202. data/lib/resources/crontab.rb +102 -0
  203. data/lib/resources/csv.rb +18 -1
  204. data/lib/resources/dh_params.rb +84 -0
  205. data/lib/resources/directory.rb +7 -3
  206. data/lib/resources/docker.rb +198 -0
  207. data/lib/resources/docker_container.rb +114 -0
  208. data/lib/resources/docker_image.rb +96 -0
  209. data/lib/resources/etc_group.rb +2 -3
  210. data/lib/resources/etc_hosts.rb +81 -0
  211. data/lib/resources/file.rb +88 -30
  212. data/lib/resources/gem.rb +26 -6
  213. data/lib/resources/groups.rb +4 -5
  214. data/lib/resources/grub_conf.rb +3 -4
  215. data/lib/resources/host.rb +175 -35
  216. data/lib/resources/http.rb +73 -0
  217. data/lib/resources/iis_app.rb +103 -0
  218. data/lib/resources/iis_site.rb +23 -0
  219. data/lib/resources/inetd_conf.rb +9 -4
  220. data/lib/resources/interface.rb +4 -3
  221. data/lib/resources/json.rb +37 -14
  222. data/lib/resources/kernel_module.rb +77 -10
  223. data/lib/resources/kernel_parameter.rb +0 -1
  224. data/lib/resources/key_rsa.rb +67 -0
  225. data/lib/resources/limits_conf.rb +3 -4
  226. data/lib/resources/login_def.rb +2 -3
  227. data/lib/resources/mount.rb +34 -4
  228. data/lib/resources/mssql_session.rb +81 -12
  229. data/lib/resources/mysql.rb +0 -1
  230. data/lib/resources/mysql_conf.rb +1 -2
  231. data/lib/resources/mysql_session.rb +18 -7
  232. data/lib/resources/nginx_conf.rb +95 -0
  233. data/lib/resources/ntp_conf.rb +2 -3
  234. data/lib/resources/oracledb_session.rb +138 -0
  235. data/lib/resources/os_env.rb +7 -5
  236. data/lib/resources/package.rb +70 -13
  237. data/lib/resources/packages.rb +111 -0
  238. data/lib/resources/parse_config.rb +3 -4
  239. data/lib/resources/passwd.rb +4 -5
  240. data/lib/resources/pip.rb +29 -21
  241. data/lib/resources/port.rb +133 -14
  242. data/lib/resources/postgres.rb +53 -43
  243. data/lib/resources/postgres_conf.rb +40 -13
  244. data/lib/resources/postgres_hba_conf.rb +101 -0
  245. data/lib/resources/postgres_ident_conf.rb +79 -0
  246. data/lib/resources/postgres_session.rb +28 -20
  247. data/lib/resources/powershell.rb +2 -2
  248. data/lib/resources/processes.rb +61 -26
  249. data/lib/resources/rabbitmq_conf.rb +53 -0
  250. data/lib/resources/registry_key.rb +34 -11
  251. data/lib/resources/security_policy.rb +2 -2
  252. data/lib/resources/service.rb +17 -7
  253. data/lib/resources/ssh_conf.rb +17 -6
  254. data/lib/resources/ssl.rb +3 -4
  255. data/lib/resources/sys_info.rb +1 -1
  256. data/lib/resources/toml.rb +26 -0
  257. data/lib/resources/users.rb +41 -41
  258. data/lib/resources/virtualization.rb +252 -0
  259. data/lib/resources/windows_task.rb +106 -0
  260. data/lib/resources/x509_certificate.rb +143 -0
  261. data/lib/resources/xinetd.rb +18 -2
  262. data/lib/resources/xml.rb +27 -0
  263. data/lib/resources/yaml.rb +10 -2
  264. data/lib/resources/yum.rb +25 -7
  265. data/lib/resources/zfs_dataset.rb +60 -0
  266. data/lib/resources/zfs_pool.rb +49 -0
  267. data/lib/source_readers/flat.rb +2 -1
  268. data/lib/source_readers/inspec.rb +30 -11
  269. data/lib/utils/command_wrapper.rb +3 -3
  270. data/lib/utils/database_helpers.rb +77 -0
  271. data/lib/utils/erlang_parser.rb +192 -0
  272. data/lib/utils/filter.rb +2 -1
  273. data/lib/utils/filter_array.rb +0 -1
  274. data/lib/utils/find_files.rb +1 -2
  275. data/lib/utils/latest_version.rb +21 -0
  276. data/lib/utils/nginx_parser.rb +76 -0
  277. data/lib/utils/object_traversal.rb +5 -4
  278. data/lib/utils/parser.rb +23 -4
  279. data/lib/utils/plugin_registry.rb +3 -3
  280. data/lib/utils/simpleconfig.rb +25 -8
  281. data/lib/utils/spdx.rb +13 -0
  282. data/lib/utils/spdx.txt +344 -0
  283. metadata +168 -22
  284. data/docs/cli.md +0 -342
  285. data/docs/resources/process.md.erb +0 -73
  286. /data/docs/{plugin_kitchen_inspec.html.md → plugin_kitchen_inspec.md} +0 -0
data/docs/cli.md DELETED
@@ -1,342 +0,0 @@
1
- ---
2
- title: About the InSpec CLI
3
- ---
4
-
5
- # InSpec CLI
6
-
7
- Use the InSpec CLI to run tests and audits against targets using local, SSH, WinRM, or Docker connections.
8
-
9
- ## archive
10
-
11
- Archive a profile to tar.gz (default) or zip
12
-
13
- ### Syntax
14
-
15
- This subcommand has the following syntax:
16
-
17
- ```bash
18
- $ inspec archive PATH
19
- ```
20
-
21
- ### Options
22
-
23
- This subcommand has additional options:
24
-
25
- * ``--ignore-errors``, ``--no-ignore-errors``
26
- Ignore profile warnings.
27
- * ``-o``, ``--output=OUTPUT``
28
- Save the archive to a path
29
- * ``--overwrite``, ``--no-overwrite``
30
- Overwrite existing archive.
31
- * ``--profiles-path=PROFILES_PATH``
32
- Folder which contains referenced profiles.
33
- * ``--tar``, ``--no-tar``
34
- Generates a tar.gz archive.
35
- * ``--zip``, ``--no-zip``
36
- Generates a zip archive.
37
-
38
- ## check
39
-
40
- Verify all tests at the specified path
41
-
42
- ### Syntax
43
-
44
- This subcommand has the following syntax:
45
-
46
- ```bash
47
- $ inspec check PATH
48
- ```
49
-
50
- ### Options
51
-
52
- This subcommand has additional options:
53
-
54
- * ``--format=FORMAT``
55
-
56
- * ``--profiles-path=PROFILES_PATH``
57
- Folder which contains referenced profiles.
58
-
59
- ## compliance
60
-
61
- Chef compliance commands
62
-
63
- ### Syntax
64
-
65
- This subcommand has the following syntax:
66
-
67
- ```bash
68
- $ inspec compliance SUBCOMMAND ...
69
- ```
70
-
71
- ## detect
72
-
73
- Detect the target os
74
-
75
- ### Syntax
76
-
77
- This subcommand has the following syntax:
78
-
79
- ```bash
80
- $ inspec detect
81
- ```
82
-
83
- ### Options
84
-
85
- This subcommand has additional options:
86
-
87
- * ``-b``, ``--backend=BACKEND``
88
- Choose a backend: local, ssh, winrm, docker.
89
- * ``--format=FORMAT``
90
-
91
- * ``--host=HOST``
92
- Specify a remote host which is tested.
93
- * ``--json-config=JSON_CONFIG``
94
- Read configuration from JSON file (`-` reads from stdin).
95
- * ``-i``, ``--key-files=one two three``
96
- Login key or certificate file for a remote scan.
97
- * ``-l``, ``--log-level=LOG_LEVEL``
98
- Set the log level: info (default), debug, warn, error
99
- * ``--password=PASSWORD``
100
- Login password for a remote scan, if required.
101
- * ``--path=PATH``
102
- Login path to use when connecting to the target (WinRM).
103
- * ``-p``, ``--port=N``
104
- Specify the login port for a remote scan.
105
- * ``--self-signed``, ``--no-self-signed``
106
- Allow remote scans with self-signed certificates (WinRM).
107
- * ``--ssl``, ``--no-ssl``
108
- Use SSL for transport layer encryption (WinRM).
109
- * ``--sudo``, ``--no-sudo``
110
- Run scans with sudo. Only activates on Unix and non-root user.
111
- * ``--sudo-command=SUDO_COMMAND``
112
- Alternate command for sudo.
113
- * ``--sudo-options=SUDO_OPTIONS``
114
- Additional sudo options for a remote scan.
115
- * ``--sudo-password=SUDO_PASSWORD``
116
- Specify a sudo password, if it is required.
117
- * ``-t``, ``--target=TARGET``
118
- Simple targeting option using URIs, e.g. ssh://user:pass@host:port
119
- * ``--user=USER``
120
- The login user for a remote scan.
121
-
122
- ## env
123
-
124
- Output shell-appropriate completion configuration
125
-
126
- ### Syntax
127
-
128
- This subcommand has the following syntax:
129
-
130
- ```bash
131
- $ inspec env
132
- ```
133
-
134
- ## exec
135
-
136
- Run all test files at the specified path.
137
-
138
- ### Syntax
139
-
140
- This subcommand has the following syntax:
141
-
142
- ```bash
143
- $ inspec exec PATHS
144
- ```
145
-
146
- ### Options
147
-
148
- This subcommand has additional options:
149
-
150
- * ``--attrs=one two three``
151
- Load attributes file (experimental)
152
- * ``-b``, ``--backend=BACKEND``
153
- Choose a backend: local, ssh, winrm, docker.
154
- * ``--cache=CACHE``
155
- Use the given path for caching dependencies. (default: ~/.inspec/cache)
156
- * ``--color``, ``--no-color``
157
- Use colors in output.
158
- * ``--controls=one two three``
159
- A list of controls to run. Ignore all other tests.
160
- * ``--create-lockfile``, ``--no-create-lockfile``
161
- Write out a lockfile based on this execution (unless one already exists)
162
- * ``--format=FORMAT``
163
- Which formatter to use: cli, progress, documentation, json, json-min
164
- * ``--host=HOST``
165
- Specify a remote host which is tested.
166
- * ``--json-config=JSON_CONFIG``
167
- Read configuration from JSON file (`-` reads from stdin).
168
- * ``-i``, ``--key-files=one two three``
169
- Login key or certificate file for a remote scan.
170
- * ``-l``, ``--log-level=LOG_LEVEL``
171
- Set the log level: info (default), debug, warn, error
172
- * ``--password=PASSWORD``
173
- Login password for a remote scan, if required.
174
- * ``--path=PATH``
175
- Login path to use when connecting to the target (WinRM).
176
- * ``-p``, ``--port=N``
177
- Specify the login port for a remote scan.
178
- * ``--profiles-path=PROFILES_PATH``
179
- Folder which contains referenced profiles.
180
- * ``--self-signed``, ``--no-self-signed``
181
- Allow remote scans with self-signed certificates (WinRM).
182
- * ``--ssl``, ``--no-ssl``
183
- Use SSL for transport layer encryption (WinRM).
184
- * ``--sudo``, ``--no-sudo``
185
- Run scans with sudo. Only activates on Unix and non-root user.
186
- * ``--sudo-command=SUDO_COMMAND``
187
- Alternate command for sudo.
188
- * ``--sudo-options=SUDO_OPTIONS``
189
- Additional sudo options for a remote scan.
190
- * ``--sudo-password=SUDO_PASSWORD``
191
- Specify a sudo password, if it is required.
192
- * ``-t``, ``--target=TARGET``
193
- Simple targeting option using URIs, e.g. ssh://user:pass@host:port
194
- * ``--user=USER``
195
- The login user for a remote scan.
196
-
197
- ## help
198
-
199
- Describe available commands or one specific command
200
-
201
- ### Syntax
202
-
203
- This subcommand has the following syntax:
204
-
205
- ```bash
206
- $ inspec help [COMMAND]
207
- ```
208
-
209
- ## init
210
-
211
- Scaffolds a new project
212
-
213
- ### Syntax
214
-
215
- This subcommand has the following syntax:
216
-
217
- ```bash
218
- $ inspec init TEMPLATE ...
219
- ```
220
-
221
- ## json
222
-
223
- Read all tests in path and generate a json summary
224
-
225
- ### Syntax
226
-
227
- This subcommand has the following syntax:
228
-
229
- ```bash
230
- $ inspec json PATH
231
- ```
232
-
233
- ### Options
234
-
235
- This subcommand has additional options:
236
-
237
- * ``--controls=one two three``
238
- A list of controls to include. Ignore all other tests.
239
- * ``-o``, ``--output=OUTPUT``
240
- Save the created profile to a path
241
- * ``--profiles-path=PROFILES_PATH``
242
- Folder which contains referenced profiles.
243
-
244
- ## msccm
245
-
246
- Microsoft systems center configuration manager commands
247
-
248
- ### Syntax
249
-
250
- This subcommand has the following syntax:
251
-
252
- ```bash
253
- $ inspec msccm SUBCOMMAND ...
254
- ```
255
-
256
- ## shell
257
-
258
- Open an interactive debugging shell
259
-
260
- ### Syntax
261
-
262
- This subcommand has the following syntax:
263
-
264
- ```bash
265
- $ inspec shell
266
- ```
267
-
268
- ### Options
269
-
270
- This subcommand has additional options:
271
-
272
- * ``-b``, ``--backend=BACKEND``
273
- Choose a backend: local, ssh, winrm, docker.
274
- * ``-c``, ``--command=COMMAND``
275
- A single command string to run instead of launching the shell
276
- * ``--host=HOST``
277
- Specify a remote host which is tested.
278
- * ``--json-config=JSON_CONFIG``
279
- Read configuration from JSON file (`-` reads from stdin).
280
- * ``-i``, ``--key-files=one two three``
281
- Login key or certificate file for a remote scan.
282
- * ``-l``, ``--log-level=LOG_LEVEL``
283
- Set the log level: info (default), debug, warn, error
284
- * ``--password=PASSWORD``
285
- Login password for a remote scan, if required.
286
- * ``--path=PATH``
287
- Login path to use when connecting to the target (WinRM).
288
- * ``-p``, ``--port=N``
289
- Specify the login port for a remote scan.
290
- * ``--self-signed``, ``--no-self-signed``
291
- Allow remote scans with self-signed certificates (WinRM).
292
- * ``--ssl``, ``--no-ssl``
293
- Use SSL for transport layer encryption (WinRM).
294
- * ``--sudo``, ``--no-sudo``
295
- Run scans with sudo. Only activates on Unix and non-root user.
296
- * ``--sudo-command=SUDO_COMMAND``
297
- Alternate command for sudo.
298
- * ``--sudo-options=SUDO_OPTIONS``
299
- Additional sudo options for a remote scan.
300
- * ``--sudo-password=SUDO_PASSWORD``
301
- Specify a sudo password, if it is required.
302
- * ``-t``, ``--target=TARGET``
303
- Simple targeting option using URIs, e.g. ssh://user:pass@host:port
304
- * ``--user=USER``
305
- The login user for a remote scan.
306
-
307
- ## supermarket
308
-
309
- Supermarket commands
310
-
311
- ### Syntax
312
-
313
- This subcommand has the following syntax:
314
-
315
- ```bash
316
- $ inspec supermarket SUBCOMMAND ...
317
- ```
318
-
319
- ## vendor
320
-
321
- Download all dependencies and generate a lockfile
322
-
323
- ### Syntax
324
-
325
- This subcommand has the following syntax:
326
-
327
- ```bash
328
- $ inspec vendor
329
- ```
330
-
331
- ## version
332
-
333
- Prints the version of this tool
334
-
335
- ### Syntax
336
-
337
- This subcommand has the following syntax:
338
-
339
- ```bash
340
- $ inspec version
341
- ```
342
-
@@ -1,73 +0,0 @@
1
- ---
2
- title: About the processes Resource
3
- ---
4
-
5
- # processes
6
-
7
- Use the `processes` InSpec audit resource to test properties for programs that are running on the system.
8
-
9
- # Syntax
10
-
11
- A `processes` resource block declares the name of the process to be tested, and then declares one (or more) property/value pairs:
12
-
13
- describe processes('process_name') do
14
- its('property_name') { should eq ['property_value'] }
15
- end
16
-
17
- where
18
-
19
- * `processes('process_name')` must specify the name of a process that is running on the system
20
- * `property_name` may be used to test user (`its('users')`) and state properties (`its('states')`)
21
-
22
-
23
- # Matchers
24
-
25
- This InSpec audit resource has the following matchers:
26
-
27
- ## be
28
-
29
- <%= partial "/shared/matcher_be" %>
30
-
31
- ## cmp
32
-
33
- <%= partial "/shared/matcher_cmp" %>
34
-
35
- ## eq
36
-
37
- <%= partial "/shared/matcher_eq" %>
38
-
39
- ## include
40
-
41
- <%= partial "/shared/matcher_include" %>
42
-
43
- ## match
44
-
45
- <%= partial "/shared/matcher_match" %>
46
-
47
- ## property_name
48
-
49
- The `property_name` matcher tests the named property for the specified value:
50
-
51
- its('property_name') { should eq ['property_value'] }
52
-
53
- # Examples
54
-
55
- The following examples show how to use this InSpec audit resource.
56
-
57
- ## Test if the list length for the mysqld process is 1
58
-
59
- describe processes('mysqld') do
60
- its('list.length') { should eq 1 }
61
- end
62
-
63
- ## Test if the init process is owned by the root user
64
-
65
- describe processes('init') do
66
- its('users') { should eq ['root'] }
67
- end
68
-
69
- ## Test if a high-priority process is running
70
-
71
- describe processes('some_process') do
72
- its('states') { should eq ['R<'] }
73
- end