active_stix 0.1.21

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 (289) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/config/active_stix_manifest.js +2 -0
  6. data/app/assets/javascripts/active_stix/application.js +15 -0
  7. data/app/assets/javascripts/active_stix/artifacts.js +2 -0
  8. data/app/assets/javascripts/active_stix/attack_patterns.js +2 -0
  9. data/app/assets/javascripts/active_stix/bcc_refs.js +2 -0
  10. data/app/assets/javascripts/active_stix/bundled_objects.js +2 -0
  11. data/app/assets/javascripts/active_stix/bundles.js +2 -0
  12. data/app/assets/javascripts/active_stix/campaigns.js +2 -0
  13. data/app/assets/javascripts/active_stix/course_of_actions.js +2 -0
  14. data/app/assets/javascripts/active_stix/cyber_observables.js +2 -0
  15. data/app/assets/javascripts/active_stix/email_messages.js +2 -0
  16. data/app/assets/javascripts/active_stix/external_references.js +2 -0
  17. data/app/assets/javascripts/active_stix/files.js +2 -0
  18. data/app/assets/javascripts/active_stix/identities.js +2 -0
  19. data/app/assets/javascripts/active_stix/indicator_labels.js +2 -0
  20. data/app/assets/javascripts/active_stix/indicators.js +2 -0
  21. data/app/assets/javascripts/active_stix/intrusion_sets.js +2 -0
  22. data/app/assets/javascripts/active_stix/kill_chain_phases.js +2 -0
  23. data/app/assets/javascripts/active_stix/kill_chains.js +2 -0
  24. data/app/assets/javascripts/active_stix/malwares.js +2 -0
  25. data/app/assets/javascripts/active_stix/marking_definitions.js +2 -0
  26. data/app/assets/javascripts/active_stix/observed_data.js +2 -0
  27. data/app/assets/javascripts/active_stix/open_vocabularies.js +2 -0
  28. data/app/assets/javascripts/active_stix/phases.js +2 -0
  29. data/app/assets/javascripts/active_stix/recipients.js +2 -0
  30. data/app/assets/javascripts/active_stix/relationships.js +2 -0
  31. data/app/assets/javascripts/active_stix/reports.js +2 -0
  32. data/app/assets/javascripts/active_stix/threat_actors.js +2 -0
  33. data/app/assets/javascripts/active_stix/tools.js +2 -0
  34. data/app/assets/javascripts/active_stix/urls.js +2 -0
  35. data/app/assets/javascripts/active_stix/users.js +2 -0
  36. data/app/assets/stylesheets/active_stix/application.css +15 -0
  37. data/app/assets/stylesheets/active_stix/artifacts.css +4 -0
  38. data/app/assets/stylesheets/active_stix/attack_patterns.css +4 -0
  39. data/app/assets/stylesheets/active_stix/bcc_refs.css +4 -0
  40. data/app/assets/stylesheets/active_stix/bundled_objects.css +4 -0
  41. data/app/assets/stylesheets/active_stix/bundles.css +4 -0
  42. data/app/assets/stylesheets/active_stix/campaigns.css +4 -0
  43. data/app/assets/stylesheets/active_stix/course_of_actions.css +4 -0
  44. data/app/assets/stylesheets/active_stix/cyber_observables.css +4 -0
  45. data/app/assets/stylesheets/active_stix/email_messages.css +4 -0
  46. data/app/assets/stylesheets/active_stix/external_references.css +4 -0
  47. data/app/assets/stylesheets/active_stix/files.css +4 -0
  48. data/app/assets/stylesheets/active_stix/identities.css +4 -0
  49. data/app/assets/stylesheets/active_stix/indicator_labels.css +4 -0
  50. data/app/assets/stylesheets/active_stix/indicators.css +4 -0
  51. data/app/assets/stylesheets/active_stix/intrusion_sets.css +4 -0
  52. data/app/assets/stylesheets/active_stix/kill_chain_phases.css +4 -0
  53. data/app/assets/stylesheets/active_stix/kill_chains.css +4 -0
  54. data/app/assets/stylesheets/active_stix/malwares.css +4 -0
  55. data/app/assets/stylesheets/active_stix/marking_definitions.css +4 -0
  56. data/app/assets/stylesheets/active_stix/observed_data.css +4 -0
  57. data/app/assets/stylesheets/active_stix/open_vocabularies.css +4 -0
  58. data/app/assets/stylesheets/active_stix/phases.css +4 -0
  59. data/app/assets/stylesheets/active_stix/recipients.css +4 -0
  60. data/app/assets/stylesheets/active_stix/relationships.css +4 -0
  61. data/app/assets/stylesheets/active_stix/reports.css +4 -0
  62. data/app/assets/stylesheets/active_stix/threat_actors.css +4 -0
  63. data/app/assets/stylesheets/active_stix/tools.css +4 -0
  64. data/app/assets/stylesheets/active_stix/urls.css +4 -0
  65. data/app/assets/stylesheets/active_stix/users.css +4 -0
  66. data/app/assets/stylesheets/scaffold.css +80 -0
  67. data/app/controllers/active_stix/application_controller.rb +5 -0
  68. data/app/controllers/active_stix/artifacts_controller.rb +62 -0
  69. data/app/controllers/active_stix/attack_patterns_controller.rb +27 -0
  70. data/app/controllers/active_stix/bcc_refs_controller.rb +62 -0
  71. data/app/controllers/active_stix/bundled_objects_controller.rb +62 -0
  72. data/app/controllers/active_stix/bundles_controller.rb +11 -0
  73. data/app/controllers/active_stix/campaigns_controller.rb +74 -0
  74. data/app/controllers/active_stix/course_of_actions_controller.rb +62 -0
  75. data/app/controllers/active_stix/cyber_observables_controller.rb +62 -0
  76. data/app/controllers/active_stix/email_addresses_controller.rb +74 -0
  77. data/app/controllers/active_stix/email_messages_controller.rb +26 -0
  78. data/app/controllers/active_stix/external_references_controller.rb +62 -0
  79. data/app/controllers/active_stix/files_controller.rb +74 -0
  80. data/app/controllers/active_stix/identities_controller.rb +128 -0
  81. data/app/controllers/active_stix/indicator_labels_controller.rb +62 -0
  82. data/app/controllers/active_stix/indicators_controller.rb +62 -0
  83. data/app/controllers/active_stix/intrusion_sets_controller.rb +62 -0
  84. data/app/controllers/active_stix/kill_chain_phases_controller.rb +62 -0
  85. data/app/controllers/active_stix/kill_chains_controller.rb +62 -0
  86. data/app/controllers/active_stix/malwares_controller.rb +62 -0
  87. data/app/controllers/active_stix/marking_definitions_controller.rb +62 -0
  88. data/app/controllers/active_stix/observed_data_controller.rb +62 -0
  89. data/app/controllers/active_stix/open_vocabularies_controller.rb +62 -0
  90. data/app/controllers/active_stix/phases_controller.rb +62 -0
  91. data/app/controllers/active_stix/recipients_controller.rb +62 -0
  92. data/app/controllers/active_stix/relationships_controller.rb +62 -0
  93. data/app/controllers/active_stix/reports_controller.rb +62 -0
  94. data/app/controllers/active_stix/threat_actors_controller.rb +75 -0
  95. data/app/controllers/active_stix/tools_controller.rb +62 -0
  96. data/app/controllers/active_stix/urls_controller.rb +62 -0
  97. data/app/controllers/active_stix/user_accounts_controller.rb +74 -0
  98. data/app/controllers/active_stix/users_controller.rb +62 -0
  99. data/app/helpers/active_stix/application_helper.rb +4 -0
  100. data/app/helpers/active_stix/artifacts_helper.rb +4 -0
  101. data/app/helpers/active_stix/attack_patterns_helper.rb +4 -0
  102. data/app/helpers/active_stix/bcc_refs_helper.rb +4 -0
  103. data/app/helpers/active_stix/bundled_objects_helper.rb +4 -0
  104. data/app/helpers/active_stix/bundles_helper.rb +4 -0
  105. data/app/helpers/active_stix/campaigns_helper.rb +4 -0
  106. data/app/helpers/active_stix/course_of_actions_helper.rb +4 -0
  107. data/app/helpers/active_stix/cyber_observables_helper.rb +4 -0
  108. data/app/helpers/active_stix/email_messages_helper.rb +4 -0
  109. data/app/helpers/active_stix/external_references_helper.rb +4 -0
  110. data/app/helpers/active_stix/files_helper.rb +4 -0
  111. data/app/helpers/active_stix/identities_helper.rb +4 -0
  112. data/app/helpers/active_stix/indicator_labels_helper.rb +4 -0
  113. data/app/helpers/active_stix/indicators_helper.rb +4 -0
  114. data/app/helpers/active_stix/intrusion_sets_helper.rb +4 -0
  115. data/app/helpers/active_stix/kill_chain_phases_helper.rb +4 -0
  116. data/app/helpers/active_stix/kill_chains_helper.rb +4 -0
  117. data/app/helpers/active_stix/malwares_helper.rb +4 -0
  118. data/app/helpers/active_stix/marking_definitions_helper.rb +4 -0
  119. data/app/helpers/active_stix/observed_data_helper.rb +4 -0
  120. data/app/helpers/active_stix/open_vocabularies_helper.rb +4 -0
  121. data/app/helpers/active_stix/phases_helper.rb +4 -0
  122. data/app/helpers/active_stix/recipients_helper.rb +4 -0
  123. data/app/helpers/active_stix/relationships_helper.rb +4 -0
  124. data/app/helpers/active_stix/reports_helper.rb +4 -0
  125. data/app/helpers/active_stix/threat_actors_helper.rb +4 -0
  126. data/app/helpers/active_stix/tools_helper.rb +4 -0
  127. data/app/helpers/active_stix/urls_helper.rb +4 -0
  128. data/app/helpers/active_stix/users_helper.rb +4 -0
  129. data/app/jobs/active_stix/application_job.rb +4 -0
  130. data/app/mailers/active_stix/application_mailer.rb +6 -0
  131. data/app/models/active_stix/application_record.rb +5 -0
  132. data/app/models/active_stix/artifact.rb +23 -0
  133. data/app/models/active_stix/attack_pattern.rb +150 -0
  134. data/app/models/active_stix/bcc_ref.rb +6 -0
  135. data/app/models/active_stix/bundle.rb +108 -0
  136. data/app/models/active_stix/bundled_object.rb +4 -0
  137. data/app/models/active_stix/campaign.rb +65 -0
  138. data/app/models/active_stix/cc_ref.rb +6 -0
  139. data/app/models/active_stix/course_of_action.rb +54 -0
  140. data/app/models/active_stix/cyber_observable.rb +4 -0
  141. data/app/models/active_stix/email_address.rb +27 -0
  142. data/app/models/active_stix/email_message.rb +339 -0
  143. data/app/models/active_stix/external_reference.rb +48 -0
  144. data/app/models/active_stix/file.rb +2 -0
  145. data/app/models/active_stix/identity.rb +141 -0
  146. data/app/models/active_stix/indicator.rb +58 -0
  147. data/app/models/active_stix/indicator_label.rb +4 -0
  148. data/app/models/active_stix/intrusion_set.rb +69 -0
  149. data/app/models/active_stix/kill_chain.rb +7 -0
  150. data/app/models/active_stix/kill_chain_phase.rb +6 -0
  151. data/app/models/active_stix/label.rb +17 -0
  152. data/app/models/active_stix/label_malware.rb +4 -0
  153. data/app/models/active_stix/label_report.rb +4 -0
  154. data/app/models/active_stix/label_tool.rb +4 -0
  155. data/app/models/active_stix/malware.rb +98 -0
  156. data/app/models/active_stix/marking_definition.rb +21 -0
  157. data/app/models/active_stix/markup.rb +6 -0
  158. data/app/models/active_stix/object_marking.rb +11 -0
  159. data/app/models/active_stix/observed_datum.rb +67 -0
  160. data/app/models/active_stix/open_vocabulary.rb +8 -0
  161. data/app/models/active_stix/phase.rb +41 -0
  162. data/app/models/active_stix/recipient.rb +4 -0
  163. data/app/models/active_stix/reference_item.rb +4 -0
  164. data/app/models/active_stix/relationship.rb +95 -0
  165. data/app/models/active_stix/report.rb +93 -0
  166. data/app/models/active_stix/report_object.rb +9 -0
  167. data/app/models/active_stix/threat_actor.rb +139 -0
  168. data/app/models/active_stix/to_ref.rb +6 -0
  169. data/app/models/active_stix/tool.rb +112 -0
  170. data/app/models/active_stix/url.rb +15 -0
  171. data/app/models/active_stix/user.rb +4 -0
  172. data/app/models/active_stix/user_account.rb +3 -0
  173. data/app/views/active_stix/artifacts/_form.html.erb +57 -0
  174. data/app/views/active_stix/artifacts/edit.html.erb +6 -0
  175. data/app/views/active_stix/artifacts/index.html.erb +41 -0
  176. data/app/views/active_stix/artifacts/new.html.erb +5 -0
  177. data/app/views/active_stix/artifacts/show.html.erb +44 -0
  178. data/app/views/active_stix/attack_patterns/_form.html.erb +37 -0
  179. data/app/views/active_stix/attack_patterns/edit.html.erb +2 -0
  180. data/app/views/active_stix/attack_patterns/index.html.erb +2 -0
  181. data/app/views/active_stix/attack_patterns/new.html.erb +2 -0
  182. data/app/views/active_stix/attack_patterns/show.html.erb +140 -0
  183. data/app/views/active_stix/bcc_refs/_form.html.erb +27 -0
  184. data/app/views/active_stix/bcc_refs/edit.html.erb +6 -0
  185. data/app/views/active_stix/bcc_refs/index.html.erb +29 -0
  186. data/app/views/active_stix/bcc_refs/new.html.erb +5 -0
  187. data/app/views/active_stix/bcc_refs/show.html.erb +14 -0
  188. data/app/views/active_stix/bundles/index.html.erb +1 -0
  189. data/app/views/active_stix/bundles/show.html.erb +7 -0
  190. data/app/views/active_stix/campaigns/_form.html.erb +42 -0
  191. data/app/views/active_stix/campaigns/_stix_campaign.json.jbuilder +2 -0
  192. data/app/views/active_stix/campaigns/edit.html.erb +6 -0
  193. data/app/views/active_stix/campaigns/index.html.erb +35 -0
  194. data/app/views/active_stix/campaigns/index.json.jbuilder +1 -0
  195. data/app/views/active_stix/campaigns/new.html.erb +5 -0
  196. data/app/views/active_stix/campaigns/show.html.erb +29 -0
  197. data/app/views/active_stix/campaigns/show.json.jbuilder +1 -0
  198. data/app/views/active_stix/email_messages/_form.html.erb +62 -0
  199. data/app/views/active_stix/email_messages/_stix_email_message.json.jbuilder +2 -0
  200. data/app/views/active_stix/email_messages/edit.html.erb +6 -0
  201. data/app/views/active_stix/email_messages/index.html.erb +43 -0
  202. data/app/views/active_stix/email_messages/index.json.jbuilder +1 -0
  203. data/app/views/active_stix/email_messages/new.html.erb +5 -0
  204. data/app/views/active_stix/email_messages/show.html.erb +165 -0
  205. data/app/views/active_stix/email_messages/show.json.jbuilder +1 -0
  206. data/app/views/active_stix/files/_form.html.erb +92 -0
  207. data/app/views/active_stix/files/_stix_file.json.jbuilder +2 -0
  208. data/app/views/active_stix/files/edit.html.erb +6 -0
  209. data/app/views/active_stix/files/index.html.erb +55 -0
  210. data/app/views/active_stix/files/index.json.jbuilder +1 -0
  211. data/app/views/active_stix/files/new.html.erb +5 -0
  212. data/app/views/active_stix/files/show.html.erb +79 -0
  213. data/app/views/active_stix/files/show.json.jbuilder +1 -0
  214. data/app/views/active_stix/identities/_form.html.erb +27 -0
  215. data/app/views/active_stix/identities/_individual.html.erb +100 -0
  216. data/app/views/active_stix/identities/_organization.html.erb +72 -0
  217. data/app/views/active_stix/identities/_received_email_messages.html.erb +27 -0
  218. data/app/views/active_stix/identities/_sent_email_messages.html.erb +27 -0
  219. data/app/views/active_stix/identities/_threat_icons.html.erb +3 -0
  220. data/app/views/active_stix/identities/edit.html.erb +2 -0
  221. data/app/views/active_stix/identities/index.html.erb +37 -0
  222. data/app/views/active_stix/identities/new.html.erb +5 -0
  223. data/app/views/active_stix/identities/show.html.erb +15 -0
  224. data/app/views/active_stix/layouts/active_stix/application.html.erb +16 -0
  225. data/app/views/active_stix/recipients/_form.html.erb +27 -0
  226. data/app/views/active_stix/recipients/edit.html.erb +6 -0
  227. data/app/views/active_stix/recipients/index.html.erb +29 -0
  228. data/app/views/active_stix/recipients/new.html.erb +5 -0
  229. data/app/views/active_stix/recipients/show.html.erb +14 -0
  230. data/app/views/active_stix/threat_actors/_form.html.erb +32 -0
  231. data/app/views/active_stix/threat_actors/_stix_threat_actor.json.jbuilder +2 -0
  232. data/app/views/active_stix/threat_actors/edit.html.erb +6 -0
  233. data/app/views/active_stix/threat_actors/flags.html.erb +184 -0
  234. data/app/views/active_stix/threat_actors/index.html.erb +26 -0
  235. data/app/views/active_stix/threat_actors/index.json.jbuilder +1 -0
  236. data/app/views/active_stix/threat_actors/new.html.erb +5 -0
  237. data/app/views/active_stix/threat_actors/show.html.erb +4 -0
  238. data/app/views/active_stix/threat_actors/show.json.jbuilder +1 -0
  239. data/app/views/layouts/active_stix/application.html.erb +16 -0
  240. data/config/routes.rb +39 -0
  241. data/db/migrate/20191204200025_create_active_stix_bundled_objects.rb +11 -0
  242. data/db/migrate/20191204213707_create_active_stix_bundles.rb +10 -0
  243. data/db/migrate/20191204213802_create_active_stix_campaigns.rb +15 -0
  244. data/db/migrate/20191204213926_create_active_stix_course_of_actions.rb +12 -0
  245. data/db/migrate/20191204214020_create_active_stix_cyber_observables.rb +11 -0
  246. data/db/migrate/20191204214955_create_active_stix_email_messages.rb +20 -0
  247. data/db/migrate/20191204215029_create_active_stix_external_references.rb +12 -0
  248. data/db/migrate/20191204215302_create_active_stix_files.rb +23 -0
  249. data/db/migrate/20191204215419_create_active_stix_identities.rb +13 -0
  250. data/db/migrate/20191204215542_create_active_stix_indicator_labels.rb +10 -0
  251. data/db/migrate/20191204215637_create_active_stix_indicators.rb +16 -0
  252. data/db/migrate/20191204215849_create_active_stix_intrusion_sets.rb +15 -0
  253. data/db/migrate/20191204215929_create_active_stix_kill_chain_phases.rb +10 -0
  254. data/db/migrate/20191204215951_create_active_stix_kill_chains.rb +9 -0
  255. data/db/migrate/20191204220149_create_active_stix_malwares.rb +12 -0
  256. data/db/migrate/20191204220539_create_active_stix_marking_definitions.rb +12 -0
  257. data/db/migrate/20191204220853_create_active_stix_observed_data.rb +12 -0
  258. data/db/migrate/20191204220917_create_active_stix_open_vocabularies.rb +9 -0
  259. data/db/migrate/20191204220952_create_active_stix_phases.rb +11 -0
  260. data/db/migrate/20191204221129_create_active_stix_recipients.rb +10 -0
  261. data/db/migrate/20191204221227_create_active_stix_relationships.rb +16 -0
  262. data/db/migrate/20191204221323_create_active_stix_report_objects.rb +11 -0
  263. data/db/migrate/20191204221359_create_active_stix_reports.rb +14 -0
  264. data/db/migrate/20191204221425_create_active_stix_threat_actors.rb +11 -0
  265. data/db/migrate/20191204221454_create_active_stix_tools.rb +12 -0
  266. data/db/migrate/20191204221639_create_active_stix_urls.rb +9 -0
  267. data/db/migrate/20191204221849_create_active_stix_users.rb +22 -0
  268. data/db/migrate/20191205182234_create_active_stix_bcc_refs.rb +10 -0
  269. data/db/migrate/20191205182255_create_active_stix_cc_refs.rb +10 -0
  270. data/db/migrate/20191205182316_create_active_stix_to_refs.rb +10 -0
  271. data/db/migrate/20191212203611_add_spec_version_to_bundles.rb +5 -0
  272. data/db/migrate/20191212215136_create_active_stix_attack_patterns.rb +12 -0
  273. data/db/migrate/20191212220222_create_active_stix_reference_items.rb +11 -0
  274. data/db/migrate/20191213135204_create_active_stix_labels.rb +10 -0
  275. data/db/migrate/20191213140951_create_active_stix_markups.rb +11 -0
  276. data/db/migrate/20191221210537_fix_observed_data.rb +6 -0
  277. data/db/migrate/20191221223602_create_active_stix_artifacts.rb +16 -0
  278. data/db/migrate/20191223075550_change_artifact_ref_to_string.rb +5 -0
  279. data/db/migrate/20191223154000_add_stix_id_to_email_messages.rb +5 -0
  280. data/db/migrate/20200114162245_add_labels_to_active_stix_identities.rb +5 -0
  281. data/db/migrate/20200404223006_add_aliases_to_tools.rb +5 -0
  282. data/db/migrate/20200404223047_add_aliases_to_attack_patterns.rb +5 -0
  283. data/db/migrate/20200404223158_add_aliases_to_malwares.rb +5 -0
  284. data/db/migrate/20200404223210_add_aliases_to_threat_actors.rb +5 -0
  285. data/lib/active_stix.rb +8 -0
  286. data/lib/active_stix/engine.rb +13 -0
  287. data/lib/active_stix/version.rb +3 -0
  288. data/lib/tasks/active_stix_tasks.rake +4 -0
  289. metadata +358 -0
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class KillChainPhasesController < ApplicationController
5
+ before_action :set_kill_chain_phase, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /kill_chain_phases
8
+ def index
9
+ @kill_chain_phases = KillChainPhase.all
10
+ end
11
+
12
+ # GET /kill_chain_phases/1
13
+ def show
14
+ end
15
+
16
+ # GET /kill_chain_phases/new
17
+ def new
18
+ @kill_chain_phase = KillChainPhase.new
19
+ end
20
+
21
+ # GET /kill_chain_phases/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /kill_chain_phases
26
+ def create
27
+ @kill_chain_phase = KillChainPhase.new(kill_chain_phase_params)
28
+
29
+ if @kill_chain_phase.save
30
+ redirect_to @kill_chain_phase, notice: 'Kill chain phase was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /kill_chain_phases/1
37
+ def update
38
+ if @kill_chain_phase.update(kill_chain_phase_params)
39
+ redirect_to @kill_chain_phase, notice: 'Kill chain phase was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /kill_chain_phases/1
46
+ def destroy
47
+ @kill_chain_phase.destroy
48
+ redirect_to kill_chain_phases_url, notice: 'Kill chain phase was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_kill_chain_phase
54
+ @kill_chain_phase = KillChainPhase.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def kill_chain_phase_params
59
+ params.require(:kill_chain_phase).permit(:attack_pattern_ref, :phase_id)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class KillChainsController < ApplicationController
5
+ before_action :set_kill_chain, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /kill_chains
8
+ def index
9
+ @kill_chains = KillChain.all
10
+ end
11
+
12
+ # GET /kill_chains/1
13
+ def show
14
+ end
15
+
16
+ # GET /kill_chains/new
17
+ def new
18
+ @kill_chain = KillChain.new
19
+ end
20
+
21
+ # GET /kill_chains/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /kill_chains
26
+ def create
27
+ @kill_chain = KillChain.new(kill_chain_params)
28
+
29
+ if @kill_chain.save
30
+ redirect_to @kill_chain, notice: 'Kill chain was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /kill_chains/1
37
+ def update
38
+ if @kill_chain.update(kill_chain_params)
39
+ redirect_to @kill_chain, notice: 'Kill chain was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /kill_chains/1
46
+ def destroy
47
+ @kill_chain.destroy
48
+ redirect_to kill_chains_url, notice: 'Kill chain was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_kill_chain
54
+ @kill_chain = KillChain.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def kill_chain_params
59
+ params.require(:kill_chain).permit(:name)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class MalwaresController < ApplicationController
5
+ before_action :set_malware, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /malwares
8
+ def index
9
+ @malwares = Malware.all
10
+ end
11
+
12
+ # GET /malwares/1
13
+ def show
14
+ end
15
+
16
+ # GET /malwares/new
17
+ def new
18
+ @malware = Malware.new
19
+ end
20
+
21
+ # GET /malwares/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /malwares
26
+ def create
27
+ @malware = Malware.new(malware_params)
28
+
29
+ if @malware.save
30
+ redirect_to @malware, notice: 'Malware was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /malwares/1
37
+ def update
38
+ if @malware.update(malware_params)
39
+ redirect_to @malware, notice: 'Malware was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /malwares/1
46
+ def destroy
47
+ @malware.destroy
48
+ redirect_to malwares_url, notice: 'Malware was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_malware
54
+ @malware = Malware.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def malware_params
59
+ params.require(:malware).permit(:active_stix_id, :name, :description, :created_by_ref)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class MarkingDefinitionsController < ApplicationController
5
+ before_action :set_marking_definition, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /marking_definitions
8
+ def index
9
+ @marking_definitions = MarkingDefinition.all
10
+ end
11
+
12
+ # GET /marking_definitions/1
13
+ def show
14
+ end
15
+
16
+ # GET /marking_definitions/new
17
+ def new
18
+ @marking_definition = MarkingDefinition.new
19
+ end
20
+
21
+ # GET /marking_definitions/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /marking_definitions
26
+ def create
27
+ @marking_definition = MarkingDefinition.new(marking_definition_params)
28
+
29
+ if @marking_definition.save
30
+ redirect_to @marking_definition, notice: 'Marking definition was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /marking_definitions/1
37
+ def update
38
+ if @marking_definition.update(marking_definition_params)
39
+ redirect_to @marking_definition, notice: 'Marking definition was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /marking_definitions/1
46
+ def destroy
47
+ @marking_definition.destroy
48
+ redirect_to marking_definitions_url, notice: 'Marking definition was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_marking_definition
54
+ @marking_definition = MarkingDefinition.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def marking_definition_params
59
+ params.require(:marking_definition).permit(:active_stix_id, :definition_type, :definition, :relationship_ref)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class ObservedDataController < ApplicationController
5
+ before_action :set_observed_datum, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /observed_data
8
+ def index
9
+ @observed_data = ObservedDatum.all
10
+ end
11
+
12
+ # GET /observed_data/1
13
+ def show
14
+ end
15
+
16
+ # GET /observed_data/new
17
+ def new
18
+ @observed_datum = ObservedDatum.new
19
+ end
20
+
21
+ # GET /observed_data/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /observed_data
26
+ def create
27
+ @observed_datum = ObservedDatum.new(observed_datum_params)
28
+
29
+ if @observed_datum.save
30
+ redirect_to @observed_datum, notice: 'Observed datum was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /observed_data/1
37
+ def update
38
+ if @observed_datum.update(observed_datum_params)
39
+ redirect_to @observed_datum, notice: 'Observed datum was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /observed_data/1
46
+ def destroy
47
+ @observed_datum.destroy
48
+ redirect_to observed_data_url, notice: 'Observed datum was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_observed_datum
54
+ @observed_datum = ObservedDatum.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def observed_datum_params
59
+ params.require(:observed_datum).permit(:active_stix_id, :first_observed_datetime, :last_observed, :number_observed)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class OpenVocabulariesController < ApplicationController
5
+ before_action :set_open_vocabulary, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /open_vocabularies
8
+ def index
9
+ @open_vocabularies = OpenVocabulary.all
10
+ end
11
+
12
+ # GET /open_vocabularies/1
13
+ def show
14
+ end
15
+
16
+ # GET /open_vocabularies/new
17
+ def new
18
+ @open_vocabulary = OpenVocabulary.new
19
+ end
20
+
21
+ # GET /open_vocabularies/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /open_vocabularies
26
+ def create
27
+ @open_vocabulary = OpenVocabulary.new(open_vocabulary_params)
28
+
29
+ if @open_vocabulary.save
30
+ redirect_to @open_vocabulary, notice: 'Open vocabulary was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /open_vocabularies/1
37
+ def update
38
+ if @open_vocabulary.update(open_vocabulary_params)
39
+ redirect_to @open_vocabulary, notice: 'Open vocabulary was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /open_vocabularies/1
46
+ def destroy
47
+ @open_vocabulary.destroy
48
+ redirect_to open_vocabularies_url, notice: 'Open vocabulary was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_open_vocabulary
54
+ @open_vocabulary = OpenVocabulary.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def open_vocabulary_params
59
+ params.require(:open_vocabulary).permit(:name)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class PhasesController < ApplicationController
5
+ before_action :set_phase, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /phases
8
+ def index
9
+ @phases = Phase.all
10
+ end
11
+
12
+ # GET /phases/1
13
+ def show
14
+ end
15
+
16
+ # GET /phases/new
17
+ def new
18
+ @phase = Phase.new
19
+ end
20
+
21
+ # GET /phases/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /phases
26
+ def create
27
+ @phase = Phase.new(phase_params)
28
+
29
+ if @phase.save
30
+ redirect_to @phase, notice: 'Phase was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /phases/1
37
+ def update
38
+ if @phase.update(phase_params)
39
+ redirect_to @phase, notice: 'Phase was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /phases/1
46
+ def destroy
47
+ @phase.destroy
48
+ redirect_to phases_url, notice: 'Phase was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_phase
54
+ @phase = Phase.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def phase_params
59
+ params.require(:phase).permit(:kill_chain_id, :name, :rank)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "active_stix/application_controller"
2
+
3
+ module ActiveStix
4
+ class RecipientsController < ApplicationController
5
+ before_action :set_recipient, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /recipients
8
+ def index
9
+ @recipients = Recipient.all
10
+ end
11
+
12
+ # GET /recipients/1
13
+ def show
14
+ end
15
+
16
+ # GET /recipients/new
17
+ def new
18
+ @recipient = Recipient.new
19
+ end
20
+
21
+ # GET /recipients/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /recipients
26
+ def create
27
+ @recipient = Recipient.new(recipient_params)
28
+
29
+ if @recipient.save
30
+ redirect_to @recipient, notice: 'Recipient was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /recipients/1
37
+ def update
38
+ if @recipient.update(recipient_params)
39
+ redirect_to @recipient, notice: 'Recipient was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /recipients/1
46
+ def destroy
47
+ @recipient.destroy
48
+ redirect_to recipients_url, notice: 'Recipient was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_recipient
54
+ @recipient = Recipient.find(params[:id])
55
+ end
56
+
57
+ # Only allow a trusted parameter "white list" through.
58
+ def recipient_params
59
+ params.require(:recipient).permit(:email_message_id, :email_address_id)
60
+ end
61
+ end
62
+ end