Skip to content

feat: add attack_changelog command for generating changelog artifacts between ATT&CK versions#236

Merged
jondricek merged 1 commit into
mainfrom
add-attack-changelog-command
May 6, 2026
Merged

feat: add attack_changelog command for generating changelog artifacts between ATT&CK versions#236
jondricek merged 1 commit into
mainfrom
add-attack-changelog-command

Conversation

@jondricek
Copy link
Copy Markdown
Contributor

This pull request introduces a new attack_changelog command and supporting module to simplify and standardize the process of generating ATT&CK changelog artifacts for a pair of releases. It refactors the previous example script to use this new interface, and updates documentation and CLI configuration accordingly. The most important changes are:

New command and module for changelog generation:

  • Added mitreattack/diffStix/attack_changelog.py, which provides a robust, reusable interface (generate_attack_changelog) and a CLI (attack_changelog) for generating changelog artifacts between two ATT&CK releases. This includes logic to automatically download missing STIX bundles, normalize inputs, and output artifacts in a consistent structure.

Refactoring and simplification of example script:

  • Refactored examples/generate_multiple_attack_diffs.py to use the new generate_attack_changelog function instead of duplicating logic, removing now-unnecessary helper functions and simplifying artifact generation. [1] [2] [3]

Documentation and CLI integration:

  • Updated mitreattack/diffStix/README.md with usage instructions and details for the new attack_changelog command, clarifying its behavior and outputs.
  • Registered the new attack_changelog CLI entry point in pyproject.toml so it is available as a command-line tool after installation.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 6, 2026

@jondricek jondricek merged commit b670b47 into main May 6, 2026
5 checks passed
@jondricek jondricek deleted the add-attack-changelog-command branch May 6, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant