# Semgrep

##### Descripción

[Semgrep](https://semgrep.dev/) es un escáner de análisis estático que detecta vulnerabilidades, errores de seguridad, problemas de estilo, etc., mediante reglas personalizables.

##### Uso local

```
# Escaneo básico
semgrep scan --config=p/ci .

# Escaneo con reglas personalizadas
semgrep scan --config=rules/mi_regla.yml .
```

##### Reportes

- [JSON,](https://semgrep.dev/docs/getting-started/cli-oss#sarif:~:text=results%20to%20a-,JSON%20file,-%3A) [JUnit](https://semgrep.dev/docs/cli-reference#:~:text=post%20to%20URL.-,%2D%2Djunit%2Dxml,-Output%20results%20in), [SARIF](https://semgrep.dev/docs/getting-started/cli-oss#sarif:~:text=results%20to%20a-,SARIF%20file%3A,-semgrep%20scan%20%2D%2Dsarif).
- Integración con [GitHub Security tab](https://github.com/j3ssie/sample-semgrep-ci#:~:text=findings%20in%20the-,GitHub%20Security%20tab,-.).

##### Integración en CI/CD

- [Semgrep Action](https://github.com/actions-marketplace-validations/returntocorp_semgrep-action) ejecuta Semgrep en entornos de CI. También puede conectarse a la aplicación Semgrep para configurar reglas y revisar hallazgos en una interfaz web.

```
- uses: returntocorp/semgrep-action@v1
```

##### Integraciones

- [GitHub](https://semgrep.dev/docs/kb/semgrep-ci/github-repository-rulesets-semgrep#:~:text=Use%20GitHub%20repository%20rulesets%20to%20quickly%20implement%20Semgrep%20scans%20across,feature%20was%20called%20required%20workflows.), [Jira](https://semgrep.dev/docs/semgrep-appsec-platform/jira#:~:text=Semgrep%20provides%20an%20API%20endpoint,to%20the%20Jira%20API%20documentation.) (con integración pagada o scripts).
- [Slack](https://semgrep.dev/docs/semgrep-appsec-platform/slack-notifications#:~:text=The%20Semgrep%20Slack%20app%20enables,see%20findings%20without%20switching%20environments.), Teams, Plane.
- VSCode: [extensión oficial](https://semgrep.dev/docs/extensions/semgrep-vs-code#:~:text=Semgrep's%20Visual%20Studio%20Code%20(VS,whenever%20you%20open%20a%20file) para ejecutar reglas locales.

##### UI

- Dashboard web gratuito (requiere cuenta).

##### Licencia

- Versión gratuita OSS.
- Versión empresarial con dashboard avanzado.

##### Facilidad de uso

- Fácil. Reglas YAML simples de entender.

##### Cumplimiento con estándares:

- **OWASP:** Las reglas pueden alinearse al OWASP Top 10, detectando problemas de seguridad en el código fuente.
- **NIST:** Compatible con el marco NIST CSF y NIST 800-53, específicamente en prácticas de desarrollo seguro (SA-11).
- **ISO/IEC 27001:** Apoya controles como A.14.2.5 (control del desarrollo de software) y A.14.2.8 (pruebas técnicas).
- **SOC 2 / PCI DSS:** Puede integrarse en pipelines para cumplimiento de requisitos de seguridad de código seguro.