You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Security scanner for **Home Assistant custom components**. Analyzes HACS integrations and Lovelace cards for potential vulnerabilities using multi-layer static analysis and AI-powered code review.
9
9
10
-
## What's New (v0.9–0.12)
10
+
## What's New (v0.9–0.13)
11
11
12
+
-**v0.13** — AI review rewrite: qwen2.5-coder model, single-step prompt, 95% confidence, PDF export, zero duplicate findings
12
13
-**v0.12** — Actionable findings: every description says what to do, not just what was found
13
14
-**v0.11** — Full dependency scanning: npm, pip, pyproject.toml + 55 known malicious packages + OSV.dev batch CVE
@@ -35,11 +36,15 @@ HACS components run with full access to your Home Assistant instance — they ca
35
36
36
37
### AI Review
37
38
38
-
LLM-powered security audit with structured scoring rubric (0-10 scale), per-finding confidence levels, and few-shot examples. Supports:
39
+
LLM-powered security audit with structured scoring rubric (0-10 scale), per-finding confidence levels, and few-shot examples. The AI only reports issues the static analyzer missed — no duplicate noise. Supports:
39
40
40
-
-**Ollama** (local) — privacy-first, no data leaves your network
41
+
-**Ollama** (local) — privacy-first, no data leaves your network (default: `qwen2.5-coder:14b`)
41
42
-**OpenRouter / OpenAI** (public) — for users without local GPU
42
43
44
+
### PDF Export
45
+
46
+
Download scan reports as PDF with severity-colored findings, score summary, and AI analysis.
47
+
43
48
### Dependency Scanning
44
49
45
50
Full dependency analysis across all package ecosystems:
@@ -101,7 +106,7 @@ Open `http://localhost:8099` in your browser.
101
106
|--------|---------|-------------|
102
107
|`ai_provider`|`ollama`| AI backend: `ollama` or `public`|
103
108
|`ollama_url`|`http://homeassistant:11434`| Ollama API endpoint |
104
-
|`ollama_model`|`gemma3:12b`| Model for code review |
109
+
|`ollama_model`|`qwen2.5-coder:14b`| Model for code review |
105
110
|`public_provider`|`openrouter`| Public API: `openrouter` or `openai`|
106
111
|`public_api_key`| — | API key for public provider |
Copy file name to clipboardExpand all lines: ha-sandbox/CHANGELOG.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,16 @@
1
1
# Changelog
2
2
3
-
## [0.12.3] - 2026-03-10
3
+
## [0.13.0] - 2026-03-10
4
4
5
5
### Added
6
6
-**PDF export** — `/api/report/{id}/pdf` endpoint + PDF button in UI; uses fpdf2 with DejaVu Unicode font (Alpine) and Helvetica fallback
7
7
8
+
### Changed
9
+
-**AI model** — default switched from gemma3:12b to qwen2.5-coder:14b (4/4 category coverage, 0/10 on malicious code vs 2/10, 9/10 on safe code vs 5/10)
10
+
-**AI prompt rewrite** — single-step Ollama call (was 2-step losing context), system prompt now used for Ollama (was missing), explicit "do not repeat static findings" instruction
11
+
-**AI deduplication** — AI findings that duplicate static findings (same category+file) are filtered before report; eliminates duplicate noise
12
+
-**AI confidence** — improved from 50% to 95% on benchmark test case
13
+
8
14
### Fixed
9
15
-**Findings display bug** — HTML in `code` field (e.g. `innerHTML = '<div...'`) was parsed as real DOM elements, hiding subsequent findings; all report fields now HTML-escaped before rendering
10
16
-**XSS hardening** — `ai_summary`, `description`, `code`, `file`, `category` escaped via `esc()` helper; `onclick` handlers use `JSON.stringify()` instead of manual backtick escaping
0 commit comments