Mal-toolbox

Latest version: v0.3.11

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

Scan your dependencies

Page 1 of 4

0.3.9

- attackgraph.Attacker gets default values for reached_attack_steps and entry_points.

0.3.6

- [bugfix: remove_associated_assets removing things from the dict it looped through and not removing both sides of association](https://github.com/mal-lang/mal-toolbox/commit/644f1dd4323016bb7511934dc5c56f09cd0a5137)

0.3.5

- [Check duplicate asset ids in dict instead of a set that could be removed](https://github.com/mal-lang/mal-toolbox/commit/cb2a7a70b29f8a9c85b446e2e4363071a849d58e)
- [Remove set with asset names and instead check duplicate names in dict mapping from name to asset](https://github.com/mal-lang/mal-toolbox/commit/9e0b46930569868ecb069b8789804086e75033f9)
- [Fix Attacker constructor bug that was not compromising reached attack steps properly](https://github.com/mal-lang/mal-toolbox/commit/cc612333f7ffe9d965caa3556d0c46e806c62f7a)

0.3.4

- [Fix is_traversable_by_attacker bug for or nodes](https://github.com/mal-lang/mal-toolbox/commit/64dcd75f8d3eab94e8647c5a8716244700b986fb)

0.3.3

- Fix neo4j ingestor to work with the new attack graph api (attack.graph.nodes is a dict instead of a list)

0.3.2

This is a major release that has substantially changed both the interfaces available and the formats used for all three major components, language graph, instance model, and attack graph.

Instance Model:
- the language classes factory has been removed and replaced by the lightweight `ModelAsset` class, this means that the only requirement to create a model now is a `LanguageGraph`.
- `ModelAssets` should be created directly using the `Model` `add_asset` method instead of creating them separately and then adding them to the `Model` afterwards.
- Associations are no longer an explicit concept in the instance model, but they are properties of the `ModelAsset`. Each `ModelAsset` has an `associations` dictionary that is keyed by the relevant fieldname and leads to the associated `ModelAssets` via that association.
- Associations are now added by using the `add_associated_assets` method of the `ModelAsset`. This adds the relevant assets on both ends of the association, it does not need to be called twice for each of the sides.
- There is partial validation of the `ModelAssets`, but more rigorous validation may be added later on.
- The model updater has been itself updated(oh, irony) and should now be able to handle converting older models to the current format. See the [README Command Line section](https://github.com/mal-lang/mal-toolbox?tab=readme-ov-file#command-line-client) `upgrade-model` for more details.
- Improved `__repr__` methods to make their output more legible.

Attack Graph:
- Analogously to the `Model` and `ModelAsset`, `AttackGraphNodes` are now created when adding them to the `AttackGraph` using the `add_node` method.
- `AttackGraphNode` and `Attacker` classes are now hashable and use sets and id keyed dictionaries in the `AttackGraph`.
- Improved `__repr__` methods to make their output more legible.

Language Graph:
- associations are now keyed by the relevant fieldname for `LanguageGraphAssets`
- added Detectors
- Improved `__repr__` methods to make their output more legible.

Page 1 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.