Threat Evaluation Improvements: Simplify conditions and first step toward detecting mitigations
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
Línea de trabajo
Empieza leyendo la discusión del issue y el manejo existente de threatlib y Element al que se hace referencia en la propuesta. Confirma con los maintainers el comportamiento previsto de target_condition y ThreatResult; se considera terminado cuando existe una implementación acordada que distingue entre amenazas inválidas, no aplicables, mitigadas y válidas, y expone los resultados solicitados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When using pytm to find threats I found most threats do not apply which would require me to re-write conditions to detect applicable components. Instead to address this I added a new condition to the threatlib called 'target_condition" to detect if the target is relevant for the Threat. For example using INP01 : Buffer Overflow via Environment Variables I have a target_condition of 'target.usesEnvironmentVariables' with the 'condition' of target.sanitizesInput is False and target.checksInputBounds is False another example would be applying SQLi to a Server or Process only if one of the outbound data flows as a sink of Database and isSQL = True.
This is basically what I was getting after with #14 although i described it differently.
To be able to see this in report and ensure the target conditions are valid I have taken a step towards detecting mitigations. When applying a threat I have created a ThreatResult class for invalid target, not applicable threats (target_condition = False), mitigated (target_condition == True and condition == False) and Valid. Added lists of Threats for na, mitigated threats in Element.
Things are mostly functional locally but still playing with a few things. I would like to get anyones thoughts as I continue with this.
- Lenguaje dominante
- Python
- Estrellas
- 1.2k
- Forks
- 237
- Merge medio
- 4 d 2 h
- PR fusionados (30 d)
- 9
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un 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 OWASP/pytm
-
Dataflow defaults overwrite values the model set explicitlyPosiblemente ocupada @markthomaschurch la tomó hace 1 día. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
Los mantenedores suelen responder en 3 días
-
Calling TM.dfd() a second time returns an empty diagramQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
Los mantenedores suelen responder en 3 días
-
Datastore icon is missing from SVG diagrams (absolute PNG path)Posiblemente ocupada @markthomaschurch la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 20/100
Los mantenedores suelen responder en 3 días
-
Long boundary names render a literal "\n" in the DFDQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
Los mantenedores suelen responder en 3 días
-
`TM.check()` overwrites explicit Dataflow `protocol`, `dstPort` and `controls.isEncrypted` with sink defaults (regression in 1.4.0)Posiblemente ocupada @Svastikkka la tomó hace 14 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
OWASP/pytm#373 · 1 comentario ·
Los mantenedores suelen responder en 3 días
Todos los issues de OWASP/pytm
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
btclib-org/btclib-wallet#872 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Scheduled returns scan all accepted minion keys causing extreme loadPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
saltstack/salt#70789 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
btclib-org/btclib#3093 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
patrickballard/wheelgap#269 ·
-
priority: low python
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
LearningCircuit/local-deep-research#8635 ·
Los mantenedores suelen responder en 1 día