Commit Graph

537 Commits (2fe9a0f2979cf85159a29d80bb791ce645c1e905)

Author SHA1 Message Date
clenk fabfbe20ec Parse all SDOs and SROs 2017-04-19 09:22:08 -04:00
Greg Back 6bf3584616 Create custom exception class for modifying an immutable object. 2017-04-18 15:06:41 -05:00
Greg Back 91cecb7b0c Add exception for extra/invalid custom properties. 2017-04-18 14:56:16 -05:00
Greg Back 32ff00559e Rename exception class. 2017-04-18 14:42:59 -05:00
Greg Back a7805c4ac0 Add Exception for missing values. 2017-04-18 14:41:18 -05:00
Greg Back 2aa1f5cedd Add exception for invalid Property values. 2017-04-18 14:19:16 -05:00
clenk 05ccffc5bd Use correct Property classes for all STIX objects 2017-04-18 09:21:38 -04:00
clenk a14d507f48 Add IntegerProperty 2017-04-18 09:19:38 -04:00
clenk 635a3ec389 Combine clean() and validate() 2017-04-17 15:13:11 -04:00
clenk cf0b56c04f Use correct property classes for ExternalReference 2017-04-17 14:15:01 -04:00
clenk 40810646fb Fix Flake8 error and use UTC as default timezone 2017-04-17 13:16:14 -04:00
clenk b4f116a33f Fix TimestampProperty
- improved timestamp formatting
- python-stix2 will only include subsecond values if they don't equal 0
- in Python 3.6, datetime.astimezone doesn't throw an error on naive
  timestamps as in previous versions
2017-04-17 10:48:13 -04:00
clenk 35981025c5 Rework ListProperty, fix merging issues 2017-04-14 10:42:17 -04:00
clenk bc8bdccece Merge branch 'master' into parsing 2017-04-11 15:05:22 -04:00
clenk 2e3dfe5d84 Add TimestampProperty 2017-04-11 12:10:55 -04:00
clenk 168105603b Parse dictionaries as well as strings and file-like objects 2017-04-10 10:42:07 -04:00
clenk dd382520d6 Clean up code/comments 2017-04-10 10:18:54 -04:00
clenk bab8d187c9 Rework kill chain phases 2017-04-07 17:34:06 -04:00
Richard Piazza 3c17c9259c Add Sighting object and data markings
- Update ReferenceProperty to allow specifying a particular object type
- Update ListProperty and add SelectorProperty
- Add description to Relationship
2017-04-07 16:07:17 -05:00
Greg Back 1517eb899b Move fixtures to conftest.py 2017-04-07 15:36:42 -05:00
clenk 93b8076ae3 Use StringProperty and ListProperty in Malware objects,
fix bugs in those properties
2017-04-07 14:53:40 -04:00
clenk 474833248d Flesh out ListProperty, add StringProperty 2017-04-06 19:17:32 -04:00
clenk 253989cc52 Coerce boolean properties automatically
for values like "true", "F", or 1
2017-04-06 16:08:36 -04:00
clenk ce0de97df1 Validate UUID portion of IDProperty 2017-04-06 13:29:14 -04:00
clenk 5e4ca9e882 Add parsing of Malware objects 2017-04-05 17:12:44 -04:00
Greg Back 08dcfee64c Don't be so strict about exact error message 2017-03-22 08:33:42 -05:00
Greg Back a2f5981dfb Improve test coverage 2017-03-22 08:26:13 -05:00
Greg Back a0600b5ba4 Fix or ignore Flake8 warnings. 2017-03-22 08:05:59 -05:00
Greg Back 26c65e3bd0 Split up test functions 2017-03-22 07:46:39 -05:00
Greg Back c1a59265ae Remove unnecessary TODO comments. 2017-03-21 20:24:32 -04:00
Greg Back 79554a6491 Convert remaining properties from dicts to classes 2017-03-21 20:24:32 -04:00
Greg Back 9bcf064213 Convert most old-style properties to Property classes 2017-03-21 20:06:09 -04:00
Greg Back 19146c8327 Convert REF_PROPERTY to ReferenceProperty 2017-03-21 19:44:01 -04:00
Greg Back ef332a328b Convert BOOL_PROPERTY to BooleanProperty. 2017-03-21 19:33:43 -04:00
Greg Back aa1ecfa235 Remove unused code. 2017-02-24 13:08:18 -06:00
Greg Back a79df01449 Convert more fields to Property classes. 2017-02-24 13:07:54 -06:00
Greg Back 7ef6e20e9a Add tests for kill chain phases. 2017-02-24 12:53:57 -06:00
Greg Back 2768426a28 Used fixed property for Bundle spec_version 2017-02-24 12:33:47 -06:00
Greg Back 2645bf2c71 Convert 'type' to a new Property class. 2017-02-24 12:33:45 -06:00
Greg Back a264ca1e5e Convert ID properties to class style 2017-02-24 12:32:05 -06:00
Greg Back cf688c3851 WIP: Start transforming properties. 2017-02-24 12:29:51 -06:00
Greg Back 805c15c397 Add tests for all SDOs 2017-02-24 11:56:55 -06:00
clenk 61d3652514 Add more SDO skeletons
- Campaign
- CourseOfAction
- Identity
- ObservedData
- Report
- ThreatActor
- Vulnerability
2017-02-23 10:12:38 -05:00
clenk 375b915da4 Add KillChainPhase, AttackPattern, IntrusionSet, Tool 2017-02-22 10:06:35 -05:00
clenk 417b43b1fe Add revoked property 2017-02-20 16:19:07 -05:00
clenk e2f60bc8c5 Add created_by_ref common property 2017-02-15 17:10:30 -05:00
Greg Back 031cdc9931 Add blank line 2017-02-10 16:12:02 -06:00
Greg Back dbe98c664a More repr tests. 2017-02-10 16:09:37 -06:00
Greg Back bc66db94aa Add generic __repr__ to _STIXBase. 2017-02-10 15:58:17 -06:00
Greg Back 96e880b49b Refactor library into separate files. 2017-02-10 15:35:02 -06:00
Greg Back b171f025c8 Test for exact exception strings. 2017-02-02 11:07:57 -06:00
Greg Back 1a46a4b073 Add external references. 2017-02-02 10:58:46 -06:00
Greg Back 5d7ed643bd Check for required args first, and check for them all at once.
This is necessary for versions of Python <3.6, where dictionaries are
unordered by default, meaning we can't ensure the order in which fields
are checked.
2017-02-02 10:17:13 -06:00
Greg Back 1ba064734b Special handling for timestamp fields.
If a type has more than one timestamp field that should be automatically generated,
we want them to all be same, not vary by milliseconds.
2017-02-02 09:50:35 -06:00
Greg Back 675a29dbfb Add support for required fields with no default values. 2017-02-02 08:53:46 -06:00
Greg Back 67c3311672 Handle ID fields in a generic way. 2017-02-02 08:33:36 -06:00
Greg Back e677167cb4 Refine tests. 2017-02-02 08:13:48 -06:00
Greg Back 724774900d Generic form of JSON serialization 2017-02-01 16:04:20 -06:00
Greg Back 2a1709a7de Allow passing objects to Bundle as args 2017-02-01 14:57:07 -06:00
Greg Back 58fccd7f7d Further refactoring bundle. 2017-02-01 14:52:18 -06:00
Greg Back ce31356839 start of automated property checking. 2017-02-01 14:35:41 -06:00
Greg Back b4eb6c1fd1 Refactor common ID check. 2017-02-01 13:44:57 -06:00
Greg Back b5ab54b6a9 WIP: convert bundle to using kwargs. 2017-02-01 13:34:44 -06:00
Greg Back 8843e9b190 WIP: refactor common fields. 2017-02-01 13:27:24 -06:00
Greg Back 26ed0389ea Fix invalid numeric literals 2017-02-01 12:50:43 -06:00
Greg Back 15e9ff8da6 Make Bundle test repeatable 2017-01-18 17:03:20 -08:00
Greg Back 855ca929fa Add initial Bundle implementation. 2017-01-18 16:58:25 -08:00
Greg Back e4e75e459b Update how fixtures work during testing. 2017-01-18 16:57:26 -08:00
Greg Back 022f344b94 Add UUID fixture 2017-01-18 16:32:52 -08:00
Greg Back 439211082a Add custom clock fixture 2017-01-18 16:14:57 -08:00
Greg Back 4d9dcafbc6 Small fixups 2017-01-18 16:10:18 -08:00
Greg Back 742d9645d6 Allow shorter syntax for creating relationships. 2017-01-18 15:14:56 -08:00
Greg Back fd548a5f41 Allow creating relationships from objects, not just IDs. 2017-01-18 15:14:22 -08:00
Greg Back e683acbf48 Normalize IDs in tests. 2017-01-18 11:21:46 -08:00
Greg Back da75833400 Add Relationship class with required fields. 2017-01-18 10:59:28 -08:00
Greg Back e23d265d20 Use pytest fixtures 2017-01-18 09:31:33 -08:00
Greg Back 022f7c9166 Convert constructors to kwargs. 2017-01-17 17:25:40 -08:00
Greg Back 4eaa87660b Pull out __str__ function 2017-01-17 16:58:17 -08:00
Greg Back 3e7adef792 Add Malware object with required fields. 2017-01-17 16:53:27 -08:00
Greg Back ef0b80ad44 Allow attribute and key-based access. Make immutable. 2017-01-17 15:52:03 -08:00
Greg Back eeec5a4ce3 Allow key-based access along with attribute access 2017-01-17 15:03:56 -08:00
Greg Back 31cebdd34a Add tests for required fields. 2017-01-17 14:52:56 -08:00
Greg Back ebf6513445 Check for valid IDs and types on indicators. 2017-01-17 14:46:00 -08:00
Greg Back d054b9deba Add tests for all different fields 2017-01-17 14:09:20 -08:00
Greg Back 6761d1fdfc Add required fields to Indicator. 2017-01-17 14:07:49 -08:00
Greg Back 2f8c2780c2 Initial tests for STIX 2 2017-01-17 12:37:47 -08:00
Greg Back 86585d229e Initial package files. 2017-01-17 08:54:39 -08:00