chore: sécurité/CI/docs
Some checks failed
CI - 4NK_node / Code Quality (push) Failing after 38s
CI - 4NK_node / Unit Tests (push) Failing after 36s
CI - 4NK_node / Integration Tests (push) Successful in 32s
CI - 4NK_node / Security Tests (push) Failing after 33s
CI - 4NK_node / Docker Build & Test (push) Failing after 16s
CI - 4NK_node / Documentation Tests (push) Successful in 11s
CI - 4NK_node / Security Audit (push) Successful in 9s
CI - 4NK_node / Release Guard (push) Has been skipped
CI - 4NK_node / Performance Tests (push) Successful in 35s
CI - 4NK_node / Notify (push) Failing after 2s

This commit is contained in:
Nicolas Cantu 2025-08-27 13:48:32 +02:00
parent 42564cf558
commit 2e65e11ebb
7 changed files with 79 additions and 19 deletions

View File

@ -268,11 +268,28 @@ jobs:
exit 1 exit 1
fi fi
security-audit:
name: Security Audit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Ensure scripts executable
run: |
chmod +x scripts/security/audit.sh || true
- name: Run template security audit
run: |
if [ -f scripts/security/audit.sh ]; then
./scripts/security/audit.sh
else
echo "No security audit script (ok)"
fi
# Job de release guard (cohérence release) # Job de release guard (cohérence release)
release-guard: release-guard:
name: Release Guard name: Release Guard
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [code-quality, unit-tests, documentation-tests] needs: [code-quality, unit-tests, documentation-tests, security-audit]
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -343,4 +360,3 @@ jobs:
run: | run: |
echo "❌ Some tests failed!" echo "❌ Some tests failed!"
exit 1 exit 1

View File

@ -179,6 +179,21 @@ Les règles détaillées de réalisation et de contrôle sont précisées dans `
--- ---
### Agent Sécurité
**Rôle (Responsable)** :
- Orchestrer laudit de sécurité automatisé (`scripts/security/audit.sh`: cargo/npm audit, scan de secrets).
- Interdire secrets en clair; imposer la rotation des secrets CI.
- Vérifier permissions sensibles et nonexposition dendpoints privés.
- Bloquer les releases si laudit échoue (intégration au `release-guard`).
**Artefacts :**
- `scripts/security/audit.sh`, `.gitea/workflows/ci.yml` (job `security-audit`), `docs/SECURITY_AUDIT.md`, `SECURITY.md`.
---
## Agents complémentaires ## Agents complémentaires
### Agent Coordination ### Agent Coordination

View File

@ -41,7 +41,7 @@ Client → sdk_relay → Bitcoin Core
- **Docker** et **Docker Compose** installés - **Docker** et **Docker Compose** installés
- **10 Go** d'espace disque minimum - **10 Go** d'espace disque minimum
- **Connexion Internet** stable - **Connexion Internet** stable
- **Clé SSH** configurée pour GitLab (recommandé) - **Clé SSH** configurée pour Gitea (recommandé)
### Installation ### Installation
@ -73,7 +73,7 @@ ssh-add ~/.ssh/id_ed25519_4nk
# Configurer Git # Configurer Git
git config --global core.sshCommand "ssh -i ~/.ssh/id_ed25519_4nk" git config --global core.sshCommand "ssh -i ~/.ssh/id_ed25519_4nk"
# Ajouter la clé publique à GitLab # Ajouter la clé publique à Gitea
cat ~/.ssh/id_ed25519_4nk.pub cat ~/.ssh/id_ed25519_4nk.pub
``` ```

View File

@ -8,7 +8,7 @@ Index complet de la documentation de l'infrastructure 4NK_node.
Guide complet pour installer et configurer l'infrastructure 4NK_node. Guide complet pour installer et configurer l'infrastructure 4NK_node.
- **Prérequis système et logiciels** - **Prérequis système et logiciels**
- **Installation de Docker et dépendances** - **Installation de Docker et dépendances**
- **Configuration SSH et GitLab** - **Configuration SSH et Gitea**
- **Configuration initiale des services** - **Configuration initiale des services**
- **Tests post-installation** - **Tests post-installation**
- **Dépannage et monitoring** - **Dépannage et monitoring**
@ -281,9 +281,9 @@ Questions fréquemment posées.
- **Troubleshooting** : [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Résolution de problèmes - **Troubleshooting** : [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Résolution de problèmes
### Ressources Externes ### Ressources Externes
- **Repository** : [GitLab 4NK_node](https://git.4nkweb.com/4nk/4NK_node) - **Repository** : https://git.4nkweb.com/4nk/4NK_node
- **Issues** : [Issues GitLab](https://git.4nkweb.com/4nk/4NK_node/issues) - **Issues** : https://git.4nkweb.com/4nk/4NK_node/issues
- **Wiki** : [Wiki GitLab](https://git.4nkweb.com/4nk/4NK_node/wikis) - **Wiki** : https://git.4nkweb.com/4nk/4NK_node/wiki
### Contact ### Contact
- **Email** : support@4nkweb.com - **Email** : support@4nkweb.com
@ -311,5 +311,3 @@ Pour contribuer à la documentation :
4. Créer une Pull Request 4. Créer une Pull Request
--- ---

View File

@ -91,12 +91,12 @@ ssh-add ~/.ssh/id_ed25519_4nk
# Configurer Git pour utiliser la clé # Configurer Git pour utiliser la clé
git config --global core.sshCommand "ssh -i ~/.ssh/id_ed25519_4nk" git config --global core.sshCommand "ssh -i ~/.ssh/id_ed25519_4nk"
# Afficher la clé publique pour GitLab # Afficher la clé publique pour Gitea
cat ~/.ssh/id_ed25519_4nk.pub cat ~/.ssh/id_ed25519_4nk.pub
``` ```
**Ajouter la clé publique à GitLab :** **Ajouter la clé publique à Gitea :**
1. Aller sur GitLab > Settings > SSH Keys 1. Aller sur Gitea > Settings > SSH Keys
2. Coller la clé publique 2. Coller la clé publique
3. Cliquer sur "Add key" 3. Cliquer sur "Add key"
@ -119,7 +119,7 @@ cd 4NK_node
docker --version docker --version
docker-compose --version docker-compose --version
# Vérifier la connectivité GitLab # Vérifier la connectivité Gitea
ssh -T git@git.4nkweb.com ssh -T git@git.4nkweb.com
# Vérifier les permissions # Vérifier les permissions
@ -576,5 +576,3 @@ Félicitations ! L'infrastructure 4NK_node est maintenant installée et configur
4. Configurer le [Monitoring](PERFORMANCE.md) 4. Configurer le [Monitoring](PERFORMANCE.md)
--- ---

View File

@ -78,7 +78,7 @@ Cette checklist détaille tous les éléments nécessaires pour préparer le pro
### 📋 **Phase 2 : Préparation du Repository** ### 📋 **Phase 2 : Préparation du Repository**
#### Repository Public #### Repository Public
- [ ] **Créer repository public** - Sur GitHub/GitLab - [ ] **Créer repository public** - Sur Gitea/GitHub/GitLab
- [ ] **Configurer les branches** - main, develop, feature/* - [ ] **Configurer les branches** - main, develop, feature/*
- [ ] **Configurer les protections** - Branch protection rules - [ ] **Configurer les protections** - Branch protection rules
- [ ] **Configurer les labels** - bug, enhancement, documentation, etc. - [ ] **Configurer les labels** - bug, enhancement, documentation, etc.
@ -230,5 +230,3 @@ cargo update
--- ---
**Le projet a une base technique et documentaire excellente qui facilitera grandement son adoption par la communauté open source !** 🌟 **Le projet a une base technique et documentaire excellente qui facilitera grandement son adoption par la communauté open source !** 🌟

35
scripts/security/audit.sh Normal file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
set -euo pipefail
echo "[security-audit] démarrage"
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd)"
cd "$ROOT_DIR"
rc=0
# 1) Audit npm (si package.json présent)
if [ -f package.json ]; then
echo "[security-audit] npm audit --audit-level=moderate"
if ! npm audit --audit-level=moderate; then rc=1; fi || true
else
echo "[security-audit] pas de package.json (ok)"
fi
# 2) Audit Rust (si Cargo.toml présent)
if command -v cargo >/dev/null 2>&1 && [ -f Cargo.toml ] || find . -maxdepth 2 -name Cargo.toml | grep -q . ; then
echo "[security-audit] cargo audit"
if ! cargo audit --deny warnings; then rc=1; fi || true
else
echo "[security-audit] pas de projet Rust (ok)"
fi
# 3) Recherche de secrets grossiers
echo "[security-audit] scan secrets"
if grep -RIE "(?i)(api[_-]?key|secret|password|private[_-]?key)" --exclude-dir .git --exclude-dir node_modules --exclude-dir target --exclude "*.md" . >/dev/null 2>&1; then
echo "[security-audit] secrets potentiels détectés"; rc=1
else
echo "[security-audit] aucun secret évident"
fi
echo "[security-audit] terminé rc=$rc"
exit $rc