Restructure solution layout by module
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# AGENTS
|
||||
## Role
|
||||
ANSSI CERT-FR advisories connector (avis/alertes) providing national enrichment: advisory metadata, CVE links, mitigation notes, and references.
|
||||
## Scope
|
||||
- Harvest CERT-FR items via RSS and/or list pages; follow item pages for detail; window by publish/update date.
|
||||
- Validate HTML or JSON payloads; extract structured fields; map to canonical aliases, references, severity text.
|
||||
- Maintain watermarks and de-duplication by content hash; idempotent processing.
|
||||
## Participants
|
||||
- Source.Common (HTTP, HTML parsing helpers, validators).
|
||||
- Storage.Mongo (document, dto, advisory, reference, source_state).
|
||||
- Models (canonical).
|
||||
- Core/WebService (jobs: source:certfr:fetch|parse|map).
|
||||
- Merge engine (later) to enrich only.
|
||||
## Interfaces & contracts
|
||||
- Treat CERT-FR as enrichment; never override distro or PSIRT version ranges absent concrete evidence.
|
||||
- References must include primary bulletin URL and vendor links; tag kind=bulletin/vendor/mitigation appropriately.
|
||||
- Provenance records cite "cert-fr" with method=parser and source URL.
|
||||
## In/Out of scope
|
||||
In: advisory metadata extraction, references, severity text, watermarking.
|
||||
Out: OVAL or package-level authority.
|
||||
## Observability & security expectations
|
||||
- Metrics: SourceDiagnostics emits shared `concelier.source.http.*` counters/histograms tagged `concelier.source=certfr`, covering fetch counts, parse failures, and map activity.
|
||||
- Logs: feed URL(s), item ids/urls, extraction durations; no PII; allowlist hostnames.
|
||||
## Tests
|
||||
- Author and review coverage in `../StellaOps.Concelier.Connector.CertFr.Tests`.
|
||||
- Shared fixtures (e.g., `MongoIntegrationFixture`, `ConnectorTestHarness`) live in `../StellaOps.Concelier.Testing`.
|
||||
- Keep fixtures deterministic; match new cases to real-world advisories or regression scenarios.
|
||||
Reference in New Issue
Block a user