ellipse2v/SecOpsTM Threat Analysis

Run STRIDE threat analysis with MITRE ATT&CK, CAPEC, D3FEND and CVE mapping on your architecture model or IaC configuration. Generates HTML reports, STIX 2.1 bundles, ATT&CK Navigator layers and enforces severity gates in CI.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 14, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: ellipse2v/secopstm@5cc67635c1747d1c690c902b3f1e02b011d61494 # external-data-latest

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
model-filePath to the SecOpsTM Markdown DSL model file. Ignored when terraform-path or ansible-path is set. nothreat_model.md
terraform-pathPath to a Terraform directory or .tf file. Overrides model-file. Supports HCL source files and terraform.tfstate (v4+). no""
ansible-pathPath to an Ansible configuration directory. Overrides model-file. no""
output-formatOutput format: all | html | json | stixnoall
navigatorGenerate a MITRE ATT&CK Navigator layer JSON file.nofalse
attack-flowGenerate Attack Flow .afb files from GDAF scenarios.nofalse
gateFail the pipeline if threats at or above this severity are found. Accepted values: CRITICAL | HIGH | MEDIUM | LOW | none noCRITICAL
baselinePath to a previous JSON report. When set, only NEW threats (not present in the baseline) trigger the gate — resolved threats are ignored. no""
accepted-risksPath to a YAML file listing risk IDs accepted as false-positives. Matching threats are excluded from gate evaluation. no""
ai-config-filePath to ai_config.yaml for LLM-enriched threat generation. Leave empty to use pytm rules only (fully offline, no API key required). no""
comment-on-prPost a threat-summary comment on the pull request.notrue
upload-artifactsUpload generated reports as GitHub artifacts.notrue
artifact-nameName for the uploaded artifact bundle.nosecopstm-threat-report
python-versionPython version to use for running SecOpsTM.no3.11
namedescription
report-jsonPath to the generated JSON threat report.
report-htmlPath to the primary generated HTML threat report.
total-threatsTotal number of threats found.
critical-threatsNumber of CRITICAL severity threats.
high-threatsNumber of HIGH severity threats.
medium-threatsNumber of MEDIUM severity threats.
low-threatsNumber of LOW severity threats.