leathal1/TITO Threat Model

Automated threat modeling with STRIDE-LM, MAESTRO, MITRE ATT&CK, Semgrep SAST, and attack path analysis. Shift security left — threat model every PR.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Feb 9, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: leathal1/tito@19bb11b20bd9b616309701ea058ac9a7a99b5245 # v2.3.1

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

namedescriptionrequireddefault
repoRepository path to scan (defaults to workspace)no.
modeScan mode: full, quick, or diffnofull
outputOutput file pathnothreat-model.md
output-formatOutput format: markdown, html, json, sarifnomarkdown
maestroEnable MAESTRO agentic AI analysisnofalse
mitreEnable MITRE ATT&CK mappingnofalse
semgrepEnable Semgrep SAST integrationnofalse
attack-pathsEnable attack path analysisnotrue
three-dGenerate 3D interactive visualizationnofalse
diff-baseBase branch/ref for threat diffing (enables diff mode)no""
diff-headHead branch/ref for threat diffingno""
fail-onFail the action on severity: critical, high, medium, any, nevernonever
configPath to TITO config file (tito.yaml)no""
rulesPath to custom rules directoryno""
comment-on-prPost threat model as PR commentnotrue
upload-artifactUpload report as GitHub artifactnotrue
sarif-uploadUpload SARIF to GitHub Security tabnofalse
badgeGenerate security badgenofalse
versionTITO version to install (e.g., v2.1.0, latest)nolatest
namedescription
threats-totalTotal number of threats found
threats-criticalNumber of critical severity threats
threats-highNumber of high severity threats
threats-mediumNumber of medium severity threats
threats-lowNumber of low severity threats
attack-paths-countNumber of attack paths found
report-pathPath to the generated report
sarif-pathPath to SARIF output (if generated)
badge-urlShield.io badge URL for threat status
exit-codeTITO exit code (0=pass, 1=warnings, 2=fail)