owasp zap config #8

Merged
pm merged 1 commits from teste-bloqueio into main 2026-06-12 23:36:57 +00:00
3 changed files with 27 additions and 12 deletions
Showing only changes of commit 745c8b4e71 - Show all commits
+11 -12
View File
@@ -59,31 +59,30 @@ jobs:
- name: 5. Dynamic Security Scan (OWASP ZAP) - name: 5. Dynamic Security Scan (OWASP ZAP)
if: github.event_name == 'push' if: github.event_name == 'push'
run: | run: |
echo ">>> Creating isolated network for DAST..."
docker network create zap-net
echo ">>> Provisioning ephemeral sandbox environment..." echo ">>> Provisioning ephemeral sandbox environment..."
docker rm -f apex-sandbox || true docker run -d --name apex-sandbox --network zap-net apex-solutions:latest
docker run -d --name apex-sandbox apex-solutions:latest sleep 10 # Aumentei para 10s para garantir que o Node arranca bem
sleep 5
echo ">>> Initiating OWASP ZAP Baseline Scan..." echo ">>> Initiating OWASP ZAP Baseline Scan..."
mkdir -p qatests mkdir -p qatests
docker rm -f zap-scanner || true
docker volume rm zap-reports || true
docker volume create zap-reports
# O ZAP precisa de aceder ao contentor pela rede criada
docker run --user root --name zap-scanner \ docker run --user root --name zap-scanner \
--link apex-sandbox:apex-sandbox \ --network zap-net \
-v zap-reports:/zap/wrk/:rw \ -v zap-reports:/zap/wrk/:rw \
-t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \ -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \
-t http://apex-sandbox:3000 \ -t http://apex-sandbox:3000 \
-r report.html \ -r report.html \
-I -I -c zap-baseline.conf
docker cp zap-scanner:/zap/wrk/report.html qatests/report.html || true docker cp zap-scanner:/zap/wrk/report.html qatests/report.html || true
echo ">>> Decommissioning ephemeral sandbox..." echo ">>> Decommissioning ephemeral sandbox and network..."
docker rm -f zap-scanner || true docker rm -f zap-scanner apex-sandbox || true
docker volume rm zap-reports || true docker network rm zap-net || true
docker rm -f apex-sandbox || true
- name: 6. Production Deployment & Local Reports - name: 6. Production Deployment & Local Reports
if: github.event_name == 'push' if: github.event_name == 'push'
+14
View File
@@ -23,6 +23,20 @@ app.get('/about', (req, res) => res.sendFile(path.join(__dirname, '../frontend/a
app.get('/careers', (req, res) => res.sendFile(path.join(__dirname, '../frontend/careers.html'))); app.get('/careers', (req, res) => res.sendFile(path.join(__dirname, '../frontend/careers.html')));
app.get('/contact', (req, res) => res.sendFile(path.join(__dirname, '../frontend/contact.html'))); app.get('/contact', (req, res) => res.sendFile(path.join(__dirname, '../frontend/contact.html')));
// Rota de Pesquisa Vulnerável a Reflected XSS (Armadilha para o OWASP ZAP)
app.get('/api/search', (req, res) => {
const termoPesquisa = req.query.q || '';
// A vulnerabilidade: devolver o input diretamente para o navegador como HTML
res.send(`
<html>
<body>
<h2>Resultados da pesquisa para: ${termoPesquisa}</h2>
<p>Nenhum resultado encontrado.</p>
</body>
</html>
`);
});
// Configuração do transporte de E-mail // Configuração do transporte de E-mail
let transporter; let transporter;
+2
View File
@@ -0,0 +1,2 @@
# Bloqueia a pipeline se encontrar algo grave
FAIL_ON_SEVERITY: HIGH