All-in-One Security. Offensive Security at the Core.
The all-in-one security platform combining offensive security, automation, and integrations to uncover what others miss.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Threat-informed CVE prioritisation: from every CVE in the world to the few that matter to your organisation. Explainable CTI pipeline with KEV, EPSS, MITRE ATT&CK and STIX 2.1.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Threat-informed CVE prioritisation.
From every CVE in the world to the few that matter to your organisation, with a reason for every decision.
Stenwatch is a narrow watch: it watches the whole global vulnerability feed and narrows it to what, in your estate, needs action now, and why.
A monochrome, terminal-style interface: the console is a funnel that narrows every CVE in the world down to the few that need action, and a dotted "thinking orb" scrambles and clicks back into place while the pipeline works. The landing page adds a particle sphere, scroll reveals and a drifting dot field.檢視完整 README ↗Threat-informed vulnerability management. From every CVE in the world to the few that matter to your organisation, with a reason for every decision.
Download for Windows (0.2.0 beta) → · Live page and films →
Stenwatch is a narrow watch: it watches the whole global vulnerability feed and narrows it to what, in your estate, needs action now, and why.
| Overview: the whole cycle in one click | Knowledge graph: who could use what, where |
|---|---|
| Analysis: every finding explained | Dissemination: one result, every audience |
Screenshots use the bundled fictional Example Organisation and example Defender export, not real data.
About 40,000 CVEs are published every year. Most teams rank them by CVSS, which measures how bad a flaw could be, not whether anyone is using it against you. Stenwatch answers three questions instead:
Every finding gets one of four decisions: Act (within 48 h) · Attend (next patch cycle) · Track · Ignore.
Microsoft Defender lists every CVE on your devices, but with CVSS alone hundreds look urgent and its own exploit flags are often empty. Morning triage takes Defender's Vulnerabilities → Export file as it is and turns it into a short list of fix actions ("update Chrome to 156.0.8078.47: 4 CVEs, 412 machines"), each with a tier and the rule that set it:
It reads free sources each morning: NCSC-FI, CERT-EU, CISA, Microsoft MSRC (exploited CVEs) and Chrome Releases, and any RSS or Atom feed you add, each with a reliability grade and a TLP. Every fix action gets an intel card of cited lines (what the sources say, [n] = which source). You can mark a row Agree, Raise, Lower or Snooze; the mark is kept for tomorrow, and tomorrow's run shows what changed. Outputs: a one-page briefing, an Excel file and a ready-to-send note to IT.
An optional LLM (OpenRouter's free model, or a model on your own machine) reads advisories that name no CVE, including Finnish ones, writes the intel card and the IT note. It never sets a tier, a claim is kept only if the source text contains it, and TLP:AMBER text goes only to a local model. The ladder is a fixed rule set and has not been validated against outcomes. Try it on examples/defender-export.example.csv; guide: MORNING-TRIAGE.md.
Stenwatch-Setup-0.2.0-beta.exe from the release page and run it. No admin rights; .NET is included.Your files live in %APPDATA%\Stenwatch and survive updates. To update, use Check for updates in the toolbar, or run the newer Setup over the old one.
The CTI cycle workspace is the intelligence lifecycle. Each step shows at the bottom what it still needs; the Next button turns green when it is done.
| Step | What you do | What Stenwatch does |
|---|---|---|
| 1 Direction | Import profile.yaml (who you are, who targets you) and your asset list | Picks the threat groups that matter to your sector and country, with the reason for each |
| 2 Collection | Sync the feeds, or only CVEs changed since a date (cancel any time) | Downloads NVD, CISA KEV, FIRST EPSS, MITRE ATT&CK and D3FEND, CTID mappings into a local database |
| 3 Processing | Optional: services, crown jewels, links, controls, mostly picked from lists | Matches every CVE to your assets; services raise impact, evidenced controls lower likelihood |
| 4 Analysis | Read the findings; record a decision (patched, mitigated, accepted) | Scores risk = likelihood × impact, and explains each finding with its evidence and confidence |
| 5 Dissemination | Open or export | Full intelligence report, findings report, management brief (HTML and PDF), dashboard, CSV, STIX 2.1, ATT&CK Navigator layer |
| 6 Feedback | Assign tasks, claim fixes | Turns priorities into tasks with deadlines; a fix counts only when a later run no longer finds the CVE |
The Intelligence workspace fills in after every rank: a knowledge-graph map (threat group → technique → CVE → your asset, with links to MITRE ATT&CK and NVD), possible attack paths to your crown jewels, and what has been shown to help.
likelihood = 0.4·EPSS + 0.3·in KEV + 0.1·ransomware + 0.2·used by a tracked threat group
impact = CVSS/10 · asset criticality (or supplier blast radius) · exposure
risk = likelihood · impact all weights live in profile.yaml
Either Stenwatch's own format (name,cpe,version,criticality,internet_facing, see examples/assets.example.csv) or an inventory export as it is: one row per host with columns such as hostname, vendor, product, version, os. Stenwatch looks each OS and product up in NVD's own product list, makes one asset per product and version, and lists the hosts it could not match. Add an os_build column (Intune, SCCM and Defender all export it) and patched CVEs drop out exactly; without one, patch_baseline in profile.yaml is an optional, clearly labelled assumption.
| Morning triage | Defender export → fix actions with tier, reason, cited sources, your marks and a daily diff |
| Graded, TLP-aware sources | National CERTs, CISA, Microsoft, Chrome and your own feeds, each with a grade and a TLP |
| Threat-informed | Ranks by what the groups that target your sector and country actually use, not by severity alone |
| Explainable | Every priority shows its evidence, the public source, how confident Stenwatch is, and the formula. The same inputs give the same ranking; an optional LLM only reads and writes text (brief, advisories, intel cards), never ranks |
| Business context | Services, crown jewels, links between assets and controls that count only while their evidence is dated and current |
| Attack paths and knowledge graph | Possible routes from the internet to your crown jewels; which group could use which CVE on which asset |
| Defend | Every finding lists MITRE D3FEND countermeasures and ATT&CK mitigations |
| Suppliers | Third-party CVEs weighted by data access and privileged access |
| Outputs for each audience | Full report, findings report, brief, dashboard, CSV, STIX 2.1 for MISP, OpenCTI or Sentinel, ATT&CK Navigator layer |
| Private by design | Runs on your machine; only public feeds are downloaded; secrets in Windows Credential Manager; outputs marked TLP:AMBER |
They do different jobs and work well together. Defender's agent knows exactly which software and patch level each enrolled device has. Stenwatch does not scan: it ranks what you run by what is being exploited, by whom, and how that matters to your business, shows its working for every decision, covers what has no agent (network devices, appliances, suppliers), and writes reports for each audience. Stenwatch can read Defender's device inventory (the defender section of profile.yaml), which removes the guesswork about patch levels, and Morning triage reads Defender's vulnerability export directly. Whether Stenwatch's ranking finds the exploited CVEs earlier than other methods has not been shown yet; see what has and has not been shown to help.
dotnet test src/Stenwatch.Tests # needs the .NET 8 SDK
dotnet run --project src/Stenwatch.App # the desktop app
dotnet run --project src/Stenwatch.Cli -- --example # command line, Example Organisation
dotnet run --project src/Stenwatch.Cli -- --convert-inventory # inventory export -> assets.csv
installer\build-cs.bat # tests, then the installer (needs Inno Setup 6)
The original Python edition (0.1) is retired. It is kept in git history under the tag python-edition-0.1.
Stenwatch/
src/ Stenwatch 0.2 desktop app (Core, App, Cli, Tests) -> src/README.md
examples/ the fictional Example Organisation -> examples/README.md
data/ YOUR files: profile, assets, cve.db, out/ -> data/README.md (git-ignored)
docs/ pillars, evaluation, ADRs, guides, live page -> docs/README.md
installer/ Windows installers and build scripts -> installer/README.md
tools/ diagram and metrics generators
cloud/ saas/ the hosted-demo experiment (hybrid SaaS, ADR 0001)
| Document | Read it to… |
|---|---|
| The 15 pillars | See what CTI-driven vulnerability management needs and where Stenwatch stands on each |
| Evaluation | Know what has and has not been shown to help |
| CUSTOMISE.md | Set Stenwatch up for your organisation, step by step |
| MORNING-TRIAGE.md | Use the Defender export, sources, grades, TLP and the LLM each morning |
| WALKTHROUGH.md (PDF) | Understand how every stage works and why |
| SECURITY.md | Report a vulnerability in Stenwatch |
Everything of yours (profile, asset and supplier lists, decisions, the database and every output) lives in your data folder and is git-ignored in this repository: it describes where your organisation is vulnerable. Only public feeds are downloaded; nothing about your estate is sent anywhere unless you enable a cloud LLM. Even then only public advisory text and product names go out: no machine counts, no sector or country, no TLP:AMBER or RED text (those go to a local model only, or nowhere), and pasted mail is redacted.
Stenwatch is created and maintained by Diljot Singh Johal. If you use it in research or in your organisation, please cite it (see CITATION.cff).
MIT © 2026 Diljot Singh Johal. Feed data belongs to its publishers: NIST NVD, CISA, FIRST, MITRE and the Center for Threat-Informed Defense. Check their terms before redistributing it.