Chris Lenk
be07c32500
Add parse() to Environment layer
...
The Environment layer does not keep its own mapping of custom object types.
If we think it likely that users will want to maintain separate lists of
custom object types between two or more Environments, we can add this
later.
2017-09-08 12:40:01 -04:00
Chris Lenk
f60331fb77
Improve docstrings for Environment layer
2017-09-08 11:15:10 -04:00
Chris Lenk
4dfb5d2365
Test Environment layer
2017-09-08 09:01:12 -04:00
Richard Piazza
ceb88f176e
added TimestampConstant
2017-09-07 10:35:31 -04:00
Richard Piazza
95cac595da
merge in latest
2017-09-07 10:18:02 -04:00
Chris Lenk
598f38921f
Start Environment layer
2017-09-06 16:20:16 -04:00
Greg Back
adac43708b
Merge pull request #46 from oasis-open/markings
...
Marking Support
2017-09-05 19:08:45 +00:00
Chris Lenk
42962e6675
Improve markings tests
...
- Test markings functions with both dictionaries and our _STIXBase-derived
classes as input.
- Slightly improve test coverage.
- Drop Python 2.6 support.
2017-09-01 16:41:16 -04:00
Chris Lenk
cc66e1a492
Make markings function signatures consistent
...
Put `marking` before `selectors`. The granular marking version of
`is_marked` requires selectors to not be None.
2017-09-01 10:50:01 -04:00
Emmanuelle Vargas-Gonzalez
6f36ea8488
Merge remote-tracking branch 'oasis/master' into datastores
2017-09-01 10:13:57 -04:00
Emmanuelle Vargas-Gonzalez
13f2810b25
Remove name positional argument, clean memory.py redundant codeother minor changes. Increase coverage.
2017-09-01 08:15:50 -04:00
Greg Back
124da846c3
Merge branch 'master' into markings
2017-08-31 20:36:59 +00:00
Greg Back
b1054e780a
Merge remote-tracking branch 'origin/master' into datastores
2017-08-31 19:52:48 +00:00
Greg Back
ba846f9501
Clean up some tests.
2017-08-31 18:23:08 +00:00
Greg Back
7b46283a5c
Build filter function map
2017-08-31 18:21:29 +00:00
Greg Back
71d42b0e51
Merge remote-tracking branch 'origin/datastores' into filter
2017-08-31 17:18:20 +00:00
Chris Lenk
9d45a3dca2
Keep MALWARE_KWARGS to a minimal set
...
...but use an additional set with a description for marking tests.
2017-08-31 12:51:13 -04:00
Chris Lenk
15287959a4
Modify versioning API to work on dictionaries
...
This includes new_version() and revoke().
2017-08-31 12:28:07 -04:00
clenk
8a33cb7716
Touch up ObjectReferenceProperty checks
...
- reword "_refs" error
- check with isinstance instead of __class__.__name__
2017-08-30 16:15:05 -04:00
clenk
0e658255a8
Move check to when custom observable is defined
...
Catch properties named "_ref" or "_refs" that aren't
ObjectReferenceProperty when the custom observable is defined, not when
it is instantiated.
2017-08-30 15:33:28 -04:00
=
22c749d0df
filter changes
2017-08-30 11:18:11 -04:00
Emmanuelle Vargas-Gonzalez
8ca2c3390b
Minor changes to DataSource.apply_common_filters(). Improve overall code coverage.
2017-08-29 15:15:32 -04:00
Emmanuelle Vargas-Gonzalez
b1ac24d46e
Minor changes.
2017-08-29 15:08:26 -04:00
Emmanuelle Vargas-Gonzalez
415c53066f
Code coverage changes, fix some tests. Add stix2-validator dependency.
2017-08-28 15:19:55 -04:00
Emmanuelle Vargas-Gonzalez
aea076103c
Update tests to improve coverage.
2017-08-28 14:33:12 -04:00
Emmanuelle Vargas-Gonzalez
160d69b03d
Changes to datastores.
2017-08-28 14:32:51 -04:00
Emmanuelle Vargas-Gonzalez
07bbe23a98
Add some tests for custom objects.
2017-08-28 14:32:05 -04:00
Emmanuelle Vargas-Gonzalez
23f36a9a69
Minor changes to custom object decorators. Add new marking decorator.
2017-08-28 14:30:53 -04:00
clenk
095c5066d5
Touch up markings tests
...
Increase code coverage and s/tlo/sdo/
2017-08-25 15:56:39 -04:00
clenk
0cd75e3fba
Increase code coverage
2017-08-24 17:53:43 -04:00
clenk
6fa3c84aa3
Improve tests and coverage for custom content
...
In ObservableProperty.clean(), parse_observable() will handle the issue
of non-cyber observable objects being presnt in an observable property.
The line raising a ValueError would not be reached so it was removed.
2017-08-24 15:46:36 -04:00
Emmanuelle Vargas-Gonzalez
3822e39243
Remove COMMON_PROPERTIES.
2017-08-24 15:10:09 -04:00
Emmanuelle Vargas-Gonzalez
1dfaaf15ef
Minor change. closes #29
2017-08-24 12:54:50 -04:00
Emmanuelle Vargas-Gonzalez
dd17e88ae0
Code refactor/clean-up, changed some exceptions. Update docstrings.
2017-08-24 12:47:14 -04:00
clenk
ee49e78c72
Add custom extensions to cyber observables
...
Fix #31 .
2017-08-23 18:36:24 -04:00
Emmanuelle Vargas-Gonzalez
8d4c1d55b5
Minor style changes.
2017-08-23 13:12:40 -04:00
Emmanuelle Vargas-Gonzalez
f33427328b
Update tests for object and granular markings.
2017-08-23 13:07:22 -04:00
Emmanuelle Vargas-Gonzalez
15bff530be
Refactor granular_markings.py code and remove unnecessary code in utils.py
2017-08-23 13:06:51 -04:00
Emmanuelle Vargas-Gonzalez
f437a4df5b
Merge branch 'datastores' of github.com:oasis-open/cti-python-stix2 into datastores
2017-08-22 10:47:23 -04:00
Emmanuelle Vargas-Gonzalez
d060abbed5
Updated regex expressions. Thanks to @drothenberg for that contribution!
2017-08-22 10:47:13 -04:00
Greg Back
69eb09c32b
Merge remote-tracking branch 'origin/master' into datastores
2017-08-21 22:40:07 +00:00
Greg Back
4cd99f04ea
Use version of taxii2-client from PyPI.
2017-08-21 22:16:23 +00:00
clenk
8687521111
Change object markings for immutable SDOs
2017-08-21 13:57:01 -04:00
clenk
d4edb8b0bc
Validate patterns when creating Indicators
2017-08-18 14:22:57 -04:00
clenk
c0d02fbfcd
[WIP] Touch up marking code
2017-08-18 12:36:34 -04:00
Emmanuelle Vargas-Gonzalez
c64b7de761
Change query dict style for Filter namedtuple.
2017-08-18 12:05:12 -04:00
Richard Piazza
fb75de47c5
added TimestampConstant
2017-08-17 14:50:42 -04:00
clenk
14b922ba92
Merge remote-tracking branch 'emmanvg/marking-support' into markings
2017-08-17 12:26:46 -04:00
Emmanuelle Vargas-Gonzalez
681be1a5d9
Make CompositeDataStore subclass DataStore. Remove deduplicate() from CompositeDataSource.
2017-08-16 09:58:33 -04:00
Emmanuelle Vargas-Gonzalez
a18804a195
Add ordereddict dependency for 2.6 support. Import change in utils.py
2017-08-15 14:12:21 -04:00
Emmanuelle Vargas-Gonzalez
15b5e107d5
Fix imports, sort requirements.
2017-08-15 13:54:16 -04:00
Emmanuelle Vargas-Gonzalez
4ffc8edeeb
Update all tests. Re-organize EXPECTED values, update some regex expressions.
2017-08-15 13:41:51 -04:00
Emmanuelle Vargas-Gonzalez
1b48ad9778
Changes to object serialization.
2017-08-15 13:40:47 -04:00
Emmanuelle Vargas-Gonzalez
e3f82effc7
Apply OrderedDict changes to bundle, fix import in sdo.py
2017-08-15 08:24:43 -04:00
Emmanuelle Vargas-Gonzalez
cb5c4ad080
Merge pull request #42 from oasis-open/bundles Parse bundles correctly
2017-08-14 15:21:58 -04:00
Emmanuelle Vargas-Gonzalez
569ca34d78
Remove test skip for data_sources.
2017-08-14 15:02:26 -04:00
Emmanuelle Vargas-Gonzalez
226a41e0ff
Merge pull request #41 from oasis-open/namedtuple-filters Use Namedtuples for Filters.
2017-08-14 15:01:07 -04:00
Emmanuelle Vargas-Gonzalez
00462eb683
Add hashes property to ExternalReference, more documentation for parse_observable
2017-08-14 14:37:49 -04:00
Emmanuelle Vargas-Gonzalez
26297f9730
Fix call to update(), add a register_marking decorator. Add type to Markings.
2017-08-14 11:52:34 -04:00
Emmanuelle Vargas-Gonzalez
68afd6b38e
Minor changes.
2017-08-14 10:36:47 -04:00
Emmanuelle Vargas-Gonzalez
81c9eab730
Apply OrderedDict changes to other.py
2017-08-14 10:34:53 -04:00
Emmanuelle Vargas-Gonzalez
e2c9ecccaf
Apply OrderedDict changes to Observables.
2017-08-14 10:29:17 -04:00
Emmanuelle Vargas-Gonzalez
1329e2e76f
Apply OrderedDict changes to Bundle.
2017-08-14 09:24:41 -04:00
Emmanuelle Vargas-Gonzalez
add14c2490
Update CustomObject docstring, re-organize object properties.
2017-08-14 09:06:20 -04:00
Emmanuelle Vargas-Gonzalez
ccfcffb2f5
Minor change.
2017-08-14 08:31:08 -04:00
Emmanuelle Vargas-Gonzalez
dd2a1db5c1
Change SROs to OrderedDict approach. Removed COMMON_PROPERTIES.
2017-08-14 08:27:49 -04:00
clenk
ee8013d782
Parse bundles correctly
...
This required refactoring parts of the library. Code in __init__.py
merged into bundle.py, which was renamed core.py. Code in other.py was
merged into common.py.
Fixes #40 .
2017-08-11 16:18:20 -04:00
Emmanuelle Vargas-Gonzalez
8086447fce
Change SDOs to OrderedDict approach. Removed COMMON_PROPERTIES.
2017-08-11 15:12:45 -04:00
Emmanuelle Vargas-Gonzalez
228f488f5b
Update commons.py to new OrderedDict format, just in case.
2017-08-11 15:11:54 -04:00
Emmanuelle Vargas-Gonzalez
5172f86a7b
Change _STIXBase to output properties in spec order. closes #39
2017-08-11 15:10:44 -04:00
Emmanuelle Vargas-Gonzalez
56d8ca4939
Missing instantiation of STIXdatetime in parser. Added __repr__() to STIXdatetime class.
2017-08-11 15:04:58 -04:00
Emmanuelle Vargas-Gonzalez
e52575e01a
Add missing call to super() in TAXIICollectionStore.
2017-08-11 09:52:29 -04:00
Emmanuelle Vargas-Gonzalez
86fd3778f5
Formatting changes, replace deduplicate() code in DataSource, missing super() calls to initialize objects.
2017-08-11 08:10:20 -04:00
Greg Back
961dfdc984
Convert rest of code to use namedtuple Filters
2017-08-09 19:25:06 +00:00
Greg Back
87f7503c0a
Convert filters to be NamedTuples
2017-08-09 18:49:06 +00:00
Emmanuelle Vargas-Gonzalez
a4ead4f6e7
Formatting changes, skip add/remove filter test, change deduplicate() approach.
2017-08-09 13:31:07 -04:00
Greg Back
b8c96e37a2
Update to get tests passing
2017-07-20 20:30:04 +00:00
Greg Back
b82606ba38
Clean up TAXII Datastore to use latest TAXII client
2017-07-20 19:36:54 +00:00
Greg Back
f4833c05f6
Remove duplicate code.
2017-07-20 19:34:09 +00:00
Greg Back
55e92bc237
Update with correct class name
...
Also PEP-8 fixes
2017-07-19 21:30:29 +00:00
Greg Back
bf9677094f
Merge branch 'master' into datastores
2017-07-19 21:21:08 +00:00
Greg Back
f4335f43ad
Clean up redundant code.
2017-07-19 21:12:56 +00:00
Greg Back
bac87465cb
Merge pull request #35 from oasis-open/pattern_expressions
...
Pattern expressions
2017-07-19 14:17:57 +00:00
Richard Piazza
a2aacc5e20
merge all classes into patterns.py
2017-07-19 14:03:43 +00:00
Greg Back
595ba10695
Merge pull request #34 from oasis-open/object-factory
...
Object factory
2017-07-19 13:54:24 +00:00
mbastian1135
611045528f
taxii client and source/sink seperated; memory store common data dict (bug); all *Store classes have their sources and sinks tethered to one backend target
2017-07-18 20:55:22 +00:00
mbastian1135
9f659f9ecb
formatting
2017-07-18 20:44:21 +00:00
mbastian1135
9d72d60706
Data* suite reorg, fixing bugs
2017-07-18 20:44:19 +00:00
=
20958b908a
more tests for TAXII data source
2017-07-18 20:42:43 +00:00
Richard Piazza
27af0c0d5b
Fixed style errors
2017-07-18 20:34:39 +00:00
Richard Piazza
6fa009e509
added object_paths
...
added more tests for pattern expressions
added "set" comparison expressions
implemented make_constant
fixed type name for EmailAddress
2017-07-18 20:30:02 +00:00
Richard Piazza
c1b07ef505
Introduce constant objects for literals in pattern expressions
...
fixed idioms
2017-07-18 20:26:46 +00:00
Richard Piazza
c8bcece6f6
added tests for expressions
...
fix __str__ methods
2017-07-18 20:26:46 +00:00
Richard Piazza
c0467da5f9
added classes for Pattern Expressions
2017-07-18 20:26:44 +00:00
clenk
4bdbb4a2f9
Deep-copy in Object Factory and allow appending multiple items to list
...
properties in ObjectFactory.create()
2017-07-18 12:05:19 -04:00
clenk
0a2cda00cc
Add object factory docstring
2017-07-17 15:23:20 -04:00
clenk
2e45cacd52
Add to list properties like `external_references`, but include option to
...
replace instead
2017-07-17 14:56:13 -04:00
clenk
e233a424fb
Drop granular markings from object factory for now
2017-07-14 16:11:48 -04:00
clenk
5c5903179d
Fix import sort order
2017-07-14 16:02:29 -04:00
clenk
7ebf5ac7c7
Fix timestamp in test
2017-07-14 15:30:19 -04:00
clenk
e1330692c8
Move ObservableProperty, ExtensionsProperty, and Observable parsing code
...
into observables.py to prevent circular imports and fix #23 .
2017-07-14 15:10:12 -04:00
Greg Back
c29acfa3ce
Alternate implementation of ObjectFactory.
2017-07-13 15:35:22 +00:00
clenk
4dba41afc8
Add created to object factory, clean up code
2017-07-13 09:45:43 -04:00
Emmanuelle Vargas-Gonzalez
6d2cfcdedf
[WIP] Update tests.
2017-07-13 07:57:33 -04:00
Emmanuelle Vargas-Gonzalez
747f0307a7
[WIP] Changes to align python-stix2 with marking-prototype project.
2017-07-13 07:57:01 -04:00
Emmanuelle Vargas-Gonzalez
7abcce7635
Add new duplicate marking exception.
2017-07-13 07:55:52 -04:00
clenk
6ddad22810
Add external references to object factory
2017-07-12 16:11:51 -04:00
clenk
593f16662a
Add granular markings to object factory
2017-07-12 15:22:50 -04:00
clenk
659ad3df89
Add object markings to object factory
2017-07-12 14:44:52 -04:00
clenk
0c47936ee0
Create ObjectFactory class
...
currently only supports created_by_ref
2017-07-12 11:36:15 -04:00
clenk
6f680be8a6
Add stix2.__version__
2017-07-06 09:41:50 -04:00
Greg Back
9bfc240008
Merge pull request #27 from oasis-open/issue26
...
Allow passing a list to Bundle constructor
2017-07-06 13:36:06 +00:00
clenk
1d3c59cc44
Move TLP constants up to stix2 namespace
2017-07-05 13:27:09 -04:00
clenk
1ea9671b68
Allow passing a list to Bundle constructor
...
Fix #26
2017-07-05 11:31:56 -04:00
clenk
29d9467ce0
Add more timestamp test cases, address suggestions
2017-06-28 15:55:23 -04:00
clenk
e01ce132db
Add timestamp precision for `created` and `modified`
...
Fix #24
2017-06-22 18:47:35 -04:00
clenk
fdbb6ff337
Add custom Cyber Observables
2017-06-14 09:36:35 -04:00
clenk
d4e92dd813
Allow adding validation to custom object types
...
_Custom.__init__() is a solution to recursion errors arising from using
a decorator. See https://stackoverflow.com/q/14739809/1013457
2017-06-13 10:27:31 -04:00
clenk
bcfb13f23c
Add custom STIX Object types
2017-06-12 16:22:16 -04:00
clenk
8f1ae4e6d3
Add custom properties via 'allow_custom'
...
Custom properties can be specified by passing them to a STIX object
constructor in the 'custom_properties' argument, or with the
'allow_custom' argument set to True, which will add any unrecognized
keyword arguments as properties on the object. The 'allow_custom'
argument can also be used with the parse() and parse_observable()
functions.
An error is now raised when attempting to parse objects without a 'type'
property, such as external references, kill chain phases, and granular
markings. The object which contains them is what should be parsed, not
these objects themselves.
2017-06-12 13:04:20 -04:00
Emmanuelle Vargas-Gonzalez
bf740b21eb
Initial selector and marking_ref validation.
2017-06-12 08:06:37 -04:00
Emmanuelle Vargas-Gonzalez
ee4618f6c8
Add new marking errors.
2017-06-12 08:06:13 -04:00
Emmanuelle Vargas-Gonzalez
1f258551e1
Add and update tests for markings API.
2017-06-09 14:22:56 -04:00
Emmanuelle Vargas-Gonzalez
1b7695c4f6
Initial marking code.
2017-06-09 14:21:42 -04:00
Emmanuelle Vargas-Gonzalez
069c82abf1
Add markings.utils.py
2017-06-09 14:20:16 -04:00
clenk
9036c7f7b8
Add custom properties
2017-06-09 12:30:19 -04:00
Emmanuelle Vargas-Gonzalez
c1ce2bd3f1
Add markings package structure.
2017-06-08 10:44:23 -04:00
Emmanuelle Vargas-Gonzalez
c1c5c05f47
Some changes to Process and EmailMessage objects. Added tests.
2017-06-08 10:09:18 -04:00
Emmanuelle Vargas-Gonzalez
b9f63e8de6
Minor Code Changes.
2017-06-08 08:42:32 -04:00
clenk
860efcc230
Make object attribute access act like dictionary access, raising an
...
error for any property (including custom or optional) not set on the object.
2017-06-07 11:06:20 -04:00
Emmanuelle Vargas-Gonzalez
a38b912d19
Change _check_property_dependency() to also check for values for the required properties.
2017-06-02 13:48:44 -04:00
Emmanuelle Vargas-Gonzalez
653eef4b95
Revert changes to test_file_example_encryption_error()
2017-06-02 13:47:08 -04:00
Emmanuelle Vargas-Gonzalez
e11b3adb3f
Style change.
2017-06-02 10:22:31 -04:00
Emmanuelle Vargas-Gonzalez
51e28f64da
Change __getattr__() to use __getitem__() instead. Other minor changes.
2017-06-02 10:10:50 -04:00
Emmanuelle Vargas-Gonzalez
d579c12172
Update ImmutableError test cases.
2017-06-02 07:34:37 -04:00
Emmanuelle Vargas-Gonzalez
fceef4d85a
Use class name for ImmutableError message.
2017-06-02 07:33:31 -04:00
Emmanuelle Vargas-Gonzalez
0cf0f97143
Merge branch 'master' of github.com:oasis-open/cti-python-stix2
2017-06-02 07:15:01 -04:00
clenk
f321447ecc
Make Travis happy with cosmetic fixes
2017-06-01 16:47:56 -04:00
Emmanuelle Vargas-Gonzalez
e1e7bade3f
Updated this test since setting the value to False should not be a reason to fail the test.
2017-06-01 15:25:46 -04:00
Emmanuelle Vargas-Gonzalez
4d58fc3dbb
Explicitly check for None, when intention is to set empty values or False. fixes #17
2017-06-01 15:25:03 -04:00
Emmanuelle Vargas-Gonzalez
5dc049d65a
getattr() checks for attribute membership, returns the value if not None and raises AttributeError when is not present. fixes #19
2017-06-01 15:23:44 -04:00
Emmanuelle Vargas-Gonzalez
ad46474663
Update immutable tests.
2017-06-01 12:43:42 -04:00
Emmanuelle Vargas-Gonzalez
49f58ff513
Make Immutable error more descriptive. Also fixes #13
2017-06-01 12:43:06 -04:00
Greg Back
ea1e408b50
More style fixes
2017-05-31 10:02:37 -05:00
Greg Back
53ddf32e8c
Style/lint fixes
2017-05-31 08:58:14 -05:00
=
6c3a689f02
fixed indentation
2017-05-31 09:47:36 -04:00
=
03f9af4b96
Merge branch 'taxii-data-source' of https://github.com/mitre/cti-python-stix2 into taxii-data-source
2017-05-31 09:41:32 -04:00
=
d207ada05e
in order to pull
2017-05-31 09:41:19 -04:00
=
c65055bb0e
tests for TAXII data source; some bug fixes
2017-05-30 16:56:27 -04:00
Emmanuelle Vargas-Gonzalez
835d675162
Merge fork changes.
2017-05-26 15:30:30 -04:00