feat: implement candidate security honeypots and redesign authenticated layout

This commit is contained in:
jeremy bayse
2026-05-08 11:13:29 +02:00
parent d076fd7d7a
commit 29c274b23b
18 changed files with 789 additions and 200 deletions

View File

@@ -1,7 +1,109 @@
{
"permissions": {
"allow": [
"Bash(npm run *)"
"Bash(npm run *)",
"Bash(npm --version)",
"Bash(npx --version)",
"Bash(npx --yes create-next-app@latest . --typescript --tailwind --app --src-dir --import-alias \"@/*\" --use-npm --eslint --no-turbopack --yes)",
"Bash(npm install *)",
"Bash(npx prisma *)",
"Bash(curl -s -o /dev/null -w '%{http_code}' http://localhost:3000__TRACKED_VAR__)",
"Bash(curl -s -X POST http://localhost:3000/api/readings -H \"Content-Type: application/json\" -d '{\"moment\":\"FASTING\",\"value\":1.05,\"notes\":\"Test smoke\"}')",
"Bash(curl -s \"http://localhost:3000/api/stats\")",
"Bash(curl -s -X DELETE http://localhost:3000/api/readings/91)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" http://localhost:3000/api/export)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" http://localhost:3000/profil)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" http://localhost:3000/api/patient)",
"Bash(curl -s -X PUT http://localhost:3000/api/patient -H \"Content-Type: application/json\" -d '{\"firstName\":\"Jeremy\",\"lastName\":\"Bayse\",\"email\":\"jeremy.bayse@gmail.com\",\"birthDate\":\"1985-06-15\",\"heightCm\":180,\"weightKg\":78.5}')",
"Bash(curl -s http://localhost:3000/api/patient)",
"Bash(taskkill //PID 40172 //F)",
"Bash(curl -s -o /dev/null -w \"GET /profil %{http_code}\\\\n\" http://localhost:3000/profil)",
"Bash(curl -s -o /dev/null -w \"GET /api/patient %{http_code}\\\\n\" http://localhost:3000/api/patient)",
"Bash(curl -s http://localhost:3000/)",
"Bash(curl -s -X PUT http://localhost:3000/api/patient -H \"Content-Type: application/json\" -d '{\"firstName\":\"Jeremy\",\"lastName\":\"Bayse\",\"email\":\"jeremy.bayse@gmail.com\",\"birthDate\":\"1985-06-15\",\"heightCm\":180,\"weightKg\":78.5,\"sex\":\"M\",\"diabetesType\":\"TYPE_2\",\"treatment\":\"Metformine 1000 mg matin et soir\"}')",
"Bash(curl -s -X PUT http://localhost:3000/api/patient -H \"Content-Type: application/json\" -d '{\"firstName\":\"Jeremy\",\"lastName\":\"Bayse\",\"sex\":\"INVALID\"}')",
"Bash(curl -s http://localhost:3000/profil)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\\\\n\" http://localhost:3001/profil)",
"Bash(curl -s -X PUT http://localhost:3001/api/patient -H \"Content-Type: application/json\" -d '{\"firstName\":\"Jeremy\",\"lastName\":\"Bayse\",\"email\":\"jeremy.bayse@gmail.com\",\"birthDate\":\"1985-06-15\",\"heightCm\":180,\"weightKg\":78.5,\"sex\":\"M\",\"diabetesType\":\"TYPE_2\",\"treatment\":\"Metformine 1000 mg matin et soir\"}')",
"Bash(curl -s http://localhost:3001/api/patient)",
"Bash(curl -s http://localhost:3001/)",
"Bash(grep -oE \"Diab.{1,30}\")",
"Bash(taskkill //PID 37932 //F)",
"Bash(curl -s -X POST http://localhost:3001/api/chat -H \"Content-Type: application/json\" -d '{\"message\":\"Bonjour, comment se passe mon suivi cette semaine ?\",\"history\":[]}' --max-time 30)",
"Bash(curl -s \"https://generativelanguage.googleapis.com/v1beta/models?key=AIzaSyD7ltywmUmEooMOBiMkfyhQygCEU06LbR4\")",
"Bash(curl -s -X POST \"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=AIzaSyD7ltywmUmEooMOBiMkfyhQygCEU06LbR4\" -H \"Content-Type: application/json\" -d '{\"contents\":[{\"parts\":[{\"text\":\"Dis bonjour en une phrase.\"}]}]}')",
"Bash(curl -s -X POST \"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=AIzaSyD7ltywmUmEooMOBiMkfyhQygCEU06LbR4\" -H \"Content-Type: application/json\" -d '{\"contents\":[{\"parts\":[{\"text\":\"Dis bonjour en une phrase.\"}]}]}')",
"Bash(curl -s -X POST http://localhost:3001/api/chat -H \"Content-Type: application/json\" -d '{\"message\":\"Comment se passe mon suivi cette semaine ?\",\"history\":[]}' --max-time 30)",
"Bash(curl -s http://localhost:3001/api/daily-analysis --max-time 30)",
"Bash(taskkill //PID 42196 //F)",
"Bash(curl -s http://localhost:3001/api/daily-analysis --max-time 35)",
"Bash(curl -s http://localhost:3001/api/daily-analysis --max-time 10)",
"Bash(python -c \"import sys,json; d=json.load\\(sys.stdin\\); print\\('fresh:', d.get\\('fresh'\\), '| generatedAt:', d.get\\('generatedAt'\\)\\)\")",
"Bash(taskkill //PID 33804 //F)",
"Bash(curl -s http://localhost:3000/mobile)",
"Bash(curl -s http://localhost:3001/mobile)",
"Bash(npx tsc *)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3000/)",
"Bash(curl -s http://localhost:3001/dashboard)",
"Bash(curl -sv http://localhost:3001/dashboard)",
"Bash(python3 -c \"import sys; data=sys.stdin.read\\(\\); print\\(data[data.find\\('Error'\\):data.find\\('Error'\\)+500] if 'Error' in data else data[:500]\\)\")",
"Bash(node -e \"console.log\\(require\\('./node_modules/next/package.json'\\).version\\)\")",
"Bash(rm -rf .next)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3001/)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3001/dashboard)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3002/)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3002/dashboard)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3002/auth/login)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3002/pricing)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3002/auth/register)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3002/auth/verify-pending)",
"Bash(taskkill //F //IM node.exe)",
"Bash(curl -s -X POST http://localhost:3000/api/auth/register -H 'Content-Type: application/json' -d '{\"name\":\"Test User\",\"email\":\"test@test.com\",\"password\":\"password123\"}')",
"Bash(curl -s -X POST http://localhost:3000/api/auth/register -H 'Content-Type: application/json' -d '{\"name\":\"Jean Dupont\",\"email\":\"jean__CMDSUB_OUTPUT__@example.com\",\"password\":\"motdepasse123\"}')",
"mcp__Claude_in_Chrome__tabs_context_mcp",
"mcp__Claude_in_Chrome__browser_batch",
"mcp__Claude_in_Chrome__switch_browser",
"mcp__Claude_in_Chrome__list_connected_browsers",
"mcp__Claude_in_Chrome__select_browser",
"Bash(taskkill /F /IM node.exe)",
"PowerShell(Stop-Process -Name node -Force -ErrorAction SilentlyContinue)",
"Bash(curl -s http://localhost:3000/pricing)",
"Bash(cat)",
"Bash(chmod +x test-stripe.sh)",
"Bash(./test-stripe.sh)",
"Bash(curl -s http://localhost:3000/pricing -X POST -H \"Content-Type: application/json\")",
"Bash(pkill -9 node)",
"mcp__Claude_in_Chrome__navigate",
"mcp__Claude_in_Chrome__computer",
"mcp__Claude_in_Chrome__form_input",
"Bash(sqlite3 prisma/dev.db \"SELECT id, email, plan FROM User LIMIT 5;\")",
"Bash(node -e ' *)",
"Bash(npm exec *)",
"Bash(node test-cancel-subscription.mjs)",
"Bash(pkill -f \"next dev\")",
"mcp__Claude_in_Chrome__find",
"Bash(curl -s http://localhost:3000)",
"Bash(node add_readings.js)",
"mcp__Claude_in_Chrome__read_network_requests",
"mcp__Claude_in_Chrome__read_console_messages",
"Bash(taskkill /PID 54104 /F)",
"Bash(file ~/Downloads/rapport_glycemie*.pdf)",
"Bash(pdftotext ~/Downloads/rapport_glycemie_2026-04*.pdf -)",
"Bash(node /tmp/check_pdf.js)",
"Bash(tasklist)",
"Bash(curl -s http://localhost:3000/dashboard/rapports -c /tmp/cookies.txt)",
"Bash(curl -s \"http://localhost:3000/api/reports/generate-pdf?month=2026-04-01\" -H \"Cookie: $\\(curl -s http://localhost:3000/dashboard/rapports -c /tmp/cookies.txt)",
"Bash(grep -o '[^ ]*$')",
"Bash(chmod +x /tmp/deploy-setup.sh)",
"Bash(git remote *)",
"Bash(git add *)",
"Bash(git commit -m ' *)",
"Bash(git push *)",
"Bash(tar -czf diabetix-build.tar.gz .next/ node_modules/ package.json package-lock.json public/ prisma/ src/ .env.production next.config.js tsconfig.json)",
"Bash(rm diabetix-build.tar.gz)",
"Bash(tar -czf diabetix-build.tar.gz .next/ node_modules/ package.json package-lock.json public/ prisma/schema.prisma prisma/migrations/ src/ next.config.ts tsconfig.json)",
"Bash(scp diabetix-build.tar.gz root@192.168.20.28:/tmp/)",
"Bash(sshpass -p \"Lucas1978!\" scp -o StrictHostKeyChecking=no diabetix-build.tar.gz root@192.168.20.28:/tmp/)"
]
}
}