stix2arango 1.1.0__tar.gz → 1.1.2__tar.gz

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.

Potentially problematic release.


This version of stix2arango might be problematic. Click here for more details.

Files changed (106) hide show
  1. {stix2arango-1.1.0 → stix2arango-1.1.2}/.github/workflows/run-tests.yml +16 -12
  2. {stix2arango-1.1.0 → stix2arango-1.1.2}/PKG-INFO +1 -1
  3. {stix2arango-1.1.0 → stix2arango-1.1.2}/docs/README.md +6 -0
  4. {stix2arango-1.1.0 → stix2arango-1.1.2}/pyproject.toml +1 -1
  5. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/stix2arango/stix2arango.py +0 -1
  6. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/utils.py +5 -10
  7. {stix2arango-1.1.0 → stix2arango-1.1.2}/.env.example +0 -0
  8. {stix2arango-1.1.0 → stix2arango-1.1.2}/.env.markdown +0 -0
  9. {stix2arango-1.1.0 → stix2arango-1.1.2}/.github/workflows/create-release.yml +0 -0
  10. {stix2arango-1.1.0 → stix2arango-1.1.2}/.gitignore +0 -0
  11. {stix2arango-1.1.0 → stix2arango-1.1.2}/LICENSE +0 -0
  12. {stix2arango-1.1.0 → stix2arango-1.1.2}/README.md +0 -0
  13. {stix2arango-1.1.0 → stix2arango-1.1.2}/docs/stix2arango.png +0 -0
  14. {stix2arango-1.1.0 → stix2arango-1.1.2}/requirements.txt +0 -0
  15. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/__init__.py +0 -0
  16. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/__main__.py +0 -0
  17. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/config.py +0 -0
  18. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/services/__init__.py +0 -0
  19. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/services/arangodb_service.py +0 -0
  20. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/services/version_annotator.py +0 -0
  21. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/stix2arango/__init__.py +0 -0
  22. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/stix2arango/bundle_loader.py +0 -0
  23. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango/templates/marking-definition.json +0 -0
  24. {stix2arango-1.1.0 → stix2arango-1.1.2}/stix2arango.py +0 -0
  25. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/README.md +0 -0
  26. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/custom-sco-original.json +0 -0
  27. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/custom-sco-updated.json +0 -0
  28. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/custom-sdo-original.json +0 -0
  29. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/custom-sdo-updated.json +0 -0
  30. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/duplicate-objects-all-properties-same.json +0 -0
  31. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/duplicate-objects-properties-different.json +0 -0
  32. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/embedded-ref-object-removed.json +0 -0
  33. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/embedded-ref-object-updated.json +0 -0
  34. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/embedded-ref-object.json +0 -0
  35. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/embedded-ref-sdo-sco-sro-smo.json +0 -0
  36. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/nested-embedded-ref.json +0 -0
  37. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/non-standard-embedded-relationship.json +0 -0
  38. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sco-original.json +0 -0
  39. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sco-updated.json +0 -0
  40. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sigma-rule-bundle-another.json +0 -0
  41. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sigma-rule-bundle-condensed-original.json +0 -0
  42. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sigma-rule-bundle-condensed-update-1.json +0 -0
  43. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sigma-rule-bundle-condensed-update-2.json +0 -0
  44. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sigma-rule-bundle-yet-another.json +0 -0
  45. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sigma-rule-bundle.json +0 -0
  46. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/smo-embedded-ref-1.json +0 -0
  47. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/smo-embedded-ref-2.json +0 -0
  48. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/smo-original.json +0 -0
  49. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/smo-updated-2.json +0 -0
  50. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/smo-updated.json +0 -0
  51. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/source-object-does-not-exist.json +0 -0
  52. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sro-original.json +0 -0
  53. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/sro-updated.json +0 -0
  54. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/target-object-does-not-exist.json +0 -0
  55. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/update_with_diff_modified_times_1.json +0 -0
  56. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/files/stix2arango/update_with_diff_modified_times_2.json +0 -0
  57. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/requirements.txt +0 -0
  58. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/__init__.py +0 -0
  59. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/base_test.py +0 -0
  60. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_00-basic-import-logic-with-embedded.py +0 -0
  61. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_01-basic-import-no-embedded.py +0 -0
  62. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_02-basic-import-no-stix2arango_note.py +0 -0
  63. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_03-import-with-no-update-detected.py +0 -0
  64. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_04-update-detected-because-of-stix2arango-note.py +0 -0
  65. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_05-update-detected-because-of-modified-time-change.py +0 -0
  66. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_06-update-detected-because-of-modified-time-change-not-in-order.py +0 -0
  67. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_07-test-default-imported-objects.py +0 -0
  68. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_08-duplicate-objects-in-bundle-all-identical.py +0 -0
  69. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_09-duplicate-objects-but-diff-times-in-bundle.py +0 -0
  70. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_10-updating-object-no-modified-time.py +0 -0
  71. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_11-custom-sdos.py +0 -0
  72. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_12-custom-scos.py +0 -0
  73. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_13-updating-smos.py +0 -0
  74. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_14-non-standard-embedded-relationship.py +0 -0
  75. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_15-testing-when-sro-target-not-in-collection.py +0 -0
  76. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_16-testing-when-sro-source-not-in-collection.py +0 -0
  77. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_17-testing-update-of-embedded-refs.py +0 -0
  78. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_18-testing-nested-embedded-ref.py +0 -0
  79. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_19_update_with_diff_created_times.py +0 -0
  80. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_20-embedded-sro-update-for-sdo.py +0 -0
  81. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_21-embedded-sro-update-for-sco.py +0 -0
  82. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_22-embedded-sro-update-for-smo.py +0 -0
  83. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_23-embedded-sro-removed.py +0 -0
  84. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_24-test-hidden-properties.py +0 -0
  85. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_25-ignore-embedded-rels-smo.py +0 -0
  86. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/full_tests/test_26-ignore-embedded-rels-sro.py +0 -0
  87. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/test_bundle_loader.py +0 -0
  88. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/src/test_stix2arango.py +0 -0
  89. {stix2arango-1.1.0 → stix2arango-1.1.2}/tests/tests.env +0 -0
  90. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/README.md +0 -0
  91. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_atlas.py +0 -0
  92. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_attack_enterprise.py +0 -0
  93. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_attack_ics.py +0 -0
  94. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_attack_mobile.py +0 -0
  95. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_capec.py +0 -0
  96. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_cwe.py +0 -0
  97. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_disarm.py +0 -0
  98. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_locations.py +0 -0
  99. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_sigma_rules.py +0 -0
  100. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_tlp.py +0 -0
  101. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cti_processor/insert_archive_yara_rules.py +0 -0
  102. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cve_processor/README.md +0 -0
  103. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cve_processor/insert_archive_cve.py +0 -0
  104. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/arango_cve_processor/manager.py +0 -0
  105. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/stix2arango/add_ref_types.py +0 -0
  106. {stix2arango-1.1.0 → stix2arango-1.1.2}/utilities/stix2arango/update_taxii_index_with_date_transform.py +0 -0
@@ -1,15 +1,19 @@
1
1
  name: Run Tests
2
2
 
3
+ permissions:
4
+ contents: read
5
+
3
6
  on:
4
7
  push:
5
8
  branches:
6
9
  - main
7
10
  pull_request:
8
- permissions:
9
- contents: read
11
+ types:
12
+ - opened
13
+ - synchronize
10
14
 
11
15
  jobs:
12
- run-tests:
16
+ test-pipeline:
13
17
  runs-on: ubuntu-latest
14
18
  environment: test_pipeline
15
19
 
@@ -24,10 +28,10 @@ jobs:
24
28
  with:
25
29
  python-version: "3.11"
26
30
 
27
- - name: start arangodb
31
+ - name: Start ArangoDB
32
+ id: start_arango_db
28
33
  run: |
29
34
  docker run --name s2a-action-arangodb -d -p 8529:8529 -e ARANGO_ROOT_PASSWORD= arangodb/arangodb:latest
30
-
31
35
  RETRY_DELAY=3
32
36
  RETRY_COUNT=10
33
37
  echo "Waiting for server to start"
@@ -37,31 +41,31 @@ jobs:
37
41
  exit 1
38
42
  fi
39
43
 
40
-
41
- - name: Set .env testing purpose
44
+ - name: Setup environment
45
+ id: setup_environment
42
46
  run: |
43
47
  set -a;
44
48
  source tests/tests.env
45
49
  set +a;
46
-
47
50
  cp tests/tests.env .env
48
51
 
49
- - name: test all
50
- id: test-all
52
+ - name: Run tests
53
+ id: run_tests
51
54
  run: |
52
55
  pip install -r tests/requirements.txt
53
56
  pip install -e .
54
-
55
57
  pytest --cov --cov-branch --cov-report=xml --junitxml=junit.xml -o junit_family=legacy tests/
56
58
 
57
59
  - name: Upload coverage reports to Codecov
60
+ id: upload_unit_test_coverage
58
61
  if: ${{ !cancelled() }}
59
62
  uses: codecov/codecov-action@v5
60
63
  with:
61
64
  token: ${{ secrets.CODECOV_TOKEN }}
62
65
 
63
66
  - name: Upload test results to Codecov
67
+ id: upload_unit_test_results
64
68
  if: ${{ !cancelled() }}
65
69
  uses: codecov/test-results-action@v1
66
70
  with:
67
- token: ${{ secrets.CODECOV_TOKEN }}
71
+ token: ${{ secrets.CODECOV_TOKEN }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stix2arango
3
- Version: 1.1.0
3
+ Version: 1.1.2
4
4
  Summary: stix2arango is a command line tool that takes a group of STIX 2.1 objects in a bundle and inserts them into ArangoDB. It can also handle updates to existing objects in ArangoDB imported in a bundle.
5
5
  Project-URL: Homepage, https://github.com/muchdogesec/stix2arango
6
6
  Project-URL: Issues, https://github.com/muchdogesec/stix2arango/issues
@@ -422,6 +422,12 @@ This is done using the STIX2 Python library, and such relationships are generate
422
422
  "target_ref": "<REF TARGET PROPERTY>",
423
423
  "object_marking_refs": [
424
424
  "<object_marking_refs SHOULD MATCH SOURCE_REF OBJECT>"
425
+ ],
426
+ "external_references": [
427
+ {
428
+ "source_name": "stix2arango",
429
+ "description": "embedded-relationship"
430
+ }
425
431
  ]
426
432
  }
427
433
  ```
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "stix2arango"
7
- version = "1.1.0"
7
+ version = "1.1.2"
8
8
  authors = [
9
9
  { name = "dogesec" }
10
10
  ]
@@ -469,7 +469,6 @@ class Stix2Arango:
469
469
 
470
470
  def map_embedded_relationships(self, bundle_objects, inserted_object_ids):
471
471
  objects = []
472
- inserted_data = []
473
472
  for obj in tqdm(bundle_objects, desc="upload_embedded_edges"):
474
473
  if obj["id"] not in inserted_object_ids:
475
474
  continue
@@ -37,7 +37,6 @@ def create_relationship_obj(
37
37
  arango_obj=None,
38
38
  extra_data=None,
39
39
  ):
40
- insert_data = []
41
40
  if not isinstance(targets, list):
42
41
  return []
43
42
  for target in targets:
@@ -75,19 +74,15 @@ def create_relationship_obj(
75
74
  relationship_object["_is_ref"] = True
76
75
  relationship_object["type"] = "relationship"
77
76
  relationship_object["spec_version"] = "2.1"
78
- # relationship_object['_record_md5_hash'] = generate_md5(relationship_object)
77
+ relationship_object["external_references"] = {
78
+ "source_name": "stix2arango",
79
+ "description": "embedded-relationship",
80
+ }
79
81
  if extra_data:
80
82
  relationship_object.update(extra_data)
81
83
 
82
84
  insert_statement.append(relationship_object)
83
- insert_data.append(
84
- [
85
- "relationship",
86
- relationship_object["id"],
87
- True if "modified" in obj else False,
88
- ]
89
- )
90
- return insert_data
85
+ return
91
86
 
92
87
 
93
88
  def generate_md5(obj: dict):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes