Meldingen: nieuw bereikbaar of bekend als misbruikt
Een nieuwe bevinding met ernst high of critical stuurt al de beveiligingsmelding. Deze melding gaat over de bevindingen die je al hebt: ze laat je weten wanneer een ervan zo verandert dat ze vandaag hoger in de wachtrij hoort.
Wat de melding activeert
Openstaande bevindingen in afhankelijkheden op de standaardbranch van een repository. Bevindingen in pull requests komen en gaan met elke pull request en geven nooit een melding.
| Overgang | Wanneer |
|---|---|
| Werd bereikbaar | Het bereikbaarheidsoordeel van de bevinding was onbekend of niet bereikbaar (unreachable), en een latere analyse vond haar bereikbaar: bijvoorbeeld een Go-module waarvan het oordeel onbekend was totdat een image dat uit de commit was gebouwd, werd gelezen. Een bevinding die bereikbaar is op het moment dat ze voor het eerst wordt gezien, is een nieuwe bevinding. Die valt onder de beveiligingsmelding en geeft hier dus geen melding. |
| Werd bekend als misbruikt | Een van de CVE-id’s van de bevinding (haar eigen id, of een CVE-alias van haar advisory) is sinds fremforge voor het laatst keek als in het wild misbruikt opgenomen in de EU Vulnerability Database van ENISA of in de Known Exploited Vulnerabilities-catalogus van CISA, of een nieuwe bevinding stond er al in. Bekend misbruikt geeft een melding, wat de ernst ook is. |
Bevindingen in containerimages geven hier geen melding. Hun oordelen en badges voor bekend misbruikt staan in de console, in de findings-API en in de SIEM-gebeurtenissen voor bevindingen.
fremforge controleert elk uur. De eerste controle voor een organisatie legt vast wat al bereikbaar is en wat al in de lijsten staat, en stuurt niets. Als je dit aanzet, krijg je je achterstand dus nooit gemaild.
Wie de melding ontvangt
De beveiligingscontactpersonen van de organisatie: elk huidig lid bij wie de eigen meldingsinstelling Beveiligingsmeldingen aanstaat, dezelfde mensen die de beveiligingsmelding ontvangen. Iedereen kan het voor zichzelf uitzetten in de eigen meldingsinstellingen. Wie de organisatie heeft verlaten, ontvangt niets. Botaccounts ontvangen nooit mail.
Direct, of in het dagelijkse meldingsoverzicht. Een overgang naar bekend misbruikt, en een bevinding met ernst HIGH of CRITICAL die bereikbaar werd, worden direct gemaild. Een bevinding met ernst MEDIUM of LOW die bereikbaar werd, komt in het dagelijkse meldingsoverzicht van de ontvanger, dat standaard aanstaat; wie het overzicht heeft uitgezet, krijgt haar zoals voorheen direct. De auditgebeurtenis wordt in beide gevallen direct geschreven (zie SIEM).
- Eigenaren krijgen de lijst: repository, package, versie, advisory, ernst en wat er veranderde, met links naar de bevindingen.
- Leden krijgen alleen de aantallen, omdat de beveiligingsconsole alleen voor eigenaren is.
De mail is in de taal van de ontvanger (Engels, Deens, Duits, Frans, Nederlands, Noors of Zweeds).
Eén keer per bevinding, en hooguit elk uur
- Eén melding per bevinding per overgang, voor altijd. Een bevinding die bereikbaar wordt, geeft één keer een melding. Gaat haar oordeel terug naar niet bereikbaar en daarna weer naar bereikbaar, dan geeft ze geen nieuwe melding. Hetzelfde geldt voor bekend misbruikt. Dit geldt per persoon over beide e-mails heen: een overgang die in je dagelijkse meldingsoverzicht staat, wordt niet nog eens gemaild, en een die al direct is gemaild, staat niet in een later overzicht, hoe je het overzicht ook instelt. Zet je het overzicht uit, dan worden nieuwe items vanaf dat moment direct verstuurd; items die al voor het overzicht waren apart gezet, worden niet opnieuw verstuurd, al blijven ze in de console en in de auditlog staan.
- Eén mail per batch. Alle overgangen die in één controle worden gevonden, gaan in één mail, eerst bekend misbruikt, daarna op ernst. Een mail somt er tot 20 op en zegt hoeveel er nog meer zijn.
- Limiet per organisatie. Hooguit één meldingsmail per uur, en hooguit vier in 24 uur. Een overgang die daartussen wordt gevonden, wacht en gaat mee in de volgende mail. Een die 7 dagen heeft gewacht, wordt niet meer gemaild; de wekelijkse digest telt haar nog wel mee.
SIEM
Elke overgang wordt ook naar de auditlog geschreven en bereikt zo, net als elke auditgebeurtenis, je SIEM-endpoints:
| Actie | Velden |
|---|---|
code-security.finding.became_reachable | alert_id, finding_key, repo, ecosystem, package, version, vulnerability_id, severity, reason (unknown of unreachable: het oordeel daarvoor) |
code-security.finding.became_known_exploited | hetzelfde, reason (listed of new), cve_ids, sources (euvd, cisa_kev) |
finding_key is de identiteit die de SIEM-gebeurtenissen voor bevindingen gebruiken: dep:<repo>:<advisory>:<ecosystem>:<package>@<version>. Auditgebeurtenissen worden niet gelimiteerd, en ze worden voor elke overgang geschreven zodra die wordt gedetecteerd, ongeacht ieders e-mailinstelling en ongeacht of de organisatie de meldingsmail heeft uitgezet.
Uitzetten
De melding staat standaard aan. Een eigenaar zet haar voor de hele organisatie uit, of weer aan, onder Beveiliging › Rapporten › Meldingen, waar ook staat hoeveel bevindingen in de laatste 7 dagen bereikbaar of bekend als misbruikt werden, of via het item Meldingen: nieuw bereikbaar of bekend als misbruikt in de instelchecklist onder Beveiliging › Overzicht. De wijziging wordt geaudit als code-security.transition_alerts.updated, met de vorige en de nieuwe waarde.
Zolang de melding uitstaat, worden overgangen nog steeds vastgelegd, zodat de wekelijkse digest ze nog meetelt, en wordt elke overgang nog steeds naar de auditlog geschreven (en bereikt ze zo je SIEM), maar wordt er niets gemaild, niet direct en niet in een dagelijks meldingsoverzicht. Zet je haar weer aan, dan wordt niet verstuurd wat er gebeurde terwijl ze uitstond.
API
GET /_app/api/v1/orgs/{org}/security/transition-alerts (policy:read) geeft de instelling terug en de overgangen die sinds since zijn gedetecteerd en waarvan de bevinding nog openstaat, de belangrijkste eerst, hooguit 50 van elke soort. since is een ISO 8601-datum of -datum-tijd, hooguit 90 dagen geleden; de standaard is 7 dagen geleden.
curl -sS -H "Authorization: Bearer $TOKEN" \
"https://frem.sh/_app/api/v1/orgs/acme/security/transition-alerts?since=2026-10-01"{
"enabled": true,
"since": "2026-10-01T00:00:00.000Z",
"became_reachable": { "count": 1, "items": [{ "transition": "reachable", "repo": "acme/web", "package": "lodash", "version": "4.17.20", "vulnerability_id": "GHSA-35jh-r3h4-6jhm", "severity": "high", "reason": "…", "sources": [] }] },
"became_known_exploited": { "count": 0, "items": [] }
}PUT met {"enabled": false} (policy:write) zet haar uit, en wordt net als de schakelaar in de console geaudit, met via: api.
Zie ook
- Bereikbaarheid: de oordelen.
- Beveiligingsfixes: fixes voor bekend misbruikte kwetsbaarheden worden als eerste geopend.
- Wekelijkse digest: de bevindingen die in de week nieuw bereikbaar of nieuw bekend als misbruikt werden.