I'm ~regularly doing lightweight security audits of the services I'm running
exposed on the internet. One of them is calibre-web.
After 2h and 17 security-related
pull-requests
later, I gave up and decided to write a replacement:
swic. It only has 3 user-facing
features: showing the ebooks as a list, a searchsbar, and allowing the user to
download the ebooks. I don't need anything else. UI-wise, it looks like this:
It's written in go, meaning that it's both trivial to deploy and to audit. It
has a single direct dependency
(modernc.org/sqlite) to read calibre's database.
It doesn't handle users, doesn't need to have write-access to anything, doesn't
process untrusted data besides user-provided urls, makes use of Go's
os.root to prevent path traversals. The
interface is fully responsive and doesn't use any javascript.
The code isn't the prettiest, but the whole thing was written in an evening.
You should replace calibre-web with it before somebody drops an RCE :p
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Trivial anti-crawler with Caddy | 0 | 8.42 | 23-06-2026 |
| 2 | Carrot disclosure: Forgejo | 0 | 9.35 | 28-04-2026 |
| 3 | The AI-authored Denial-of-Service attack | 0 | 8.9 | 07-07-2026 |
| 4 | Follow-up to Carrot disclosure: Forgejo | 0 | 7.3 | 30-04-2026 |
| 5 | Werkzeug - 3.1.5 | 0 | 24.29 | 08-01-2026 |
| 6 | Werkzeug - 3.1.7 | 0 | 24.29 | 24-03-2026 |
| 7 | Multicalc 0.6.0: a no_std multivariable calculus library now looking for contributors | 5 | 7 | 28-06-2026 |
| 8 | v-ase-gui 0.0.52 | 0 | 5 | 20-07-2026 |
| 9 | net/go-pkgsite - 0.4.0 | 0 | 35.1 | 15-08-2026 |