Emmanuelle Vargas-Gonzalez
49985cc51d
fix ordering problem with Class definitions
2020-11-18 19:01:12 -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
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
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
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
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
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
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
Chris Lenk
1f9a844941
Merge pull request #439 from maybe-sybr/fix/customs-class-name
...
fix: Respect name of `@Custom*` decorated defs
2020-08-04 07:32:03 -04:00
Rich Piazza
8f76a84bbf
handle quoted path components
2020-07-30 15:32:06 -04:00
maybe-sybr
15344527aa
fix: Respect name of `@Custom*` decorated defs
2020-07-28 11:13:59 +10:00
Emmanuelle Vargas-Gonzalez
8cdbfed5e4
Merge pull request #431 from oasis-open/filesys-write-custom
...
Fix bug when adding custom object to FileSystemSink if the object type hasn't been registered
2020-07-27 09:43:38 -04:00
Rich Piazza
b7a30befdc
add tests and fix introduced bug
2020-07-25 14:47:40 -04:00
Rich Piazza
084941dd41
handle mixed boolean expressions
2020-07-24 11:40:21 -04:00
Emmanuelle Vargas-Gonzalez
8093898a3d
move serialization-related methods to serialization.py
...
update tests that call specific methods from this area
2020-07-22 15:36:48 -04:00
Chris Lenk
55ea84ece2
Fix bug when adding custom obj to FileSystemSink
...
... if the object type hasn't been registered.
Related: #439 .
2020-07-20 00:04:32 -04:00
Michael Chisholm
d888eb60e2
Remove protocol_family and its uses from the v21 network
...
socket SCO extension. It's a 2.0 property that got copied into
the 2.1 code by mistake.
2020-07-08 14:26:02 -04:00
Emmanuelle Vargas-Gonzalez
bf66744db3
remove round from `fuzz.token_sort_ratio(str1, str2)` call
2020-07-08 11:02:56 -04:00
Chris Lenk
53dbc5835e
Add test for coverage
...
Tests creating a property with both required and default.
2020-07-01 09:54:50 -04:00
Chris Lenk
3397805367
Consolidate version-independent property tests
2020-07-01 09:41:10 -04:00
Chris Lenk
e25734d2b6
Fix trailing commas
2020-06-26 16:43:19 -04:00
Chris Lenk
3ef63d5e17
Update Workbench for 2.1
2020-06-26 16:43:19 -04:00
Chris Lenk
d62f5ee141
Remove 'encoding' param from json.loads
...
It's ignored since Python 3.1 and we've dropped 2.7.
2020-06-26 16:43:19 -04:00
Chris Lenk
f78b396648
Fix parsing tests
2020-06-26 16:43:19 -04:00
Chris Lenk
b42b1cafa7
Move a couple tests for organization
2020-06-26 16:43:19 -04:00
Chris Lenk
b2ee33208f
Set STIX 2.1 as default, fix indicator.valid_from
2020-06-26 16:43:19 -04:00
Michael Chisholm
bf5176f370
Add some new unit tests corresponding to ListProperty revamp.
2020-06-17 16:31:03 -04:00
Chris Lenk
9d05c9d3e2
Merge pull request #401 from chisholm/fix_versionable_detection
...
Fix versionability detection
2020-06-10 10:22:59 -04:00
Michael Chisholm
00b78e7a47
Stylistic pre-commit junk
2020-06-08 17:51:13 -04:00
Michael Chisholm
99bf4215a3
Change all uses of ObjectReferenceProperty in 2.1 SCO classes
...
to ReferenceProperty. Add a unit test to ensure that when a
stix2 object is passed as a value of a ReferenceProperty, that
the ID is properly pulled out and used as the actual property
value, and that it doesn't affect the deterministic ID
calculation.
2020-06-08 17:24:33 -04:00
Chris Lenk
8bde22fa1f
Merge pull request #407 from emmanvg/flexibility-selector-syntax
...
Update SELECTOR_REGEX for GranularMarkings
2020-06-08 13:54:39 -04:00
Emmanuelle Vargas-Gonzalez
aa18575c83
add `id` as special-case option in regex. closes #406
2020-06-08 09:27:12 -04:00
Michael Chisholm
9c5f950d5b
Add a new_version() restriction preventing SCO ID contributing
...
properties from being changed, if a UUIDv5 is in use. Changing
one of those properties would imply an ID change, which is not
allowed across versions. Also:
- add a trailing comma
- change unchangable_properties to a set instead of a list,
in case there are dupe props between STIX_UNMOD_PROPERTIES and
sco_locked_props
2020-06-05 14:24:16 -04:00
Michael Chisholm
78d3b2c4c5
Add stix2.utils import to v20/test_versioning.py since the module
...
was used but not imported there. Also import sorting from the
pre-commit hook.
2020-06-05 14:24:16 -04:00
Michael Chisholm
5522050899
Improve versionability detection when creating new versions
...
of objects. Move versioning-related stuff out of stix2.utils
to its own module. Some misc versioning-related fixes.
2020-06-05 14:24:16 -04:00
Michael Chisholm
5a5484d464
Move/merge some deterministic ID tests from the observed-data SDO
...
test suite to the test suite specific to testing deterministic
IDs. This keeps the tests for that specific system in one place.
2020-06-05 14:14:44 -04:00
Michael Chisholm
f17f782134
Bugfixes to the json un-escaping function. Added some unit tests
...
for that.
2020-06-05 14:14:44 -04:00
Michael Chisholm
2179028c91
Fix deterministic ID behavior when an empty "hashes" property is
...
given. Now, an exception is raised. Added a unit test for this.
2020-06-05 14:14:44 -04:00
Michael Chisholm
c94feae623
Add a deterministic ID unit test with an embedded object
2020-06-05 14:14:43 -04:00
Michael Chisholm
fa981affa9
stupid python 3.8 pre-commit still not adding the right trailing
...
commas....
2020-06-05 14:14:43 -04:00
Michael Chisholm
9dcffd9fad
Add some unit tests for deterministic IDs.
2020-06-05 14:14:43 -04:00
Rich Piazza
04af273d71
flaky
2020-06-05 09:17:42 -04:00
Rich Piazza
977107e713
2.0 Start/Stop Quailifer uses StringConstants
2020-06-01 22:34:40 -04:00
Rich Piazza
cfe0648c98
fixed start/stop qualifier constant issue
2020-05-26 15:12:02 -04:00
Michael Chisholm
7955a41997
Drop python-dateutil as a dependency and switch to the builtin
...
datetime module for parsing timestamps. Dateutil proved too
slow.
2020-05-20 15:06:53 -04:00
Emmanuelle Vargas-Gonzalez
b4dbc419f6
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into 391-ssdeep-hash-case
2020-05-14 12:51:02 -04:00
Emmanuelle Vargas-Gonzalez
68f7ca6377
resolve problem with SSDEEP vocab use for 2.1, closes #391
2020-05-13 18:17:17 -04:00
Desai, Kartikey H
998b4c0725
Change streamlined_obj_vals list to streamlined_object dict
2020-05-13 12:45:16 -05:00
Desai, Kartikey H
de3fa99a12
Add property names to canonicalization for deterministic id gen
2020-05-13 11:20:16 -05:00
Chris Lenk
df92770d25
Merge pull request #384 from oasis-open/365-versioned-classes
...
Validate custom type/property name formats
2020-04-03 17:30:24 -04:00
Emmanuelle Vargas-Gonzalez
2b0d63c4b1
update test_datastore_taxii.py conftest.py for latest changes in medallion. add extra data used by filter
2020-04-03 17:19:36 -04:00
Chris Lenk
c7fb79d195
Fix some TAXII DataStore tests
2020-04-03 15:58:56 -04:00
Chris Lenk
9145bdf5e8
Merge pull request #374 from chisholm/version_precision
...
Support STIX 2.1 version precision
2020-04-03 15:52:42 -04:00
Chris Lenk
0d770972cf
Merge pull request #382 from oasis-open/more-pattern-tests
...
More pattern tests
2020-04-03 11:24:43 -04:00
Chris Lenk
e730d45d44
Use DEFAULT_VERSION in create_pattern_object()
2020-04-03 10:45:36 -04:00
Chris Lenk
14540c0ea1
Clean up _register_* functions
...
Made them consistent with _register_observable_extension, by:
- moving validation logic there from _custom_*_builder functions
- using a new function for ensuring properties are dict-like
- using the library default spec version instead of None
Fix #371 , fix #372 , fix #373 .
2020-04-02 14:15:45 -04:00
Chris Lenk
d33adbcc71
Rename test files to align with module renaming
2020-04-02 08:22:49 -04:00
Chris Lenk
13cddf9d6d
Move TypeProperty format checks to __init__
...
TypeProperty uses a fixed value, so check() was never called. This way
also runs the check at object registration time because the wrapper
creates an instance of TypeProperty and doesn't have to wait for the
object to be instantiated so clean() can be called.
Also fix some tests.
2020-04-02 08:17:34 -04:00
Chris Lenk
03cb225932
Merge branch 'master' into 365-versioned-classes
2020-04-02 06:02:20 -04:00
Chris Lenk
897e884217
Fix some testing
2020-04-02 04:46:11 -04:00
Chris Lenk
c494a2e477
Use TypeProperty.clean() to verify type format
2020-04-01 21:52:04 -04:00
Desai, Kartikey H
c911cff97f
Add duplicate checking to markings and observable extensions, and fix some tests and add some tests. Fixes #363
2020-03-27 14:58:18 -04:00
Rich Piazza
1a2b1367cf
flaky 2
2020-03-27 14:06:24 -04:00
Rich Piazza
9933f88975
few more pattern op tests
2020-03-27 13:59:03 -04:00
Rich Piazza
e3ebb6393d
flaky
2020-03-27 12:33:24 -04:00
Rich Piazza
202111acdf
more pattern tests
2020-03-27 11:22:00 -04:00
Chris Lenk
50df6f1474
Rename core.py -> parsing.py
2020-03-27 05:53:39 -04:00
Desai, Kartikey H
1a1ad90388
Fixes #363
2020-03-20 17:37:15 -04:00
Desai, Kartikey H
b06bc1afc1
Fix import issues
2020-03-20 17:32:18 -04:00
Desai, Kartikey H
f37b84a564
Pull in updates from master
2020-03-20 16:52:21 -04:00
Desai, Kartikey H
1260c7b45e
Fix existing tests and add new tests. Fixes #363
2020-03-20 16:49:20 -04:00
Rich Piazza
9e5e998c3d
don't allow leading '_' on custom properties, whenever allow_custom is true
2020-03-20 12:49:20 -04:00
Rich Piazza
2c4e47de56
remove leading - from type name re
2020-03-20 11:56:09 -04:00
Rich Piazza
6e4151aeeb
flaky
2020-03-19 16:49:46 -04:00
Rich Piazza
f60e4170fd
finish 365
2020-03-19 16:11:52 -04:00
Rich Piazza
844ec2c3bf
more on issue 365
2020-03-19 14:16:48 -04:00
Rich Piazza
9699c78ad8
issue-365
2020-03-19 10:40:35 -04:00
Michael Chisholm
1741cc9f6b
Fix import sort order for the import sorter precommit hook
2020-03-17 20:26:21 -04:00
Michael Chisholm
6f43814918
Add xfail mark to a unit test which trips a Python 3.6 bug.
...
https://bugs.python.org/issue32404
2020-03-17 20:21:09 -04:00
Michael Chisholm
f99665f2ba
One more comma, because python 3.8's add-trailing-comma
...
pre-commit hook doesn't add all the commas Travis's hook
script expects...
2020-03-17 19:45:39 -04:00
Michael Chisholm
cf9aef59c2
More flake8 style fixes
2020-03-17 18:28:38 -04:00
Michael Chisholm
a9ac7ce838
pre-commit hook changes, e.g. trailing commas, import sorting,
...
flake8 style.
2020-03-17 18:26:57 -04:00
Michael Chisholm
4aa69fa7c9
Add support for enforcing STIX 2.1 minimum precision requirement
...
on versioning timestamps.
2020-03-16 20:25:38 -04:00
Chris Lenk
6842abb371
Merge pull request #370 from chisholm/observable_extension_names_ext
...
New STIX 2.1 SCO extension name requirement: must end with "-ext"
2020-03-12 17:26:26 -04:00
Michael Chisholm
15316e7933
Added "x-" to SCO extension names in unit tests, to illustrate
...
best practice and follow a spec "should" rule.
2020-03-12 16:20:32 -04:00
Chris Lenk
5abc139e79
Merge branch 'khdesai-fix_issue_338'; Close #347
2020-03-12 09:30:52 -04:00
Desai, Kartikey H
8885a757cb
Fix properties spec version back to 2.1, and re-adjust tests. Fixes #338
2020-03-12 09:24:43 -04:00
Desai, Kartikey H
36f7035785
Fixes #338
2020-03-12 09:24:43 -04:00
Chris Lenk
e782d095ea
Merge pull request #369 from chisholm/malware_os_refs
...
Change software SCO: os_execution_envs -> operating_system_refs
2020-03-11 23:47:14 -04:00