feat: flag internet-facing load balancers with no WAF
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 58/100
Línea de trabajo
Read docs/recipes/README.md and docs/recipes/add-a-finding.md, then inspect src/app/findings.rs and src/models/elb.rs. Follow the a_failed_tag_lookup_is_not_reported_as_unowned pattern and check how WAF fetch status and associated resources are represented. Done means the predicate and rule tests cover the four cases, the roadmap and minor changeset are updated, and the requested Rust checks pass; this issue is blocked by #127.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Why
Every public Fells endpoint goes through one ALB. If its WAF association is ever dropped, the geo allow-list and rate limit silently stop applying.
Follow docs/recipes/add-a-finding.md.
Steps
- Add the web ACLs to
FindingContext. - Rule
load_balancer_without_waf(Hygiene, High): an application load balancer with schemeinternet-facingwhose ARN is not in any ACL's associated resources. - Only judge when the WAF fetch succeeded. If the WAF status is not OK, the rule must report nothing (see
a_failed_tag_lookup_is_not_reported_as_unownedfor the pattern). - Tests: covered ALB is quiet, uncovered ALB fires, internal ALB is quiet, failed WAF fetch is quiet.
Where to look
src/app/findings.rssrc/models/elb.rs
Done when
- Predicate on the model with unit tests (one firing case, one quiet case)
- Rule added to
FINDING_RULESwith tests insrc/app/findings.rs -
docs/findings-roadmap.mdlists the rule under Current Findings - Changeset added (
minor) -
cargo fmt --all,cargo clippy --all-targets -- -D warnings, andcargo test --allpass, with output pasted in the PR
Check against AWS
Optional. Unit tests are enough for this issue.
Blocked by
#127. Start this after that is merged.
Size: S. Read docs/recipes/README.md before starting.
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 0
- Merge medio
- 4 h 8 min
- PR fusionados (30 d)
- 8
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fells-code/seamless-glance
-
size: XS
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fells-code/seamless-glance#166 ·
Los mantenedores suelen responder en 1 día
-
size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
fells-code/seamless-glance#165 ·
Los mantenedores suelen responder en 1 día
-
size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fells-code/seamless-glance#164 ·
Los mantenedores suelen responder en 1 día
-
size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
fells-code/seamless-glance#162 ·
Los mantenedores suelen responder en 1 día
-
size: XS
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fells-code/seamless-glance#158 ·
Los mantenedores suelen responder en 1 día
Todos los issues de fells-code/seamless-glance
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
n0-computer/iroh#4669 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
rubys/roundhouse#1950 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
cloudflare/workers-rs#1130 ·
Los mantenedores suelen responder en 11 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
vfarcic/dot-agent-deck#2160 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
RustCrypto/utils#1597 ·
Los mantenedores suelen responder en 1 día