Skip to content

Commit

Permalink
Merge pull request #111 from swimlane/6_0_1_release
Browse files Browse the repository at this point in the history
6.1.0 Release
  • Loading branch information
MSAdministrator authored Jun 14, 2022
2 parents 21fd92d + d9ca9d2 commit 454d4b2
Show file tree
Hide file tree
Showing 39 changed files with 1,885 additions and 983 deletions.
3 changes: 2 additions & 1 deletion .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ per-file-ignores =
# F401: Module imported by unused (non-implicit modules)
# TC002: Move third-party import '...' into a type-checking block
__init__.py:F401,TC002,
aqueduct.py:E501,
logger.py:F841,
configuration.py:E501,
attck.py:E501
56 changes: 56 additions & 0 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Push
on: [push]

jobs:
test:
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8"]
poetry-version: [1.1.13]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run image
uses: abatilo/[email protected]
with:
poetry-version: ${{ matrix.poetry-version }}
- name: Install dependencies
run: poetry install
- name: Run tests
run: poetry run coverage run -m pytest && poetry run coverage report
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
code-quality:
strategy:
fail-fast: false
matrix:
python-version: [3.9]
poetry-version: [1.1.2]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run image
uses: abatilo/[email protected]
with:
poetry-version: ${{ matrix.poetry-version }}
- name: Install dependencies
run: poetry install
- name: Run black
run: poetry run black ./pyattck --line-length 120
- name: Run isort
run: poetry run isort ./pyattck --check-only --profile "black"
- name: Run flake8
run: poetry run flake8 ./pyattck
- name: Run bandit
run: poetry run bandit ./pyattck
- name: Run saftey
run: poetry run safety check --ignore=47794
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ __pycache__/
# C extensions
*.so

# Remove generate docs code
generateattckdocs/

# Distribution / packaging
.Python
build/
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 6.1.0 - 2022-06-13

- Updated to pyattck-data 2.1.0

## 6.0.0 - 2022-06-09

- BREAKING CHANGE RELEASE
- Complete revamp and removed 70% of code base
- CONSIDER THIS A NEW VERSION

## 5.4.0 - 2022-04-04

- Added access to malwares from techniques (thanks aacienfuegos)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Swimlane
Copyright (c) 2022 Swimlane

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
```
A Python package to interact with MITRE ATT&CK Frameworks

> Current Version is 6.0.0
> Current Version is 6.1.0
**pyattck** is a light-weight framework for MITRE ATT&CK Frameworks. This package extracts details from the MITRE Enterprise, PRE-ATT&CK, Mobile, and ICS Frameworks.

Expand Down Expand Up @@ -49,7 +49,7 @@ The **pyattck** package allows you to:
* Access data from the MITRE ICS ATT&CK Framework
* Access sub-techniques as nested objects or you can turn it off and access as normal technique
* Access compliance controls (currently NIST 800-53 v5) related to a MITRE ATT&CK Technique
* pyattck now utilizes structured data models. More information can be found at [pyattck-data-models](https:/swimlane/pyattck-data-models)
* pyattck now utilizes structured data models. More information can be found at [pyattck-data](https:/swimlane/pyattck-data)

# Table of Contents

Expand Down Expand Up @@ -170,7 +170,7 @@ attck = Attck(
pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json",
mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json,
ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json",
nist_controls_json="https://raw.githubusercontent.com/center-for-threat-informed-defense/attack-control-framework-mappings/main/frameworks/attack_10_1/nist800_53_r4/stix/nist800-53-r4-controls.json",
nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json",
generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json",
**kwargs
)
Expand All @@ -182,7 +182,7 @@ By default, `pyattck` will (now) pull the latest external data from their respec
* pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json"
* mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json"
* ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json"
* nist_controls_json="https://raw.githubusercontent.com/center-for-threat-informed-defense/attack-control-framework-mappings/main/frameworks/attack_10_1/nist800_53_r4/stix/nist800-53-r4-controls.json"
* nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json"
* generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json"

You have several options when instantiating the `Attck` object. As of `4.0.0` you can now specify any of the following options:
Expand Down Expand Up @@ -290,7 +290,7 @@ This data set is generated from many different sources. As we continue to add mo
configuration
pyattck/attck
Dataset <https:/swimlane/pyattck-data>
Data Models <https:/swimlane/pyattck-data-models>
Data Models <https:/swimlane/pyattck-data>
enterprise/enterprise
preattck/preattck
mobile/mobileattck
Expand Down
4 changes: 2 additions & 2 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ attck = Attck(
pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json",
mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json",
ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json",
nist_controls_json="https://raw.githubusercontent.com/center-for-threat-informed-defense/attack-control-framework-mappings/master/frameworks/ATT%26CK-v9.0/nist800-53-r5/stix/nist800-53-r5-controls.json",
nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json",
generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json",
**kwargs
)
Expand All @@ -27,7 +27,7 @@ By default, `pyattck` will pull the latest external data from their respective l
* pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json"
* mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json"
* ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json"
* nist_controls_json="https://raw.githubusercontent.com/center-for-threat-informed-defense/attack-control-framework-mappings/main/frameworks/attack_10_1/nist800_53_r4/stix/nist800-53-r4-controls.json"
* nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json"
* generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json"

You have several options when instantiating the `Attck` object. As of `4.0.0` you can now specify any of the following options:
Expand Down
10 changes: 5 additions & 5 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
```
A Python package to interact with MITRE ATT&CK Frameworks

> Current Version is 6.0.0
> Current Version is 6.1.0
**pyattck** is a light-weight framework for MITRE ATT&CK Frameworks. This package extracts details from the MITRE Enterprise, PRE-ATT&CK, Mobile, and ICS Frameworks.

Expand Down Expand Up @@ -49,7 +49,7 @@ The **pyattck** package allows you to:
* Access data from the MITRE ICS ATT&CK Framework
* Access sub-techniques as nested objects or you can turn it off and access as normal technique
* Access compliance controls (currently NIST 800-53 v5) related to a MITRE ATT&CK Technique
* pyattck now utilizes structured data models. More information can be found at [pyattck-data-models](https:/swimlane/pyattck-data-models)
* pyattck now utilizes structured data models. More information can be found at [pyattck-data-models](https:/swimlane/pyattck-data)

# Table of Contents

Expand Down Expand Up @@ -170,7 +170,7 @@ attck = Attck(
pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json",
mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json,
ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json",
nist_controls_json="https://raw.githubusercontent.com/center-for-threat-informed-defense/attack-control-framework-mappings/main/frameworks/attack_10_1/nist800_53_r4/stix/nist800-53-r4-controls.json",
nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json",
generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json",
**kwargs
)
Expand All @@ -182,7 +182,7 @@ By default, `pyattck` will (now) pull the latest external data from their respec
* pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json"
* mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json"
* ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json"
* nist_controls_json="https://raw.githubusercontent.com/center-for-threat-informed-defense/attack-control-framework-mappings/main/frameworks/attack_10_1/nist800_53_r4/stix/nist800-53-r4-controls.json"
* nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json"
* generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json"

You have several options when instantiating the `Attck` object. As of `4.0.0` you can now specify any of the following options:
Expand Down Expand Up @@ -290,7 +290,7 @@ This data set is generated from many different sources. As we continue to add mo
configuration
attck
Dataset <https:/swimlane/pyattck-data>
Data Models <https:/swimlane/pyattck-data-models>
Data Models <https:/swimlane/pyattck-data>
enterprise
preattck
mobile
Expand Down
21 changes: 0 additions & 21 deletions generateattckdocs/LICENSE

This file was deleted.

18 changes: 0 additions & 18 deletions generateattckdocs/README.md

This file was deleted.

1 change: 0 additions & 1 deletion generateattckdocs/generateattckdocs/__init__.py

This file was deleted.

Loading

0 comments on commit 454d4b2

Please sign in to comment.