Пример #1
0
                                             spec_version="2.1")),
        ),
    ],
)
class SimpleObservable:
    pass


@CustomObject(
    "x-opencti-incident",
    [
        ("name", properties.StringProperty(required=True)),
        ("description", properties.StringProperty()),
        ("aliases",
         properties.ListProperty(contained=properties.StringProperty())),
        ("first_seen", properties.TimestampProperty()),
        ("last_seen", properties.TimestampProperty()),
        ("objective", properties.StringProperty()),
        (
            "created_by_ref",
            properties.ReferenceProperty(valid_types="identity",
                                         spec_version="2.1"),
        ),
        ("labels", properties.ListProperty(properties.StringProperty)),
        ("external_references", properties.ListProperty(ExternalReference)),
        (
            "object_marking_refs",
            properties.ListProperty(
                properties.ReferenceProperty(valid_types="marking-definition",
                                             spec_version="2.1")),
        ),
Пример #2
0
import re

from stix2 import CustomObject, properties, KillChainPhase

from yeti.core.errors import ValidationError
from .indicator_base import Indicator


@CustomObject('x-regex',
              [('labels', properties.StringProperty(required=True)),
               ('name', properties.StringProperty()),
               ('description', properties.StringProperty()),
               ('pattern', properties.StringProperty(required=True)),
               ('valid_from', properties.TimestampProperty(required=True)),
               ('valid_until', properties.TimestampProperty()),
               ('kill_chain_phases', properties.ListProperty(KillChainPhase))])
class StixRegex():
    def __init__(self, pattern=None, **_):
        try:
            re.compile(pattern)
        except re.error as e:
            raise ValidationError('{0:s} is not a valid regular expression:'
                                  ' {1:s}'.format(pattern, str(e)))


class Regex(Indicator):
    """STIX Indicator Yeti object.

    Extends the Indicator STIX2 definition.
    """