{"id":28204137,"url":"https://github.com/terracota19/securemail-api","last_synced_at":"2025-06-14T04:30:46.928Z","repository":{"id":276847493,"uuid":"930508356","full_name":"terracota19/SecureMail-API","owner":"terracota19","description":"A REST API that leverages advanced machine learning techniques, including natural language processing (NLP) and data classification, to assess whether an email and its attachments contain phishing or other malicious content.","archived":false,"fork":false,"pushed_at":"2025-05-14T08:39:44.000Z","size":703,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-17T04:11:25.666Z","etag":null,"topics":["api","devsecops","email","machine-learning","malicious","phishing","python","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/terracota19.png","metadata":{"files":{"readme":"README.es.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-10T18:41:22.000Z","updated_at":"2025-05-08T21:45:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"be72ac0c-7991-44a5-94db-3a353a2f7fde","html_url":"https://github.com/terracota19/SecureMail-API","commit_stats":null,"previous_names":["terracota19/securemail-server","terracota19/securemail-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/terracota19/SecureMail-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terracota19%2FSecureMail-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terracota19%2FSecureMail-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terracota19%2FSecureMail-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terracota19%2FSecureMail-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/terracota19","download_url":"https://codeload.github.com/terracota19/SecureMail-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terracota19%2FSecureMail-API/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259759708,"owners_count":22907019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","devsecops","email","machine-learning","malicious","phishing","python","rest-api"],"created_at":"2025-05-17T04:12:07.750Z","updated_at":"2025-06-14T04:30:46.923Z","avatar_url":"https://github.com/terracota19.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![SecureMail](https://github.com/user-attachments/assets/24ecc351-7873-45a6-8c4c-4d56cd88d7d7)\n\n## Visión General del Proyecto\nSecureMail integra modelos avanzados de **ML** que incluyen **técnicas de PNL** y mejores prácticas de seguridad para detectar correos electrónicos de phishing de manera eficiente. Sigue un **ciclo de vida seguro de desarrollo de software (SDLC)**, implementando medidas de seguridad en todas las fases: **desarrollo, CI/CD y producción**.\n\n---\n\n## Tabla de Contenidos\n- [Idiomas Disponibles](#idiomas-disponibles)\n- [Visión General del Proyecto](#visión-general-del-proyecto)\n- [Fase de Desarrollo](#fase-de-desarrollo)\n- [Fase de CI/CD](#fase-de-cicd)\n- [Fase de Producción](#fase-de-producción)\n- [Diseño y Arquitectura](#diseño-y-arquitectura)\n- [Mejoras Futuras](#mejoras-futuras)\n- [Licencia](#licencia)\n\n---\n\n## Idiomas Disponibles\n- [Español](README.es.md)\n- [Português](README.pt.md)\n\n---\n\n## Fase de Desarrollo\n\n### Prácticas de Codificación Segura:\n- **Sanitización de Datos**:\n  - Las entradas externas (datos proporcionados por el usuario) son validadas utilizando **Pydantic**.\n  - Las entradas internas (respuestas de API de terceros) son revisadas para detectar anomalías.\n- **Gestión de Variables de Entorno**:\n  - Información sensible (por ejemplo, claves de API) gestionada usando **Python-dotenv**.\n- **Estrategias de Mitigación de Amenazas**:\n  - Implementación de las directrices de codificación segura recomendadas por OWASP.\n\n---\n\n## Fase de CI/CD\n\n### Herramientas de Seguridad y Pruebas:\n- **Pylint**: Aplica las mejores prácticas de calidad de código y seguridad.\n- **Pytest**: Asegura la precisión de las respuestas de la API mediante pruebas rigurosas.\n- **Snyk**: Realiza análisis de seguridad estática (SAST + SCA) para detectar vulnerabilidades.\n- **Docker Bench Security**: Evalúa las configuraciones de seguridad de los contenedores Docker.\n- **OWASP ZAP**: Realiza pruebas de seguridad de aplicaciones dinámicas (DAST).\n\n---\n\n## Fase de Producción\n\n### Seguridad y Monitoreo:\n- **Escaneo Continuo de Seguridad**:\n  - **Snyk** para detectar vulnerabilidades de dependencias en producción.\n  - **Docker Bench Security** para evaluaciones de seguridad en tiempo de ejecución de contenedores.\n  - **OWASP ZAP** para pruebas dinámicas.\n- **Plataforma de Despliegue**:\n  - Alojado en **Render (PaaS)** usando despliegue basado en Docker para mayor fiabilidad.\n\n\u003e [!IMPORTANTE]  \n\u003e Asegúrate siempre de monitorear de forma continua para detectar cualquier nueva vulnerabilidad a medida que surja en el entorno de producción.\n\n---\n\n## Diseño y Arquitectura\n\n### Arquitectura del Flujo de Datos:\nSecureMail sigue una **tubería estructurada de procesamiento de datos** para analizar los correos electrónicos. A continuación se muestra una visión general del flujo de datos:\n![dataflow](./images/dataflow.png)\n\n- **Firma de Código con Clave GPG**:\n  - Usa GnuPG para mejorar la seguridad de la firma de código dentro de los commits de Github.\n\n\u003e [!ADVERTENCIA]  \n\u003e Si no aseguras adecuadamente tu proceso de firma de código, corres el riesgo de introducir código malicioso en tu software, por ejemplo: SolarWinds.\n\n---\n\n## Mejoras Futuras\n\n- **Integración de Orquestación y Correlación de Seguridad de Aplicaciones (ASOC)**.\n- **Modelado Avanzado de Amenazas**:\n  - Usando **OWASP Threat Dragon** para un análisis estructurado de amenazas.\n\n---\n\n## Licencia\nDistribuido bajo la licencia **GPL-3.0**. Consulta el archivo [LICENSE](./LICENSE) para más detalles.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterracota19%2Fsecuremail-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterracota19%2Fsecuremail-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterracota19%2Fsecuremail-api/lists"}