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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +32 -0
- data/app/assets/config/active_stix_manifest.js +2 -0
- data/app/assets/javascripts/active_stix/application.js +15 -0
- data/app/assets/javascripts/active_stix/artifacts.js +2 -0
- data/app/assets/javascripts/active_stix/attack_patterns.js +2 -0
- data/app/assets/javascripts/active_stix/bcc_refs.js +2 -0
- data/app/assets/javascripts/active_stix/bundled_objects.js +2 -0
- data/app/assets/javascripts/active_stix/bundles.js +2 -0
- data/app/assets/javascripts/active_stix/campaigns.js +2 -0
- data/app/assets/javascripts/active_stix/course_of_actions.js +2 -0
- data/app/assets/javascripts/active_stix/cyber_observables.js +2 -0
- data/app/assets/javascripts/active_stix/email_messages.js +2 -0
- data/app/assets/javascripts/active_stix/external_references.js +2 -0
- data/app/assets/javascripts/active_stix/files.js +2 -0
- data/app/assets/javascripts/active_stix/identities.js +2 -0
- data/app/assets/javascripts/active_stix/indicator_labels.js +2 -0
- data/app/assets/javascripts/active_stix/indicators.js +2 -0
- data/app/assets/javascripts/active_stix/intrusion_sets.js +2 -0
- data/app/assets/javascripts/active_stix/kill_chain_phases.js +2 -0
- data/app/assets/javascripts/active_stix/kill_chains.js +2 -0
- data/app/assets/javascripts/active_stix/malwares.js +2 -0
- data/app/assets/javascripts/active_stix/marking_definitions.js +2 -0
- data/app/assets/javascripts/active_stix/observed_data.js +2 -0
- data/app/assets/javascripts/active_stix/open_vocabularies.js +2 -0
- data/app/assets/javascripts/active_stix/phases.js +2 -0
- data/app/assets/javascripts/active_stix/recipients.js +2 -0
- data/app/assets/javascripts/active_stix/relationships.js +2 -0
- data/app/assets/javascripts/active_stix/reports.js +2 -0
- data/app/assets/javascripts/active_stix/threat_actors.js +2 -0
- data/app/assets/javascripts/active_stix/tools.js +2 -0
- data/app/assets/javascripts/active_stix/urls.js +2 -0
- data/app/assets/javascripts/active_stix/users.js +2 -0
- data/app/assets/stylesheets/active_stix/application.css +15 -0
- data/app/assets/stylesheets/active_stix/artifacts.css +4 -0
- data/app/assets/stylesheets/active_stix/attack_patterns.css +4 -0
- data/app/assets/stylesheets/active_stix/bcc_refs.css +4 -0
- data/app/assets/stylesheets/active_stix/bundled_objects.css +4 -0
- data/app/assets/stylesheets/active_stix/bundles.css +4 -0
- data/app/assets/stylesheets/active_stix/campaigns.css +4 -0
- data/app/assets/stylesheets/active_stix/course_of_actions.css +4 -0
- data/app/assets/stylesheets/active_stix/cyber_observables.css +4 -0
- data/app/assets/stylesheets/active_stix/email_messages.css +4 -0
- data/app/assets/stylesheets/active_stix/external_references.css +4 -0
- data/app/assets/stylesheets/active_stix/files.css +4 -0
- data/app/assets/stylesheets/active_stix/identities.css +4 -0
- data/app/assets/stylesheets/active_stix/indicator_labels.css +4 -0
- data/app/assets/stylesheets/active_stix/indicators.css +4 -0
- data/app/assets/stylesheets/active_stix/intrusion_sets.css +4 -0
- data/app/assets/stylesheets/active_stix/kill_chain_phases.css +4 -0
- data/app/assets/stylesheets/active_stix/kill_chains.css +4 -0
- data/app/assets/stylesheets/active_stix/malwares.css +4 -0
- data/app/assets/stylesheets/active_stix/marking_definitions.css +4 -0
- data/app/assets/stylesheets/active_stix/observed_data.css +4 -0
- data/app/assets/stylesheets/active_stix/open_vocabularies.css +4 -0
- data/app/assets/stylesheets/active_stix/phases.css +4 -0
- data/app/assets/stylesheets/active_stix/recipients.css +4 -0
- data/app/assets/stylesheets/active_stix/relationships.css +4 -0
- data/app/assets/stylesheets/active_stix/reports.css +4 -0
- data/app/assets/stylesheets/active_stix/threat_actors.css +4 -0
- data/app/assets/stylesheets/active_stix/tools.css +4 -0
- data/app/assets/stylesheets/active_stix/urls.css +4 -0
- data/app/assets/stylesheets/active_stix/users.css +4 -0
- data/app/assets/stylesheets/scaffold.css +80 -0
- data/app/controllers/active_stix/application_controller.rb +5 -0
- data/app/controllers/active_stix/artifacts_controller.rb +62 -0
- data/app/controllers/active_stix/attack_patterns_controller.rb +27 -0
- data/app/controllers/active_stix/bcc_refs_controller.rb +62 -0
- data/app/controllers/active_stix/bundled_objects_controller.rb +62 -0
- data/app/controllers/active_stix/bundles_controller.rb +11 -0
- data/app/controllers/active_stix/campaigns_controller.rb +74 -0
- data/app/controllers/active_stix/course_of_actions_controller.rb +62 -0
- data/app/controllers/active_stix/cyber_observables_controller.rb +62 -0
- data/app/controllers/active_stix/email_addresses_controller.rb +74 -0
- data/app/controllers/active_stix/email_messages_controller.rb +26 -0
- data/app/controllers/active_stix/external_references_controller.rb +62 -0
- data/app/controllers/active_stix/files_controller.rb +74 -0
- data/app/controllers/active_stix/identities_controller.rb +128 -0
- data/app/controllers/active_stix/indicator_labels_controller.rb +62 -0
- data/app/controllers/active_stix/indicators_controller.rb +62 -0
- data/app/controllers/active_stix/intrusion_sets_controller.rb +62 -0
- data/app/controllers/active_stix/kill_chain_phases_controller.rb +62 -0
- data/app/controllers/active_stix/kill_chains_controller.rb +62 -0
- data/app/controllers/active_stix/malwares_controller.rb +62 -0
- data/app/controllers/active_stix/marking_definitions_controller.rb +62 -0
- data/app/controllers/active_stix/observed_data_controller.rb +62 -0
- data/app/controllers/active_stix/open_vocabularies_controller.rb +62 -0
- data/app/controllers/active_stix/phases_controller.rb +62 -0
- data/app/controllers/active_stix/recipients_controller.rb +62 -0
- data/app/controllers/active_stix/relationships_controller.rb +62 -0
- data/app/controllers/active_stix/reports_controller.rb +62 -0
- data/app/controllers/active_stix/threat_actors_controller.rb +75 -0
- data/app/controllers/active_stix/tools_controller.rb +62 -0
- data/app/controllers/active_stix/urls_controller.rb +62 -0
- data/app/controllers/active_stix/user_accounts_controller.rb +74 -0
- data/app/controllers/active_stix/users_controller.rb +62 -0
- data/app/helpers/active_stix/application_helper.rb +4 -0
- data/app/helpers/active_stix/artifacts_helper.rb +4 -0
- data/app/helpers/active_stix/attack_patterns_helper.rb +4 -0
- data/app/helpers/active_stix/bcc_refs_helper.rb +4 -0
- data/app/helpers/active_stix/bundled_objects_helper.rb +4 -0
- data/app/helpers/active_stix/bundles_helper.rb +4 -0
- data/app/helpers/active_stix/campaigns_helper.rb +4 -0
- data/app/helpers/active_stix/course_of_actions_helper.rb +4 -0
- data/app/helpers/active_stix/cyber_observables_helper.rb +4 -0
- data/app/helpers/active_stix/email_messages_helper.rb +4 -0
- data/app/helpers/active_stix/external_references_helper.rb +4 -0
- data/app/helpers/active_stix/files_helper.rb +4 -0
- data/app/helpers/active_stix/identities_helper.rb +4 -0
- data/app/helpers/active_stix/indicator_labels_helper.rb +4 -0
- data/app/helpers/active_stix/indicators_helper.rb +4 -0
- data/app/helpers/active_stix/intrusion_sets_helper.rb +4 -0
- data/app/helpers/active_stix/kill_chain_phases_helper.rb +4 -0
- data/app/helpers/active_stix/kill_chains_helper.rb +4 -0
- data/app/helpers/active_stix/malwares_helper.rb +4 -0
- data/app/helpers/active_stix/marking_definitions_helper.rb +4 -0
- data/app/helpers/active_stix/observed_data_helper.rb +4 -0
- data/app/helpers/active_stix/open_vocabularies_helper.rb +4 -0
- data/app/helpers/active_stix/phases_helper.rb +4 -0
- data/app/helpers/active_stix/recipients_helper.rb +4 -0
- data/app/helpers/active_stix/relationships_helper.rb +4 -0
- data/app/helpers/active_stix/reports_helper.rb +4 -0
- data/app/helpers/active_stix/threat_actors_helper.rb +4 -0
- data/app/helpers/active_stix/tools_helper.rb +4 -0
- data/app/helpers/active_stix/urls_helper.rb +4 -0
- data/app/helpers/active_stix/users_helper.rb +4 -0
- data/app/jobs/active_stix/application_job.rb +4 -0
- data/app/mailers/active_stix/application_mailer.rb +6 -0
- data/app/models/active_stix/application_record.rb +5 -0
- data/app/models/active_stix/artifact.rb +23 -0
- data/app/models/active_stix/attack_pattern.rb +150 -0
- data/app/models/active_stix/bcc_ref.rb +6 -0
- data/app/models/active_stix/bundle.rb +108 -0
- data/app/models/active_stix/bundled_object.rb +4 -0
- data/app/models/active_stix/campaign.rb +65 -0
- data/app/models/active_stix/cc_ref.rb +6 -0
- data/app/models/active_stix/course_of_action.rb +54 -0
- data/app/models/active_stix/cyber_observable.rb +4 -0
- data/app/models/active_stix/email_address.rb +27 -0
- data/app/models/active_stix/email_message.rb +339 -0
- data/app/models/active_stix/external_reference.rb +48 -0
- data/app/models/active_stix/file.rb +2 -0
- data/app/models/active_stix/identity.rb +141 -0
- data/app/models/active_stix/indicator.rb +58 -0
- data/app/models/active_stix/indicator_label.rb +4 -0
- data/app/models/active_stix/intrusion_set.rb +69 -0
- data/app/models/active_stix/kill_chain.rb +7 -0
- data/app/models/active_stix/kill_chain_phase.rb +6 -0
- data/app/models/active_stix/label.rb +17 -0
- data/app/models/active_stix/label_malware.rb +4 -0
- data/app/models/active_stix/label_report.rb +4 -0
- data/app/models/active_stix/label_tool.rb +4 -0
- data/app/models/active_stix/malware.rb +98 -0
- data/app/models/active_stix/marking_definition.rb +21 -0
- data/app/models/active_stix/markup.rb +6 -0
- data/app/models/active_stix/object_marking.rb +11 -0
- data/app/models/active_stix/observed_datum.rb +67 -0
- data/app/models/active_stix/open_vocabulary.rb +8 -0
- data/app/models/active_stix/phase.rb +41 -0
- data/app/models/active_stix/recipient.rb +4 -0
- data/app/models/active_stix/reference_item.rb +4 -0
- data/app/models/active_stix/relationship.rb +95 -0
- data/app/models/active_stix/report.rb +93 -0
- data/app/models/active_stix/report_object.rb +9 -0
- data/app/models/active_stix/threat_actor.rb +139 -0
- data/app/models/active_stix/to_ref.rb +6 -0
- data/app/models/active_stix/tool.rb +112 -0
- data/app/models/active_stix/url.rb +15 -0
- data/app/models/active_stix/user.rb +4 -0
- data/app/models/active_stix/user_account.rb +3 -0
- data/app/views/active_stix/artifacts/_form.html.erb +57 -0
- data/app/views/active_stix/artifacts/edit.html.erb +6 -0
- data/app/views/active_stix/artifacts/index.html.erb +41 -0
- data/app/views/active_stix/artifacts/new.html.erb +5 -0
- data/app/views/active_stix/artifacts/show.html.erb +44 -0
- data/app/views/active_stix/attack_patterns/_form.html.erb +37 -0
- data/app/views/active_stix/attack_patterns/edit.html.erb +2 -0
- data/app/views/active_stix/attack_patterns/index.html.erb +2 -0
- data/app/views/active_stix/attack_patterns/new.html.erb +2 -0
- data/app/views/active_stix/attack_patterns/show.html.erb +140 -0
- data/app/views/active_stix/bcc_refs/_form.html.erb +27 -0
- data/app/views/active_stix/bcc_refs/edit.html.erb +6 -0
- data/app/views/active_stix/bcc_refs/index.html.erb +29 -0
- data/app/views/active_stix/bcc_refs/new.html.erb +5 -0
- data/app/views/active_stix/bcc_refs/show.html.erb +14 -0
- data/app/views/active_stix/bundles/index.html.erb +1 -0
- data/app/views/active_stix/bundles/show.html.erb +7 -0
- data/app/views/active_stix/campaigns/_form.html.erb +42 -0
- data/app/views/active_stix/campaigns/_stix_campaign.json.jbuilder +2 -0
- data/app/views/active_stix/campaigns/edit.html.erb +6 -0
- data/app/views/active_stix/campaigns/index.html.erb +35 -0
- data/app/views/active_stix/campaigns/index.json.jbuilder +1 -0
- data/app/views/active_stix/campaigns/new.html.erb +5 -0
- data/app/views/active_stix/campaigns/show.html.erb +29 -0
- data/app/views/active_stix/campaigns/show.json.jbuilder +1 -0
- data/app/views/active_stix/email_messages/_form.html.erb +62 -0
- data/app/views/active_stix/email_messages/_stix_email_message.json.jbuilder +2 -0
- data/app/views/active_stix/email_messages/edit.html.erb +6 -0
- data/app/views/active_stix/email_messages/index.html.erb +43 -0
- data/app/views/active_stix/email_messages/index.json.jbuilder +1 -0
- data/app/views/active_stix/email_messages/new.html.erb +5 -0
- data/app/views/active_stix/email_messages/show.html.erb +165 -0
- data/app/views/active_stix/email_messages/show.json.jbuilder +1 -0
- data/app/views/active_stix/files/_form.html.erb +92 -0
- data/app/views/active_stix/files/_stix_file.json.jbuilder +2 -0
- data/app/views/active_stix/files/edit.html.erb +6 -0
- data/app/views/active_stix/files/index.html.erb +55 -0
- data/app/views/active_stix/files/index.json.jbuilder +1 -0
- data/app/views/active_stix/files/new.html.erb +5 -0
- data/app/views/active_stix/files/show.html.erb +79 -0
- data/app/views/active_stix/files/show.json.jbuilder +1 -0
- data/app/views/active_stix/identities/_form.html.erb +27 -0
- data/app/views/active_stix/identities/_individual.html.erb +100 -0
- data/app/views/active_stix/identities/_organization.html.erb +72 -0
- data/app/views/active_stix/identities/_received_email_messages.html.erb +27 -0
- data/app/views/active_stix/identities/_sent_email_messages.html.erb +27 -0
- data/app/views/active_stix/identities/_threat_icons.html.erb +3 -0
- data/app/views/active_stix/identities/edit.html.erb +2 -0
- data/app/views/active_stix/identities/index.html.erb +37 -0
- data/app/views/active_stix/identities/new.html.erb +5 -0
- data/app/views/active_stix/identities/show.html.erb +15 -0
- data/app/views/active_stix/layouts/active_stix/application.html.erb +16 -0
- data/app/views/active_stix/recipients/_form.html.erb +27 -0
- data/app/views/active_stix/recipients/edit.html.erb +6 -0
- data/app/views/active_stix/recipients/index.html.erb +29 -0
- data/app/views/active_stix/recipients/new.html.erb +5 -0
- data/app/views/active_stix/recipients/show.html.erb +14 -0
- data/app/views/active_stix/threat_actors/_form.html.erb +32 -0
- data/app/views/active_stix/threat_actors/_stix_threat_actor.json.jbuilder +2 -0
- data/app/views/active_stix/threat_actors/edit.html.erb +6 -0
- data/app/views/active_stix/threat_actors/flags.html.erb +184 -0
- data/app/views/active_stix/threat_actors/index.html.erb +26 -0
- data/app/views/active_stix/threat_actors/index.json.jbuilder +1 -0
- data/app/views/active_stix/threat_actors/new.html.erb +5 -0
- data/app/views/active_stix/threat_actors/show.html.erb +4 -0
- data/app/views/active_stix/threat_actors/show.json.jbuilder +1 -0
- data/app/views/layouts/active_stix/application.html.erb +16 -0
- data/config/routes.rb +39 -0
- data/db/migrate/20191204200025_create_active_stix_bundled_objects.rb +11 -0
- data/db/migrate/20191204213707_create_active_stix_bundles.rb +10 -0
- data/db/migrate/20191204213802_create_active_stix_campaigns.rb +15 -0
- data/db/migrate/20191204213926_create_active_stix_course_of_actions.rb +12 -0
- data/db/migrate/20191204214020_create_active_stix_cyber_observables.rb +11 -0
- data/db/migrate/20191204214955_create_active_stix_email_messages.rb +20 -0
- data/db/migrate/20191204215029_create_active_stix_external_references.rb +12 -0
- data/db/migrate/20191204215302_create_active_stix_files.rb +23 -0
- data/db/migrate/20191204215419_create_active_stix_identities.rb +13 -0
- data/db/migrate/20191204215542_create_active_stix_indicator_labels.rb +10 -0
- data/db/migrate/20191204215637_create_active_stix_indicators.rb +16 -0
- data/db/migrate/20191204215849_create_active_stix_intrusion_sets.rb +15 -0
- data/db/migrate/20191204215929_create_active_stix_kill_chain_phases.rb +10 -0
- data/db/migrate/20191204215951_create_active_stix_kill_chains.rb +9 -0
- data/db/migrate/20191204220149_create_active_stix_malwares.rb +12 -0
- data/db/migrate/20191204220539_create_active_stix_marking_definitions.rb +12 -0
- data/db/migrate/20191204220853_create_active_stix_observed_data.rb +12 -0
- data/db/migrate/20191204220917_create_active_stix_open_vocabularies.rb +9 -0
- data/db/migrate/20191204220952_create_active_stix_phases.rb +11 -0
- data/db/migrate/20191204221129_create_active_stix_recipients.rb +10 -0
- data/db/migrate/20191204221227_create_active_stix_relationships.rb +16 -0
- data/db/migrate/20191204221323_create_active_stix_report_objects.rb +11 -0
- data/db/migrate/20191204221359_create_active_stix_reports.rb +14 -0
- data/db/migrate/20191204221425_create_active_stix_threat_actors.rb +11 -0
- data/db/migrate/20191204221454_create_active_stix_tools.rb +12 -0
- data/db/migrate/20191204221639_create_active_stix_urls.rb +9 -0
- data/db/migrate/20191204221849_create_active_stix_users.rb +22 -0
- data/db/migrate/20191205182234_create_active_stix_bcc_refs.rb +10 -0
- data/db/migrate/20191205182255_create_active_stix_cc_refs.rb +10 -0
- data/db/migrate/20191205182316_create_active_stix_to_refs.rb +10 -0
- data/db/migrate/20191212203611_add_spec_version_to_bundles.rb +5 -0
- data/db/migrate/20191212215136_create_active_stix_attack_patterns.rb +12 -0
- data/db/migrate/20191212220222_create_active_stix_reference_items.rb +11 -0
- data/db/migrate/20191213135204_create_active_stix_labels.rb +10 -0
- data/db/migrate/20191213140951_create_active_stix_markups.rb +11 -0
- data/db/migrate/20191221210537_fix_observed_data.rb +6 -0
- data/db/migrate/20191221223602_create_active_stix_artifacts.rb +16 -0
- data/db/migrate/20191223075550_change_artifact_ref_to_string.rb +5 -0
- data/db/migrate/20191223154000_add_stix_id_to_email_messages.rb +5 -0
- data/db/migrate/20200114162245_add_labels_to_active_stix_identities.rb +5 -0
- data/db/migrate/20200404223006_add_aliases_to_tools.rb +5 -0
- data/db/migrate/20200404223047_add_aliases_to_attack_patterns.rb +5 -0
- data/db/migrate/20200404223158_add_aliases_to_malwares.rb +5 -0
- data/db/migrate/20200404223210_add_aliases_to_threat_actors.rb +5 -0
- data/lib/active_stix.rb +8 -0
- data/lib/active_stix/engine.rb +13 -0
- data/lib/active_stix/version.rb +3 -0
- data/lib/tasks/active_stix_tasks.rake +4 -0
- metadata +358 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_dependency "active_stix/application_controller"
|
|
2
|
+
|
|
3
|
+
module ActiveStix
|
|
4
|
+
class ArtifactsController < ApplicationController
|
|
5
|
+
before_action :set_artifact, only: [:show, :edit, :update, :destroy]
|
|
6
|
+
|
|
7
|
+
# GET /artifacts
|
|
8
|
+
def index
|
|
9
|
+
@artifacts = Artifact.all
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /artifacts/1
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# GET /artifacts/new
|
|
17
|
+
def new
|
|
18
|
+
@artifact = Artifact.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /artifacts/1/edit
|
|
22
|
+
def edit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# POST /artifacts
|
|
26
|
+
def create
|
|
27
|
+
@artifact = Artifact.new(artifact_params)
|
|
28
|
+
|
|
29
|
+
if @artifact.save
|
|
30
|
+
redirect_to @artifact, notice: 'Artifact was successfully created.'
|
|
31
|
+
else
|
|
32
|
+
render :new
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# PATCH/PUT /artifacts/1
|
|
37
|
+
def update
|
|
38
|
+
if @artifact.update(artifact_params)
|
|
39
|
+
redirect_to @artifact, notice: 'Artifact was successfully updated.'
|
|
40
|
+
else
|
|
41
|
+
render :edit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# DELETE /artifacts/1
|
|
46
|
+
def destroy
|
|
47
|
+
@artifact.destroy
|
|
48
|
+
redirect_to artifacts_url, notice: 'Artifact was successfully destroyed.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
53
|
+
def set_artifact
|
|
54
|
+
@artifact = Artifact.find(params[:id])
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
|
58
|
+
def artifact_params
|
|
59
|
+
params.require(:artifact).permit(:stix_id, :type, :mime_type, :payload_bin, :url, :hashes, :encryption_algorithm, :decryption_key)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
class ActiveStix::AttackPatternsController < ApplicationController
|
|
2
|
+
before_action :set_attack_pattern, only: [:show, :edit, :update, :destroy, :data]
|
|
3
|
+
def index
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def edit
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def new
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def show
|
|
13
|
+
#@attack_pattern = ActiveStix::AttackPattern.find(params[:id])
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
18
|
+
def set_attack_pattern
|
|
19
|
+
@attack_pattern = ActiveStix::AttackPattern.find(params[:id])
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Never trust parameters from the scary internet, only allow the white list through.
|
|
23
|
+
def attack_pattern_params
|
|
24
|
+
params.require(:attack_matrix).permit(:id)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_dependency "active_stix/application_controller"
|
|
2
|
+
|
|
3
|
+
module ActiveStix
|
|
4
|
+
class BccRefsController < ApplicationController
|
|
5
|
+
before_action :set_bcc_ref, only: [:show, :edit, :update, :destroy]
|
|
6
|
+
|
|
7
|
+
# GET /bcc_refs
|
|
8
|
+
def index
|
|
9
|
+
@bcc_refs = BccRef.all
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /bcc_refs/1
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# GET /bcc_refs/new
|
|
17
|
+
def new
|
|
18
|
+
@bcc_ref = BccRef.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /bcc_refs/1/edit
|
|
22
|
+
def edit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# POST /bcc_refs
|
|
26
|
+
def create
|
|
27
|
+
@bcc_ref = BccRef.new(bcc_ref_params)
|
|
28
|
+
|
|
29
|
+
if @bcc_ref.save
|
|
30
|
+
redirect_to @bcc_ref, notice: 'Bcc ref was successfully created.'
|
|
31
|
+
else
|
|
32
|
+
render :new
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# PATCH/PUT /bcc_refs/1
|
|
37
|
+
def update
|
|
38
|
+
if @bcc_ref.update(bcc_ref_params)
|
|
39
|
+
redirect_to @bcc_ref, notice: 'Bcc ref was successfully updated.'
|
|
40
|
+
else
|
|
41
|
+
render :edit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# DELETE /bcc_refs/1
|
|
46
|
+
def destroy
|
|
47
|
+
@bcc_ref.destroy
|
|
48
|
+
redirect_to bcc_refs_url, notice: 'Bcc ref was successfully destroyed.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
53
|
+
def set_bcc_ref
|
|
54
|
+
@bcc_ref = BccRef.find(params[:id])
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
|
58
|
+
def bcc_ref_params
|
|
59
|
+
params.require(:bcc_ref).permit(:email_message_id, :email_address_id)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_dependency "active_stix/application_controller"
|
|
2
|
+
|
|
3
|
+
module ActiveStix
|
|
4
|
+
class BundledObjectsController < ApplicationController
|
|
5
|
+
before_action :set_bundled_object, only: [:show, :edit, :update, :destroy]
|
|
6
|
+
|
|
7
|
+
# GET /bundled_objects
|
|
8
|
+
def index
|
|
9
|
+
@bundled_objects = BundledObject.all
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /bundled_objects/1
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# GET /bundled_objects/new
|
|
17
|
+
def new
|
|
18
|
+
@bundled_object = BundledObject.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /bundled_objects/1/edit
|
|
22
|
+
def edit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# POST /bundled_objects
|
|
26
|
+
def create
|
|
27
|
+
@bundled_object = BundledObject.new(bundled_object_params)
|
|
28
|
+
|
|
29
|
+
if @bundled_object.save
|
|
30
|
+
redirect_to @bundled_object, notice: 'Bundled object was successfully created.'
|
|
31
|
+
else
|
|
32
|
+
render :new
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# PATCH/PUT /bundled_objects/1
|
|
37
|
+
def update
|
|
38
|
+
if @bundled_object.update(bundled_object_params)
|
|
39
|
+
redirect_to @bundled_object, notice: 'Bundled object was successfully updated.'
|
|
40
|
+
else
|
|
41
|
+
render :edit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# DELETE /bundled_objects/1
|
|
46
|
+
def destroy
|
|
47
|
+
@bundled_object.destroy
|
|
48
|
+
redirect_to bundled_objects_url, notice: 'Bundled object was successfully destroyed.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
53
|
+
def set_bundled_object
|
|
54
|
+
@bundled_object = BundledObject.find(params[:id])
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
|
58
|
+
def bundled_object_params
|
|
59
|
+
params.require(:bundled_object).permit(:bundle_ref, :object_ref, :object_type)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
class ActiveStix::BundlesController < ApplicationController
|
|
2
|
+
# GET /stix/bundle
|
|
3
|
+
# GET /stix/bundle.json
|
|
4
|
+
def index
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def show
|
|
8
|
+
bundle = ActiveStix::Bundle.find(params[:id])
|
|
9
|
+
@bundle = JSON.parse(File.open("tmp/#{bundle.stix_id}.json", "r+").read)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
class ActiveStix::CampaignsController < ApplicationController
|
|
2
|
+
before_action :set_stix_campaign, only: [:show, :edit, :update, :destroy]
|
|
3
|
+
|
|
4
|
+
# GET /stix/campaigns
|
|
5
|
+
# GET /stix/campaigns.json
|
|
6
|
+
def index
|
|
7
|
+
@campaigns = ActiveStix::Campaign.all
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# GET /stix/campaigns/1
|
|
11
|
+
# GET /stix/campaigns/1.json
|
|
12
|
+
def show
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# GET /stix/campaigns/new
|
|
16
|
+
def new
|
|
17
|
+
@campaign = ActiveStix::Campaign.new
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# GET /stix/campaigns/1/edit
|
|
21
|
+
def edit
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# POST /stix/campaigns
|
|
25
|
+
# POST /stix/campaigns.json
|
|
26
|
+
def create
|
|
27
|
+
@campaign = ActiveStix::Campaign.new(stix_campaign_params)
|
|
28
|
+
|
|
29
|
+
respond_to do |format|
|
|
30
|
+
if @campaign.save
|
|
31
|
+
format.html { redirect_to @campaign, notice: 'Campaign was successfully created.' }
|
|
32
|
+
format.json { render :show, status: :created, location: @campaign }
|
|
33
|
+
else
|
|
34
|
+
format.html { render :new }
|
|
35
|
+
format.json { render json: @campaign.errors, status: :unprocessable_entity }
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# PATCH/PUT /stix/campaigns/1
|
|
41
|
+
# PATCH/PUT /stix/campaigns/1.json
|
|
42
|
+
def update
|
|
43
|
+
respond_to do |format|
|
|
44
|
+
if @campaign.update(stix_campaign_params)
|
|
45
|
+
format.html { redirect_to @campaign, notice: 'Campaign was successfully updated.' }
|
|
46
|
+
format.json { render :show, status: :ok, location: @campaign }
|
|
47
|
+
else
|
|
48
|
+
format.html { render :edit }
|
|
49
|
+
format.json { render json: @campaign.errors, status: :unprocessable_entity }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# DELETE /stix/campaigns/1
|
|
55
|
+
# DELETE /stix/campaigns/1.json
|
|
56
|
+
def destroy
|
|
57
|
+
@campaign.destroy
|
|
58
|
+
respond_to do |format|
|
|
59
|
+
format.html { redirect_to stix_campaigns_url, notice: 'Campaign was successfully destroyed.' }
|
|
60
|
+
format.json { head :no_content }
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
private
|
|
65
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
66
|
+
def set_stix_campaign
|
|
67
|
+
@campaign = ActiveStix::Campaign.find(params[:id])
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Never trust parameters from the scary internet, only allow the white list through.
|
|
71
|
+
def stix_campaign_params
|
|
72
|
+
params.require(:campaign).permit(:name, :description, :first_seen, :last_seen, :objective)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_dependency "active_stix/application_controller"
|
|
2
|
+
|
|
3
|
+
module ActiveStix
|
|
4
|
+
class CourseOfActionsController < ApplicationController
|
|
5
|
+
before_action :set_course_of_action, only: [:show, :edit, :update, :destroy]
|
|
6
|
+
|
|
7
|
+
# GET /course_of_actions
|
|
8
|
+
def index
|
|
9
|
+
@course_of_actions = CourseOfAction.all
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /course_of_actions/1
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# GET /course_of_actions/new
|
|
17
|
+
def new
|
|
18
|
+
@course_of_action = CourseOfAction.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /course_of_actions/1/edit
|
|
22
|
+
def edit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# POST /course_of_actions
|
|
26
|
+
def create
|
|
27
|
+
@course_of_action = CourseOfAction.new(course_of_action_params)
|
|
28
|
+
|
|
29
|
+
if @course_of_action.save
|
|
30
|
+
redirect_to @course_of_action, notice: 'Course of action was successfully created.'
|
|
31
|
+
else
|
|
32
|
+
render :new
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# PATCH/PUT /course_of_actions/1
|
|
37
|
+
def update
|
|
38
|
+
if @course_of_action.update(course_of_action_params)
|
|
39
|
+
redirect_to @course_of_action, notice: 'Course of action was successfully updated.'
|
|
40
|
+
else
|
|
41
|
+
render :edit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# DELETE /course_of_actions/1
|
|
46
|
+
def destroy
|
|
47
|
+
@course_of_action.destroy
|
|
48
|
+
redirect_to course_of_actions_url, notice: 'Course of action was successfully destroyed.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
53
|
+
def set_course_of_action
|
|
54
|
+
@course_of_action = CourseOfAction.find(params[:id])
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
|
58
|
+
def course_of_action_params
|
|
59
|
+
params.require(:course_of_action).permit(:active_stix_id, :name, :description, :x_mitre_version)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_dependency "active_stix/application_controller"
|
|
2
|
+
|
|
3
|
+
module ActiveStix
|
|
4
|
+
class CyberObservablesController < ApplicationController
|
|
5
|
+
before_action :set_cyber_observable, only: [:show, :edit, :update, :destroy]
|
|
6
|
+
|
|
7
|
+
# GET /cyber_observables
|
|
8
|
+
def index
|
|
9
|
+
@cyber_observables = CyberObservable.all
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /cyber_observables/1
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# GET /cyber_observables/new
|
|
17
|
+
def new
|
|
18
|
+
@cyber_observable = CyberObservable.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /cyber_observables/1/edit
|
|
22
|
+
def edit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# POST /cyber_observables
|
|
26
|
+
def create
|
|
27
|
+
@cyber_observable = CyberObservable.new(cyber_observable_params)
|
|
28
|
+
|
|
29
|
+
if @cyber_observable.save
|
|
30
|
+
redirect_to @cyber_observable, notice: 'Cyber observable was successfully created.'
|
|
31
|
+
else
|
|
32
|
+
render :new
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# PATCH/PUT /cyber_observables/1
|
|
37
|
+
def update
|
|
38
|
+
if @cyber_observable.update(cyber_observable_params)
|
|
39
|
+
redirect_to @cyber_observable, notice: 'Cyber observable was successfully updated.'
|
|
40
|
+
else
|
|
41
|
+
render :edit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# DELETE /cyber_observables/1
|
|
46
|
+
def destroy
|
|
47
|
+
@cyber_observable.destroy
|
|
48
|
+
redirect_to cyber_observables_url, notice: 'Cyber observable was successfully destroyed.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
53
|
+
def set_cyber_observable
|
|
54
|
+
@cyber_observable = CyberObservable.find(params[:id])
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
|
58
|
+
def cyber_observable_params
|
|
59
|
+
params.require(:cyber_observable).permit(:observed_datum_ref, :observable_object_id, :cyber_observable_object_type)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
class ActiveStix::EmailAddressesController < ApplicationController
|
|
2
|
+
before_action :set_stix_email_address, only: [:show, :edit, :update, :destroy]
|
|
3
|
+
|
|
4
|
+
# GET /stix/email_addresses
|
|
5
|
+
# GET /stix/email_addresses.json
|
|
6
|
+
def index
|
|
7
|
+
@email_addresses = ActiveStix::EmailAddress.all
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# GET /stix/email_addresses/1
|
|
11
|
+
# GET /stix/email_addresses/1.json
|
|
12
|
+
def show
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# GET /stix/email_addresses/new
|
|
16
|
+
def new
|
|
17
|
+
@email_address = ActiveStix::EmailAddress.new
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# GET /stix/email_addresses/1/edit
|
|
21
|
+
def edit
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# POST /stix/email_addresses
|
|
25
|
+
# POST /stix/email_addresses.json
|
|
26
|
+
def create
|
|
27
|
+
@email_address = ActiveStix::EmailAddress.new(stix_email_address_params)
|
|
28
|
+
|
|
29
|
+
respond_to do |format|
|
|
30
|
+
if @email_address.save
|
|
31
|
+
format.html { redirect_to @email_address, notice: 'Email address was successfully created.' }
|
|
32
|
+
format.json { render :show, status: :created, location: @email_address }
|
|
33
|
+
else
|
|
34
|
+
format.html { render :new }
|
|
35
|
+
format.json { render json: @email_address.errors, status: :unprocessable_entity }
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# PATCH/PUT /stix/email_addresses/1
|
|
41
|
+
# PATCH/PUT /stix/email_addresses/1.json
|
|
42
|
+
def update
|
|
43
|
+
respond_to do |format|
|
|
44
|
+
if @email_address.update(stix_email_address_params)
|
|
45
|
+
format.html { redirect_to @email_address, notice: 'Email address was successfully updated.' }
|
|
46
|
+
format.json { render :show, status: :ok, location: @email_address }
|
|
47
|
+
else
|
|
48
|
+
format.html { render :edit }
|
|
49
|
+
format.json { render json: @email_address.errors, status: :unprocessable_entity }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# DELETE /stix/email_addresses/1
|
|
55
|
+
# DELETE /stix/email_addresses/1.json
|
|
56
|
+
def destroy
|
|
57
|
+
@email_address.destroy
|
|
58
|
+
respond_to do |format|
|
|
59
|
+
format.html { redirect_to stix_email_addresses_url, notice: 'Email address was successfully destroyed.' }
|
|
60
|
+
format.json { head :no_content }
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
private
|
|
65
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
66
|
+
def set_stix_email_address
|
|
67
|
+
@email_address = ActiveStix::EmailAddress.find(params[:id])
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Never trust parameters from the scary internet, only allow the white list through.
|
|
71
|
+
def stix_email_address_params
|
|
72
|
+
params.require(:email_address).permit(:value, :display_name, :belongs_to_ref)
|
|
73
|
+
end
|
|
74
|
+
end
|