Commit Graph

1386 Commits (aab27b6559c449c85cfc3e422dcfcf7e8a7edf6c)

Author SHA1 Message Date
Emmanuelle Vargas-Gonzalez 5d83d44d0e adding documentation on specific lines, typos, and a bit of extra code 2021-04-15 12:28:58 -04:00
Chris Lenk a002c1736d Update guide docs, remove outdated comments 2021-04-14 16:39:56 -04:00
Michael Chisholm 4dc8e49d3c pre-commit stylistic fix 2021-04-14 12:58:09 -04:00
Michael Chisholm f301bc144f Disable custom vocab enforcement. Custom values for open-vocab
properties are now always accepted and not considered
customizations (has_custom will be False).  Just commented out
the enforcement code and xfail'd the unit tests, which makes it
easy to reinstate these behaviors later.  It was decided this
is too likely to break user code, and we don't currently have
a way to disallow customizations in other places while still
allowing custom open vocab values.  Safest to always allow
custom open vocab values, for now.
2021-04-14 12:48:32 -04:00
Michael Chisholm 33128908c7 Another pre-commit stylistic fix. Necessary since apparently
the git action uses a more recent version of pre-commit than
travis did, and the newer pre-commit requires different things
than the old one did.
2021-03-31 21:31:59 -04:00
Michael Chisholm 82148aa1ac Pre-commit stylistic fix 2021-03-31 21:27:06 -04:00
Michael Chisholm e735b537c7 Remove a workaround which was used in the 2.0 and 2.1 Report
objects, to structure object_refs type requirements as an empty
blacklist, instead of a whitelist.  I think it was originally
necessary due to the older implementation of ReferenceProperty
which was in place at the time.  With the implementation change
to invert whitelists with generics to blacklists when
allow_custom=True, a "full" whitelist is internally converted to
an empty blacklist anyway, so it winds up being the same thing.
But I think the full whitelist looks better in the code, so I
prefer that to the empty blacklist.
2021-03-31 20:56:31 -04:00
Michael Chisholm 0ddf0d2ca8 Clean up ReferenceProperty.clean(), to use new APIs which are
available after the rebase.  This simplifies the implementation.
Also made utils.to_enum() a module public function, since I
needed to use it outside that module.  Misc pre-commit stylistic
fixes.
2021-03-31 20:01:27 -04:00
Emmanuelle Vargas-Gonzalez 40023ec987 forgot to add this in the rebase... 2021-03-31 18:55:55 -04:00
Emmanuelle Vargas-Gonzalez bc053da3c4 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal 2021-03-31 18:53:02 -04:00
Emmanuelle Vargas-Gonzalez af046beeb5 add new-sdo or new-sro option in CustomObject decorator, add a test, and example in guide 2021-03-31 18:46:37 -04:00
Emmanuelle Vargas-Gonzalez 08d5781f54 add entry on extensions.ipynb, typos, and a couple of fixes for registry module and Marking decorator 2021-03-31 18:11:38 -04:00
Michael Chisholm c8b9eab53d Fixed some more silliness in properties.py... was it a rebase
glitch?  Something else I overlooked?  Not sure.
2021-03-31 16:49:14 -04:00
Michael Chisholm 6f60bed235 Make a minor post-rebase fix 2021-03-31 16:21:35 -04:00
Michael Chisholm c8c4e89415 Add back usage of spec_version where HashesProperty is used for
various STIX objects.  Also pre-commit stylistic fixes...
2021-03-31 16:20:33 -04:00
Michael Chisholm a8a65599bf Add back spec_version kwarg to HashesProperty, since it was used
to check key lengths.  Added some unit tests for hash keys.
Also added a library hash support test module I'd forgotten to
add before.
2021-03-31 16:20:33 -04:00
Michael Chisholm c590de8ea5 Add proper customization enforcement for open vocabs. This adds
a new OpenVocabProperty class.  It also requires a redesign of
HashesProperty and redoes general library support for hash
algorithms.
2021-03-31 16:20:28 -04:00
Michael Chisholm 62ee2b2b0a Pre-commit changes. Also remove a dupe test function which
slipped through due to a rather complex rebase... not too
surprising I missed it.
2021-03-31 15:32:54 -04:00
Michael Chisholm 414694d8fa Add support in ReferenceProperty for hybrid object type
constraints (i.e. both generic type categories and specific
types).  Also:
- more expansion/refinement of reference property unit tests
- bugfix: SROs are in OBJ_MAP too, it's not just SDOs!  Oops...
- pre-commit stylistic fixes
2021-03-31 15:32:51 -04:00
Michael Chisholm 986404b7b7 In the test_properties.py test suites, I thought code like
assert prop.clean(...)

doesn't test well enough since clean() methods on this branch
produce 2-tuples, and you should test what's in the tuple, not
just that it returned something non-empty.  So I fixed it in
several places to test the tuple contents.
2021-03-31 15:26:11 -04:00
Michael Chisholm 03c265c3a3 Add a check in ReferenceProperty constructor for an impossible
to satisfy type constraint: empty whitelist.  It would be silly
for anyone to do that, but I should check just in case I guess.
2021-03-31 15:26:11 -04:00
Michael Chisholm c7dd58ed89 Further ReferenceProperty refinements: make allow_custom=True
work when a whitelist of generic category types is used.
Disallow hybrid constraints (both generic and specific at the
same time).  Add more unit tests.
2021-03-31 15:26:09 -04:00
Michael Chisholm 387ce7e7cb Fix Report SDO: I'd fixed ReferenceProperty to work the way I
thought it should, but forgot to fix Report to use
ReferenceProperty in the way I thought it should!  Oops.
Added some tests to ensure Report is working property with
custom ID types in object_refs.
2021-03-31 15:22:00 -04:00
Michael Chisholm d2f960f2fc Initial revamp of customization enforcement and detection. 2021-03-31 15:21:55 -04:00
Emmanuelle Vargas-Gonzalez 203a2746e0 add new file test_extension_definition.py and assigned new UUIDs to the constants 2021-03-31 15:00:54 -04:00
Emmanuelle Vargas-Gonzalez 35ef718b70 add extension-definition ids (fail to validate) but keeping in Git history 2021-03-31 14:58:28 -04:00
Emmanuelle Vargas-Gonzalez dd6b847b10 small tweaks and pre-commit changes 2021-03-31 12:44:15 -04:00
Emmanuelle Vargas-Gonzalez 6d285c47ae update test suite for use of .serialize(pretty=True) 2021-03-31 12:39:14 -04:00
Emmanuelle Vargas-Gonzalez 9cc2e5bd3a remove backwards compatible imports, remove pretty=True from _STIXBase.__str()__, and simplify _STIXBase.__repr()__ (breaking) 2021-03-31 11:02:05 -04:00
Emmanuelle Vargas-Gonzalez bde9aaa13e update some TODOs and clear out some backwards kept imports (breaking) 2021-03-30 22:40:41 -04:00
Chris Lenk 2743b90fc0
Merge pull request #500 from emmanvg/add-fp-serialize
fp write for STIX Objects
2021-03-19 21:13:30 -04:00
Emmanuelle Vargas-Gonzalez 19196654c5
Apply suggestions from code review
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-03-19 15:31:01 -04:00
Emmanuelle Vargas-Gonzalez c2d360d223 apply fp_serialize() changes on main serialize() method 2021-03-18 18:08:31 -04:00
Emmanuelle Vargas-Gonzalez 922de111ed minor tweaks to docstrings 2021-03-18 10:14:36 -04:00
Emmanuelle Vargas-Gonzalez 2ea9c0c63c use it on filesystem.py data sink 2021-03-17 15:15:26 -04:00
Emmanuelle Vargas-Gonzalez 827f622c04 provide ability to stream STIX output to fp ``.write()`` file-like object 2021-03-17 15:01:49 -04:00
Chris Lenk 69cd079cc2
Merge pull request #499 from oasis-open/emmanvg-patch-1
Update incident weights for semantic similarity
2021-03-15 09:35:21 -04:00
Chris Lenk ccf3b1a0fc
Merge pull request #480 from emmanvg/479-pagination-taxii-datastore
Support Pagination in TAXII DataStore
2021-03-15 09:33:42 -04:00
Emmanuelle Vargas-Gonzalez f7ebd34c8c
Update __init__.py
fix incident entry
2021-03-12 16:49:23 -05:00
Emmanuelle Vargas-Gonzalez 7e5d31742c remove `six` from tests 2021-03-12 16:46:34 -05:00
Emmanuelle Vargas-Gonzalez c9e66def60 rename test, update the rest of the docstrings for object_similarity() and object_equivalence() 2021-03-10 13:32:02 -05:00
Emmanuelle Vargas-Gonzalez 7d7c56c64b
Update stix2/environment.py 2021-03-10 09:52:24 -05:00
Emmanuelle Vargas-Gonzalez 262284444e
Update stix2/environment.py
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-03-10 09:52:15 -05:00
Emmanuelle Vargas-Gonzalez fb6852b38f update test suite 2021-03-01 20:47:30 -05:00
Emmanuelle Vargas-Gonzalez bd996b8750
Update __init__.py 2021-03-01 14:40:05 -05:00
Emmanuelle Vargas-Gonzalez 72a12e96ba update guide example, conf.py and remove some unused imports 2021-03-01 13:14:03 -05:00
Emmanuelle Vargas-Gonzalez e4e6f46089 change key name for _refs check 2021-03-01 12:54:01 -05:00
Emmanuelle Vargas-Gonzalez 3efa4c1ce9 revert part changes 2021-03-01 12:44:35 -05:00
Emmanuelle Vargas-Gonzalez d2e867b52e docstring corrections 2021-03-01 12:29:33 -05:00
Emmanuelle Vargas-Gonzalez ff5014c606 expose configuration options, combine weight dictionary, update tests 2021-03-01 12:27:52 -05:00
Emmanuelle Vargas-Gonzalez f9a52eeed3 WIP: changes to both similarity functions, expose settings 2021-02-26 19:19:33 -05:00
Emmanuelle Vargas-Gonzalez b3d0c7b58a styling changes 2021-02-20 00:13:36 -05:00
Emmanuelle Vargas-Gonzalez e4039231f4 missing link and test case 2021-02-20 00:10:38 -05:00
Emmanuelle Vargas-Gonzalez d5e6226c82 update hyperlinks to STIX 2.1 CS 02 2021-02-19 23:27:41 -05:00
Emmanuelle Vargas-Gonzalez 479cff818a few leftover changes... 2021-02-19 22:15:11 -05:00
Emmanuelle Vargas-Gonzalez 9043a9dc8e Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal 2021-02-19 21:54:46 -05:00
Emmanuelle Vargas-Gonzalez 5067a3ff76 couple of changes after merging against master 2021-02-19 10:05:56 -05:00
Chris Lenk 4bccfd26bd
Merge pull request #492 from oasis-open/drop-six
Drop 'six' dependency (backwards breaking)
2021-02-18 23:45:13 -05:00
Chris Lenk 64608e7bea
Merge pull request #491 from emmanvg/graph-eq-changes
Graph Equivalence Changes
2021-02-18 23:44:39 -05:00
Emmanuelle Vargas-Gonzalez a8b6fa2100 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal 2021-02-18 16:04:30 -05:00
Chris Lenk b4a0a9ea10 Remove six dependency (backwards breaking)
We've already removed Python 2 from our test harness, but this removes
all python 2 compatibility code left in.
2021-02-18 12:38:35 -05:00
Chris Lenk 490251dd85 Revert JSON canonicalization code
Undo our Python 2 compatibility fixes
2021-02-18 12:21:52 -05:00
Emmanuelle Vargas-Gonzalez 99453770cf doctring changes, _versioned_checks changes 2021-02-18 10:37:34 -05:00
Emmanuelle Vargas-Gonzalez fa6978969b removing unused imports (backwards breaking) 2021-02-18 10:20:42 -05:00
Emmanuelle Vargas-Gonzalez 010593345c
Update stix2/environment.py
docstrings

Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:16:19 -05:00
Emmanuelle Vargas-Gonzalez 75b411df85
Update stix2/environment.py
docstrings

Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:15:26 -05:00
Emmanuelle Vargas-Gonzalez 75574c9427
Update stix2/equivalence/object/__init__.py
docstrings

Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:15:09 -05:00
Emmanuelle Vargas-Gonzalez 34feac6ae7
Update stix2/environment.py
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:47 -05:00
Emmanuelle Vargas-Gonzalez 154fc4e236
Update stix2/equivalence/object/__init__.py
update variable names

Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:34 -05:00
Emmanuelle Vargas-Gonzalez 52c5f3ad29
Update stix2/equivalence/object/__init__.py
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:10 -05:00
Emmanuelle Vargas-Gonzalez 702c80bd53 add styling changes 2021-02-17 21:47:56 -05:00
Emmanuelle Vargas-Gonzalez ee63e9faf4 resolve issue regarding reference_check or list_reference_check, remove redundant object_similarity call
update test suite
2021-02-17 21:30:14 -05:00
Emmanuelle Vargas-Gonzalez c656d35da5 add more test coverage for new functions 2021-02-16 13:40:42 -05:00
Emmanuelle Vargas-Gonzalez d2d85badb2 make some functions internal, add some docs for them 2021-02-16 11:01:07 -05:00
Emmanuelle Vargas-Gonzalez 09fd8c060b clear debug message 2021-02-16 10:23:02 -05:00
Emmanuelle Vargas-Gonzalez fbea229004 add styling changes 2021-02-16 09:44:03 -05:00
Emmanuelle Vargas-Gonzalez ef610ec8d3 small docstring fix 2021-02-16 09:36:09 -05:00
Emmanuelle Vargas-Gonzalez f966c64b40 update test suite for environments 2021-02-16 01:05:46 -05:00
Emmanuelle Vargas-Gonzalez 690a515f00 add methods to environment.py 2021-02-16 00:58:33 -05:00
Emmanuelle Vargas-Gonzalez 02b076b3bb resolve issues with graph similarity
- new methods for graph equivalence and similarity
- remove sorting and len comparisons
- rename some variables
2021-02-16 00:57:26 -05:00
Michael Chisholm 745696cba1 Remove "canonical" from a couple more places in docstrings which
I missed.
2021-02-14 19:25:59 -05:00
Michael Chisholm ccaa8b62ae pre-commit stylistic fix 2021-02-11 19:35:28 -05:00
Michael Chisholm 631460f45f Rename various symbols and change various comments to refer to
normalization instead of canonicalization.
2021-02-11 19:33:57 -05:00
Chris Lenk e513081100
Merge pull request #458 from chisholm/versioning_refinements
Versioning refinements
2021-02-06 22:59:18 -05:00
Chris Lenk 5971129b7c
Avoid potential KeyError in _is_versionable_type() 2021-02-05 17:42:04 -05:00
Michael Chisholm 5a210192bd pre-commit stylistic fix 2021-02-04 17:33:25 -05:00
Michael Chisholm 9e9a61c71c Fix bug with observation expression DNF transformer, where it was
not preserving operand order when distributing FOLLOWEDBY.
2021-02-04 16:45:39 -05:00
Emmanuelle Vargas-Gonzalez 30fd8c3464 compact calls 2021-02-02 00:08:11 -05:00
Emmanuelle Vargas-Gonzalez a7eb4113de minor change to align API 2021-02-02 00:04:04 -05:00
Emmanuelle Vargas-Gonzalez 489970718f WIP: changes to graph_similarity
busted main loop, symmetrical properties not present
2021-02-01 22:35:37 -05:00
Chris Lenk bfc47e73f5
Merge pull request #485 from oasis-open/emmanvg-patch-1
Update CustomObservale decorator
2021-01-29 09:52:00 -05:00
Michael Chisholm 624d71ed53 pre-commit stylistic fixes 2021-01-28 23:02:23 -05:00
Michael Chisholm 0dd6462d60 Add some unit tests which try to version marking-definitions. 2021-01-28 23:02:23 -05:00
Michael Chisholm a97645abc3 Add some missing docstrings on a few exception classes. 2021-01-28 23:02:23 -05:00
Michael Chisholm c74d06aadc Improve versioning.new_version() to better handle custom objects
and dicts, and add better raised exception types if versioning
couldn't be done.  I changed workbench monkeypatching a bit, to
copy some class attributes over to the workbench wrapper
class-like callables, since some code expected those attributes
to be there (e.g. the versioning code).
2021-01-28 23:02:23 -05:00
Chris Lenk 3878788da4
Update is_sro docstring 2021-01-28 22:54:52 -05:00
Michael Chisholm 98b0b2ed41 pre-commit stylistic fix 2021-01-28 19:32:27 -05:00
Michael Chisholm 83abf78af5 Remove old compatibility code regarding importing the old
stix2.core module.
2021-01-28 19:21:57 -05:00
Michael Chisholm eead72aabc Fix docstring typo in is_marking(). Made a minor docstring
update to is_sro() as well, so it doesn't talk as if you can
register custom SROs.  That didn't actually make sense.
2021-01-27 22:25:41 -05:00
Emmanuelle Vargas-Gonzalez 77d20c787a
Update observables.py
Add missing common properties in decorator closes #484
2021-01-27 11:31:14 -05:00