Que fait ultrasec ?
Compétence d'audit de sécurité cross-files pour agent IA — trace les données non fiables à travers les fonctions et fichiers (taint de source à puits), orchestre Trivy/Semgrep/gitleaks/osv-scanner, et vérifie adversairement les résultats dans un rapport cité à plusieurs niveaux. Jumeau de ultraindex/ultrasearch.
Fonctionnalités
- Taint automatisé : Suivi des données non fiables de leur point d'entrée (
source) jusqu'aux fonctions sensibles (sink). - Orchestration d'outils : Lance et analyse les résultats de Trivy, Semgrep, gitleaks et osv-scanner.
- Vérification adversaire : Tente de reproduire et de contextualiser chaque résultat pour éliminer les faux positifs.
- Rapport hiérarchisé : Génère un rapport avec des niveaux de sévérité (Critique, Élevé, Moyen, Faible) et des citations de code.
- Support cross-fichiers : Trace les vulnérabilités qui traversent les limites des fichiers.
Utilisation
ultrasec scan --source ./src --sinks ./sensitive_functions.yml
Configuration
Créez un fichier ultrasec.yml dans la racine de votre projet :
scanners:
- semgrep
- trivy
- gitleaks
- osv-scanner
sources:
- "input()"
- "request.get"
- "sys.stdin"
sinks:
- "exec()"
- "eval()"
- "subprocess.call"
Authentification
export GITHUB_TOKEN=votre_token_github
export ULTRASEC_API_KEY=votre_cle_api
Exemple de rapport
{
"findings": [
{
"severity": "critical",
"message": "Injection de commande depuis input() vers subprocess.call dans fichier:main.py ligne:42-45",
"file": "src/main.py",
"line": 42,
"sink": "subprocess.call()",
"source": "input()",
"path": ["src/main.py:42", "src/utils.py:10"]
}
]
}
Intégration CI/CD
Ajoutez cette étape à votre pipeline GitHub Actions :
- name: Analyse ultrasec
uses: maxgfr/ultrasec-action@v1
with:
api-key: ${{ secrets.ULTRASEC_API_KEY }}
Dépendances
- Python 3.9+
- Node 16+ (pour Semgrep)
- Docker (pour Trivy et osv-scanner)
Avertissement
Cet outil est un complément à un processus de sécurité complet. Il ne remplace pas une analyse de sécurité humaine ni des audits professionnels.