Synapse

Latest version: v2.205.0

Safety actively analyzes 723296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 20 of 60

2.105.0

=====================

Features and Enhancements
-------------------------
- Add a Number primitive to Storm to facilitate fixed point math
operations. Values in expressions which are parsed as floating
point values will now be Numbers by default. Values can also
be cast to Numbers with ``$lib.math.number()``.
(`2762 <https://github.com/vertexproject/synapse/pull/2762>`_)
- Add ``$lib.basex.encode()`` and ``$lib.basex.decode()`` for
encoding and decoding strings using arbitrary charsets.
(`2807 <https://github.com/vertexproject/synapse/pull/2807>`_)
- The tag removal operator (``-``) now accepts lists of tags
to remove.
(`2808 <https://github.com/vertexproject/synapse/pull/2808>`_)
- Add a ``$node.difftags()`` API to calculate and optionally apply
the difference between a list of tags and those present on a node.
(`2808 <https://github.com/vertexproject/synapse/pull/2808>`_)
- Scraped Ethereum addresses are now returned in their EIP55
checksummed form. This change also applies to lookup mode.
(`2809 <https://github.com/vertexproject/synapse/pull/2809>`_)
- Updates to the ``mat``, ``ps``, and ``risk`` models.
(`2804 <https://github.com/vertexproject/synapse/pull/2804>`_)

``mass``
Add a type for storing mass with grams as a base unit.

``ps:vitals``
Add a form to record statistics and demographic data about a person
or contact.

``ps:person``
Add a ``vitals`` secondary property to record the most recent known
vitals for the person.

``ps:contact``
Add a ``vitals`` secondary property to record the most recent known
vitals for the contact.

``risk:tool:taxonomy``
Add a form to record an analyst defined taxonomy of different tools.

``risk:tool:software``
Add a form to record software tools used in threat activity.

``risk:threat``
Add ``reporter``, ``reporter:name``, ``org:loc``, ``org:names``,
and ``goals`` secondary properties.

- Annotate the following light edges.
(`2804 <https://github.com/vertexproject/synapse/pull/2804>`_)

``uses``
When used with ``risk:threat`` nodes, the edge indicates the target
node is used by the source node.

Bugfixes
--------
- Fix language used in the ``model.deprecated.check`` command.
(`2806 <https://github.com/vertexproject/synapse/pull/2806>`_)
- Remove the ``-y`` switch in the ``count`` command.
(`2806 <https://github.com/vertexproject/synapse/pull/2806>`_)

2.104.0

=====================

Automatic Migrations
--------------------
- Migrate `crypto:x509:cert:serial` from `str` to `hex` type. Existing values
which cannot be converted as integers or hex values will be moved into
nodedata under the key ``migration:0_2_10`` as ``{'serial': value}``
(`2789 <https://github.com/vertexproject/synapse/pull/2789>`_)
- Migrate ``ps:contact:title`` to the ``ou:jobtitle`` type and create
``ou:jobtitle`` nodes.
(`2789 <https://github.com/vertexproject/synapse/pull/2789>`_)
- Correct hugenum property index values for values with more than
28 digits of precision.
(`2766 <https://github.com/vertexproject/synapse/pull/2766>`_)
- See :ref:`datamigration` for more information about automatic migrations.

Features and Enhancements
-------------------------
- Updates to the ``crypto`` and ``ps`` models.
(`2789 <https://github.com/vertexproject/synapse/pull/2789>`_)

``crypto:x509:cert``
The ``serial`` secondary property has been changed from a ``str`` to a
``hex`` type.

``ps:contact``
The type of the ``title`` secondary property has been changed from a
``str`` to an ``ou:jobtitle``.

- Add ``$lib.hex.toint()``, ``$lib.hex.fromint()``, ``$lib.hex.trimext()``
and ``$lib.hex.signext()`` Storm APIs for handling hex encoded integers.
(`2789 <https://github.com/vertexproject/synapse/pull/2789>`_)
- Add ``set()`` and ``setdefault()`` APIs on the SynErr exception class.
Improve support for unpickling SynErr exceptions.
(`2797 <https://github.com/vertexproject/synapse/pull/2797>`_)
- Add logging configuration to methods which are called in spawned processes,
and log exceptions occurring in the processes before tearing them down.
(`2795 <https://github.com/vertexproject/synapse/pull/2795>`_)

Bugfixes
--------
- BadTypeValu errors raised when normalizing a tag timestamp now include
the name of the tag being set.
(`2797 <https://github.com/vertexproject/synapse/pull/2797>`_)
- Correct a CI issue that prevented the v2.103.0 Docker images from
being published.
(`2798 <https://github.com/vertexproject/synapse/pull/2798>`_)

Improved Documentation
----------------------
- Update data model documentation.
(`2796 <https://github.com/vertexproject/synapse/pull/2796>`_)

2.103.0

=====================

Features and Enhancements
-------------------------
- Updates to the ``it``, ``ou``, and ``risk`` models.
(`2778 <https://github.com/vertexproject/synapse/pull/2778>`_)

``it:prod:soft``
Add a ``techniques`` secondary property to record techniques employed by
the author of the software.

``ou:campaign``
Add a ``techniques`` secondary property to record techniques employed by
the campaign.

``ou:org``
Add a ``techniques`` secondary property to record techniques employed by
the org.

``ou:technique``
Add a form to record specific techniques used to achieve a goal.

``ou:technique:taxonomy``
Add a form to record an analyst defined taxonomy of different techniques.

``risk:attack``
Add a ``techniques`` secondary property to record techniques employed
during the attack.
Deprecate the following secondary properties, in favor of using light
edges.

- ``target``
- ``target:host``
- ``target:org``
- ``target:person``
- ``target:place``
- ``used:email``
- ``used:file``
- ``used:host``
- ``used:server``
- ``used:software``
- ``used:url``
- ``used:vuln``
- ``via:email``
- ``via:ipv4``
- ``via:ipv6``
- ``via:phone``

``risk:compromise``
Add a ``techniques`` secondary property to record techniques employed
during the compromise.

``risk:threat``
Add a form to record a threat cluster or subgraph of threat activity
attributable to one group.

- Annotate the following light edges.
(`2778 <https://github.com/vertexproject/synapse/pull/2778>`_)

``targets``
When used with ``ou:org``, ``ou:campaign``, ``risk:threat``, or
``risk:attack`` nodes, the edge indicates the target node was targeted
by the source node.

``uses``
When used with an ``ou:campaign`` or ``risk:attack`` node, the edge
indicates the target node is used by the source node.

- Change the behavior of the Storm ``count`` command to consume nodes.
If the previous behavior is desired, use the ``--yield`` option when
invoking the ``count`` command.
(`2779 <https://github.com/vertexproject/synapse/pull/2779>`_)
- Add ``$lib.random.int()`` API to Storm for generating random integers.
(`2783 <https://github.com/vertexproject/synapse/pull/2783>`_)
- Add a new tool, ``synapse.tools.livebackup`` for taking a live backup of
a service.
(`2788 <https://github.com/vertexproject/synapse/pull/2788>`_)
- The Storm ``$lib.jsonstor.cacheset()`` API now returns a dict containing the
path and time. The ``$lib.jsonstor.cacheget()`` API now has an argument to
retrieve the entire set of enveloped data.
(`2790 <https://github.com/vertexproject/synapse/pull/2790>`_)
- Add a HTTP 404 handler for the Axon ``v1/by/sha256/<sha256>`` endpoint which
catches invalid ``<sha256>`` values.
(`2780 <https://github.com/vertexproject/synapse/pull/2780>`_)
- Add helper scripts for doing bulk Synapse Docker image builds and testing.
(`2716 <https://github.com/vertexproject/synapse/pull/2716>`_)
- Add ``aha:\\`` support to ``synapse.tools.csvtool``.
(`2791 <https://github.com/vertexproject/synapse/pull/2791>`_)

Bugfixes
--------
- Ensure that errors that occur when backing up a service are logged prior
to tearing down the subprocess performing the backup.
(`2781 <https://github.com/vertexproject/synapse/pull/2781>`_)
- Add missing docstring for ``$lib.stix.import``.
(`2786 <https://github.com/vertexproject/synapse/pull/2786>`_)
- Allow setting tags on a Node from a Storm ``List`` object.
(`2782 <https://github.com/vertexproject/synapse/pull/2782>`_)

Improved Documentation
----------------------
- Remove ``synapse-google-ct`` from the list of Rapid Power-Ups.
(`2779 <https://github.com/vertexproject/synapse/pull/2779>`_)
- Add developer documentation for building Synapse Docker containers.
(`2716 <https://github.com/vertexproject/synapse/pull/2716>`_)
- Fix spelling errors in model documentation.
(`2782 <https://github.com/vertexproject/synapse/pull/2782>`_)

Deprecations
------------
- The ``vertexproject/synapse:master-py37`` and
``vertexproject/synapse:v2.x.x-py37`` Docker containers are no longer being
built.
(`2716 <https://github.com/vertexproject/synapse/pull/2716>`_)

2.102.0

=====================

Features and Enhancements
-------------------------
- Updates to the ``crypto``, ``geo``, ``inet``, ``mat``, ``media``, ``ou``,
``pol``, and ``proj`` models.
(`2757 <https://github.com/vertexproject/synapse/pull/2757>`_)
(`2771 <https://github.com/vertexproject/synapse/pull/2771>`_)

``crypto:key``
Add ``public:md5``, ``public:sha1``, and ``public:sha256`` secondary
properties to record those hashes for the public key.
Add ``private:md5``, ``private:sha1``, and ``private:sha256`` secondary
properties to record those hashes for the public key.

``geo:nloc``
The ``geo:nloc`` form has been deprecated.

``geo:telem``
Add a new form to record a the location of a given node at a given time.
This replaces the use of ``geo:nloc``.

``it:sec:c2:config``
Add a ``proxies`` secondary property to record proxy URLS used to
communicate to a C2 server.
Add a ``listens`` secondary property to record urls the software should
bind.
Add a ``dns:resolvers`` secondary property to record DNS servers the
software should use.
Add a ``http:headers`` secondary property to record HTTP headers the
software should use.

``it:exec:query``
Add a new form to record an instance of a query executed on a host.

``it:query``
Add a new form to record query strings.

``mat:type``
Add a taxonomy type to record taxonomies of material specifications or
items.

``mat:item``
Add a ``type`` secondary property to record the item type.

``mat:spec``
Add a ``type`` secondary property to record the item type.

``media:news``
Add a ``publisher`` secondary property to record the org that published
the news.
Add a ``publisher:name`` secondary property to record the name of the org.
Deprecate the ``org`` secondary property.

``ou:campaign``
Add a ``conflict`` secondary property to record the primary conflict
associated the campaign.

``ou:conflict``
Add a new form to record a conflict between two or more campaigns which
have mutually exclusive goals.

``ou:contribution``
Add a new form to represent contributing material support to a campaign.

``pol:election``
Add a new form to record an election.

``pol:race``
Add a new form to record indivdual races in an election.

``pol:office``
Add a new form to record an appointed or elected office.

``pol:term``
Add a new form to record the term in office for an individual.

``pol:candidate``
Add a form to record a candidate for a given race.

``pol:pollingplace``
Add a form to record the polling locations for a given election.

``proj:ticket``
Add a ``ext:creator`` secondary form to record contact information from
and external system.

- Annotate the following light edges.
(`2757 <https://github.com/vertexproject/synapse/pull/2757>`_)

``about``
A light edge created by the Storm ``note.add`` command, which records
the relationship between a ``meta:note`` node and the target node.

``includes``
When used with a ``ou:contribution`` node, the edge indicates the target
node was the contribution made.

``has``
When used with a ``meta:ruleset`` and ``meta:rule`` node, indicates
the ruleset contains the rule.

``matches``
When used with a ``meta:rule`` node, the edge indicates the target
node matches the rule.

``refs``
A light edge where the source node refers to the target node.

``seenat``
When used with a ``geo:telem`` target node, the edge indicates the source
node was seen a given location.

``uses``
When used with a ``ou:org`` node, the edge indicates the target node
is used by the organization.

- Commonly used light edges are now being annotated in the model, and are
available through Cortex APIs which expose the data model.
(`2757 <https://github.com/vertexproject/synapse/pull/2757>`_)
- Make Storm command argument parsing errors into exceptions. Previously the
argument parsing would cause the Storm runtime to be torn down with
``print`` messages, which could be missed. This now means that automations
which have a invalid Storm command invocation will fail loudly.
(`2769 <https://github.com/vertexproject/synapse/pull/2769>`_)
- Allow a Storm API caller to set the task identifier by setting the ``task``
value in the Storm ``opts`` dictionary.
(`2768 <https://github.com/vertexproject/synapse/pull/2768>`_)
(`2774 <https://github.com/vertexproject/synapse/pull/2774>`_)
- Add support for registering and exporting custom STIX objects with the
``$lib.stix`` Storm APIS.
(`2773 <https://github.com/vertexproject/synapse/pull/2773>`_)
- Add APIS and Storm APIs for enumerating mirrors that have been registered
with AHA.
(`2760 <https://github.com/vertexproject/synapse/pull/2760>`_)

Bugfixes
--------
- Ensure that auto-adds are created when merging part of a View when using
the Storm ``merge --apply`` command.
(`2770 <https://github.com/vertexproject/synapse/pull/2770>`_)
- Add missing support for handling timezone offsets without colon separators
when normalizing ``time`` values. ``time`` values which contain timezone
offsets and not enough data to resolve minute level resolution will now fail
to parse.
(`2772 <https://github.com/vertexproject/synapse/pull/2772>`_)
- Fix an issue when normalizing ``inet:url`` values when the host value was
the IPv4 address ``0.0.0.0``.
(`2771 <https://github.com/vertexproject/synapse/pull/2771>`_)
- Fix an issue with the Storm ``cron.list`` command, where the command failed
to run when a user had been deleted.
(`2776 <https://github.com/vertexproject/synapse/pull/2776>`_)

Improved Documentation
----------------------
- Update the Storm user documentation to include the Embedded Property syntax,
which is a shorthand (``::``) that can be used to reference properties on
adjacent nodes.
(`2767 <https://github.com/vertexproject/synapse/pull/2767>`_)
- Update the Synapse Glossary.
(`2767 <https://github.com/vertexproject/synapse/pull/2767>`_)
- Update Devops documentation to clarify the Aha URLs which end with``...``
are intentional.
(`2775 <https://github.com/vertexproject/synapse/pull/2775>`_)

2.101.1

=====================

Bugfixes
--------
- Fix an issue where the Storm ``scrape`` command could fail to run with
inbound nodes.
(`2761 <https://github.com/vertexproject/synapse/pull/2761>`_)
- Fix broken links in documentation.
(`2763 <https://github.com/vertexproject/synapse/pull/2763>`_)
- Fix an issue with the Axon ``AxonHttpBySha256V1`` API handler related to
detecting ``Range`` support in the Axon.
(`2764 <https://github.com/vertexproject/synapse/pull/2764>`_)

2.101.0

=====================

Automatic Migrations
--------------------
- Create nodes in the Cortex for the updated properties noted in the data
model updates listed below.
- Axon indices are migrated to account for storing offset information to
support the new offset and size API options.
- See :ref:`datamigration` for more information about automatic migrations.

Features and Enhancements
-------------------------
- Updates to the ``crypto``, ``infotech``, ``ps``, and ``transport`` models.
(`2720 <https://github.com/vertexproject/synapse/pull/2720>`_)
(`2738 <https://github.com/vertexproject/synapse/pull/2738>`_)
(`2739 <https://github.com/vertexproject/synapse/pull/2739>`_)
(`2747 <https://github.com/vertexproject/synapse/pull/2747>`_)

``crypto:smart:effect:minttoken``
Add a new form to model smart contract effects which create
non-fungible tokens.

``crypto:smart:effect:burntoken
Add a new form to model smart contract effects which destroy
non-fungible tokens.

``crypto:smart:effect:proxytoken``
Add a new form that tracks grants for a non-owner address the ability to
manipulate a specific non-fungible token.

``crypto:smart:effect:proxytokenall``
Add a new form that tracks grants for a non-owner address the ability to
manipulate all of the non-fungible tokens.

``crypto:smart:effect:proxytokens``
Add a new form that tracks grants for a non-owner address to manipulate
fungible tokens.

``it:av:signame``
Add a new form to track AV signature names. Migrate
``it:av:filehit:sig:name`` and ``it:av:sig:name`` to use the new form.

``it:exec:proc``
Add a ``name`` secondary property to track the display name of a process.
Add a ``path:base`` secondary property to track the basename of the
executable for the process.

``ps:contact``
Add an ``orgnames`` secondary property to track an array of orgnames
associated with a contact.

``transport:sea:vessel``
Add ``make`` and ``model`` secondary properties to track information
about the vessel.

- Add a new Storm command, ``movenodes``, that can be used to move a node
entirely from one layer to another.
(`2714 <https://github.com/vertexproject/synapse/pull/2714>`_)
- Add a new Storm library, ``$lib.gen``, to assist with creating nodes based
on secondary property based deconfliction.
(`2754 <https://github.com/vertexproject/synapse/pull/2754>`_)
- Add a ``sorted()`` method to the ``stat:tally`` object, to simplify
handling of tallied data.
(`2748 <https://github.com/vertexproject/synapse/pull/2748>`_)
- Add a new Storm function, ``$lib.mime.html.totext()``, to extract inner tag
text from HTML strings.
(`2744 <https://github.com/vertexproject/synapse/pull/2744>`_)
- Add Storm functions ``$lib.crypto.hashes.md5()``,
``$lib.crypto.hashes.sha1()``, ``$lib.crypto.hashes.sha256()`` and
``$lib.crypto.hashes.sha512()`` to allow hashing bytes directly in Storm.
(`2743 <https://github.com/vertexproject/synapse/pull/2743>`_)
- Add an ``Axon.csvrows()`` API for streaming CSV rows from an Axon, and a
corresponding ``$lib.axon.csvrows()`` Storm API.
(`2719 <https://github.com/vertexproject/synapse/pull/2719>`_)
- Expand Synapse requirements to include updated versions of the
``pycryptome``, ``pygments``, and ``scalecodec`` modules.
(`2752 <https://github.com/vertexproject/synapse/pull/2752>`_)
- Add range support to ``Axon.get()`` to read bytes from a given offset and
size. The ``/api/v1/axon/files/by/sha256/<SHA-256>`` HTTP API has been
updated to support a ``Range`` header that accepts a ``bytes`` value to read
a subset of bytes that way as well.
(`2731 <https://github.com/vertexproject/synapse/pull/2731>`_)
(`2755 <https://github.com/vertexproject/synapse/pull/2755>`_)
(`2758 <https://github.com/vertexproject/synapse/pull/2758>`_)

Bugfixes
--------
- Fix ``$lib.time.parse()`` when ``%z`` is used in the format specifier.
(`2749 <https://github.com/vertexproject/synapse/pull/2749>`_)
- Non-string form-data fields are now serialized as JSON when using the
``Axon.postfiles()`` API.
(`2751 <https://github.com/vertexproject/synapse/pull/2751>`_)
(`2759 <https://github.com/vertexproject/synapse/pull/2759>`_)
- Fix a byte-alignment issue in the ``Axon.readlines()`` API.
(`2719 <https://github.com/vertexproject/synapse/pull/2719>`_)

Page 20 of 60

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.