Commit Graph

1203 Commits (6a6f13c37b978b7e73b065f47c34001807387404)

Author SHA1 Message Date
Emmanuelle Vargas-Gonzalez 6a6f13c37b rename the Class auto-naming from 'STIXExtension' to 'ExtensionDefinition' 2020-12-23 16:07:30 -05:00
Emmanuelle Vargas-Gonzalez a3fce3686a Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal 2020-12-23 15:08:10 -05:00
Emmanuelle Vargas-Gonzalez ef2ef95c3a `stix-extension` to `extension-definition` 2020-12-22 21:59:18 -05:00
Emmanuelle Vargas-Gonzalez 4127ea9afd modify main codebase based on 7.3 Extension changes 2020-12-22 21:41:46 -05:00
Emmanuelle Vargas-Gonzalez 33a472d8f5 define Incident stub 2020-12-22 17:46:29 -05:00
Chris Lenk 5bddf9321e Bump version: 2.0.2 → 2.1.0 2020-11-20 17:37:58 -05:00
Chris Lenk b55c3bb1df Fix pattern equivalence doc style for consistency 2020-11-20 16:34:11 -05:00
Emmanuelle Vargas-Gonzalez 119364c889
Merge branch 'master' into 472-issue 2020-11-20 10:02:46 -05:00
Chris Lenk a82dc5e813
Merge pull request #475 from oasis-open/equivalence-indicator-patterns
Use pattern equivalence in indicators
2020-11-20 09:56:35 -05:00
Chris Lenk 53f451b097 Use pattern equivalence in indicators 2020-11-20 09:33:56 -05:00
Emmanuelle Vargas-Gonzalez e7242c9ae6 forgot one... 2020-11-19 08:48:57 -05:00
Emmanuelle Vargas-Gonzalez 49985cc51d fix ordering problem with Class definitions 2020-11-18 19:01:12 -05:00
Emmanuelle Vargas-Gonzalez c9bafaf5ae fix typo for Class X509V3ExtensionsType 2020-11-18 18:08:57 -05:00
Michael Chisholm 169ef87bc2 pre-commit stylistic fixes 2020-11-16 15:10:06 -05:00
Michael Chisholm f5bbbe7a3b Fix bug with reference type enforcement on property
where_sighted_refs on Sighting.
2020-11-16 15:04:24 -05:00
Emmanuelle Vargas-Gonzalez aa77f2b174 add test cases
additional file changes based on test cases
2020-11-10 21:09:17 -05:00
Emmanuelle Vargas-Gonzalez e4165f96aa major changes to support the extension mechanism
moved some version specific logic into their area, changes to decorators to support Object Registration with Extension
2020-11-10 18:32:58 -05:00
Emmanuelle Vargas-Gonzalez 22c4351688 flatten the extensions map, remove enclosing_type from ExtensionsProperty
other minor changes
2020-11-10 17:08:51 -05:00
Chris Lenk a751df32c6
Fix Location semantic equivalence check for Location objects without the latitude and longitude properties (#467)
* Fix Location semantic equivalence check for Location objects without the latitude and longitude properties.

Uses contribution from @zrush-mitre (#464).

Fixes #462.

* Remove a line
2020-11-10 12:55:17 -05:00
Emmanuelle Vargas-Gonzalez 4340be13c4 changes to the ExtensionsProperty 2020-11-09 20:58:34 -05:00
Emmanuelle Vargas-Gonzalez 1180da7cc7 update to test cases
removing invalid test cases per new changes. updating some to reflect new changes to the Extensions Property, other minor ones
2020-11-09 20:35:22 -05:00
Emmanuelle Vargas-Gonzalez 5cb52844dc fixing typos on Object types 2020-11-05 12:56:30 -05:00
Emmanuelle Vargas-Gonzalez b17f502e8f expose the "extensions" property on all object types
remove restriction on MarkingDefinition Object
2020-10-19 22:18:45 -04:00
Emmanuelle Vargas-Gonzalez 1bc11ce442 define the STIXExtension Object 2020-10-19 22:08:51 -04:00
Emmanuelle Vargas-Gonzalez 97dfe092f9 re-order properties 2020-10-19 19:23:30 -04:00
Chris Lenk e08a26a39c Correct variable name 2020-10-18 21:09:07 -04:00
Emmanuelle Vargas-Gonzalez 92ab1227ed docstrings, changes to equivalence.ipynb 2020-10-16 17:12:52 -04:00
Emmanuelle Vargas-Gonzalez fb705c4885
Graph Equivalence (#449)
* new packages for graph and object-based semantic equivalence

* new method graphically_equivalent for Environment, move equivalence methods out

* object equivalence function, methods used for object-based moved here.

* new graph_equivalence methods

* add notes

* add support for versioning checks (default disabled)

* new tests to cover graph equivalence and new methods

* added more imports to environment.py to prevent breaking changes

* variable changes, new fields for checks, reset depth check per call

* flexibility when object is not available on graph.

* refactor debug logging message

* new file stix2.equivalence.graph_equivalence.rst and stix2.equivalence.object_equivalence.rst for docs

* API documentation for new modules

* additional text required to build docs

* add more test methods for list_semantic_check an graphically_equivalent/versioning

* add logging debug messages, code clean-up

* include individual scoring on results dict, fix issue on list_semantic_check not keeping highest score

* include results as summary in prop_scores, minor tweaks

* Update __init__.py

doctrings update

* apply feedback from pull request

- rename semantic_check to reference_check
- rename modules to graph and object respectively to eliminate redundancy
- remove created_by_ref and object_marking_refs from graph WEIGHTS and rebalance

* update docs/ entries

* add more checks, make max score based on actual objects checked instead of the full list, only create entry when type is present in WEIGHTS dictionary

update tests to reflect changes

* rename package patterns -> pattern

* documentation, moving weights around

* more documentation moving

* rename WEIGHTS variable for graph_equivalence
2020-10-16 11:35:26 -04:00
Chris Lenk d17d01d165
Merge pull request #444 from chisholm/comp_ds_unversioned_objs
Update CompositeDataSource and deduplicate() support for unversioned objects
2020-10-15 08:57:55 -04:00
Emmanuelle Vargas-Gonzalez 7b35b82996 TAXIICollectionSource custom object handling fix 2020-09-29 11:21:02 -04:00
Chris Lenk 3267036f33
Merge pull request #452 from oasis-open/api-reference-for-pattern-eq
Expose API Reference for Pattern Equivalence - ReadTheDocs
2020-09-18 13:52:02 -04:00
Chris Lenk ddb25c544a
Merge pull request #456 from chisholm/fix_comparison_expression_root_type
Fix object type tracking for AST comparison expression 'AND'
2020-09-18 09:59:53 -04:00
Michael Chisholm 7d64764ae3 Fix object type tracking for comparison expressions in the pattern
AST module.
2020-09-14 15:42:36 -04:00
Michael Chisholm bad42e5b78 pre-commit stylistic junk 2020-09-12 19:33:56 -04:00
Michael Chisholm ff35e8a01b Add some unit tests for the AST make_constant() function. 2020-09-12 19:14:29 -04:00
Michael Chisholm f2691e89f5 Fix make_constant() in the AST module, to always return a
constant.  It was failing to do so for timestamps, instead
returning a STIXdatetime object.
2020-09-12 19:14:29 -04:00
Emmanuelle Vargas-Gonzalez 639769d885 expose API Reference for Pattern Equivalence for ReadTheDocs 2020-09-11 13:54:13 -04:00
Michael Chisholm b5015b74ba pre-commit stylistic fixes 2020-08-19 12:10:51 -04:00
Michael Chisholm 3c25410a9d pre-commit stylistic fix 2020-08-19 11:51:47 -04:00
Michael Chisholm 7fa3c78dea Update CompositeDataSource and deduplicate() to handle unversioned
objects, including 2.1 SCOs.  Updated some unit tests to test
this.  Fixed a typo in a 2.0 unit test (2.0 deduplicate() test).
2020-08-17 18:38:29 -04:00
Michael Chisholm b6c2206491 Add some unit test suites for pattern equivalence which use some
STIX version-specific pattern features.
2020-08-14 19:56:49 -04:00
Michael Chisholm 9e707a3a81 Add stix_version kwargs to the pattern equivalence functions.
This allows the patterns to be parsed using either 2.0 or 2.1+
syntax.
2020-08-14 19:55:00 -04:00
Michael Chisholm 320129e26c Add another unit test to help a bit with lack of coverage of
compare/comparison.py.  This one tests patterns with more
constant types.
2020-08-13 18:45:52 -04:00
Michael Chisholm c21b230edb pre-commit hook stylistic changes 2020-08-13 17:44:42 -04:00
Michael Chisholm 16a8c544ac Add a find_equivalent_patterns() function and unit tests, in case
a user wants a more efficient search capability.  (It is more
efficient than calling equivalent_patterns() over and over in a
loop, because it doesn't repeatedly re-canonicalize the search
pattern.)
2020-08-13 17:09:04 -04:00
Michael Chisholm bd5635f5be Add some unit tests for pattern equivalence. 2020-08-13 16:46:25 -04:00
Michael Chisholm 6c92f670cb Fix ipv4/6 special canonicalizers to reformat IP addresses even
when a non-CIDR address is used.  Before, it left plain IP
addresses untouched.
2020-08-13 16:22:24 -04:00
Michael Chisholm 5d6c7d8c8a Add some simple context-sensitive constant canonicalization, used
as part of canonicalizing comparison expressions.  This
required adding a new comparison expression transformer callback
for leaf-node comparison expression objects, and updating all
existing comparison transformers to work (it affected all/most
of them).  The observation expression transformer which actually
does the comparison canonicalization was updated to also perform
this special canonicalization step.
2020-08-12 19:28:35 -04:00
Michael Chisholm 311fe38cea Add first cut of a pattern equivalence capability 2020-08-10 18:33:26 -04:00
Chris Lenk 1948b38eec
Merge pull request #438 from oasis-open/issue_437
hack for issue_435

Fixes #435.
2020-08-07 09:55:41 -04:00