Aller au contenu
English Commencer

Documentation

Installe Attestely en 2 minutes

Un seul binaire CLI. Trois méthodes d'install. Zéro code de glue. Prends celle qui colle à ta façon de bosser.

Le CLI Attestely est un binaire Go unique. Il scanne ton dépôt en local avec Trivy, Semgrep et gitleaks, puis envoie (optionnellement) les findings à ton workspace Attestely pour analyse LLM et historique.

Tu n’as pas besoin de compte Attestely pour scanner en local — le CLI fonctionne offline. Le compte n’est utile que pour l’analyse et le dashboard.

1. Install via Homebrew (macOS, Linux)

La voie la plus rapide sur un Mac ou une machine de dev Linux.

brew install attestely/tap/attestely

La formula pointe vers la dernière release stable. Les upgrades se font ensuite avec un simple brew upgrade.

2. Install via curl (Linux, macOS, WSL)

Si Homebrew n’est pas ton truc, le script d’install choisit le bon binaire pour ta plateforme et le pose dans /usr/local/bin.

curl -fsSL https://attestely.com/install.sh | sh

Le script est signé et pinné sur un SHA de release précis. Lis-le avant de pipe vers sh si tu veux — il est ouvert sur le repo CLI.

3. Install via go install

Pour les développeurs Go qui préfèrent compiler. Nécessite Go 1.22+.

go install github.com/getAttestely/cli/cmd/attestely@latest

Le binaire atterrit dans $GOPATH/bin (en général $HOME/go/bin). Vérifie que ce dossier est dans ton $PATH.

4. Vérifier l’install

attestely --version

Tu devrais voir quelque chose comme attestely 1.0.0 (commit abc1234, built 2026-05-18).

5. Authentification (optionnel — uniquement pour le cloud)

Pour streamer les résultats de scan vers ton workspace Attestely, logue-toi une fois :

attestely auth login

Ça ouvre ton navigateur, te fait passer par OAuth sur app.attestely.com, et stocke un token éphémère dans le keychain de ton OS (Keychain sur macOS, libsecret sur Linux, Credential Manager sur Windows).

6. Premier scan

Depuis la racine de n’importe quel dépôt git :

attestely scan .

Le CLI orchestre Trivy, Semgrep et gitleaks, déduplique les findings, et affiche un tableau récap. Sur un projet vierge, ça prend généralement 20–60 secondes.

Exemple de sortie :

attestely scan .
→ Cloning rules database...                       (cached)
→ Trivy (filesystem)...                          12 findings
→ Semgrep (default ruleset)...                    3 findings
→ gitleaks (committed secrets)...                 0 findings

Found 11 unique findings after dedup:
  Critical: 1
  High:     3
  Medium:   5
  Low:      2

Top finding:
  [Critical] gitleaks · Stripe live key in src/lib/env.example.ts:14
  → Move to .env and add to .gitignore.

Stream to workspace? [y/N]

Tape y et les findings atterrissent dans ton dashboard sous Findings → Recent scans.

7. Intégration GitHub Actions

Dépose ce workflow dans .github/workflows/attestely.yml pour faire tourner Attestely sur chaque pull request :

name: Attestely Security Scan

on:
  pull_request:
    branches: [main]

jobs:
  scan:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: attestely/scan-action@v1
        with:
          token: ${{ secrets.ATTESTELY_TOKEN }}

Ajoute ATTESTELY_TOKEN en tant que secret de repo (Settings → Secrets and variables → Actions → New repository secret). La valeur se récupère dans ton workspace Attestely sous Settings → API tokens.

8. Troubleshooting

command not found: attestely — le dossier d’install n’est pas dans ton $PATH. Pour go install, ajoute $HOME/go/bin à ton fichier rc :

echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc

permission denied sur le script curl — le script essaie d’écrire dans /usr/local/bin. Relance avec sudo, ou pose INSTALL_DIR=$HOME/.local/bin dans ton environnement avant.

Scan bloqué sur Trivy — Trivy télécharge sa base de vulnérabilités au premier run (~250 Mo). Les runs suivants sont cachés. Si ça bloque, pose TRIVY_TIMEOUT=10m et retente.

Le workflow tourne mais aucun review n’apparaît sur la PR — trois choses à vérifier :

  1. ATTESTELY_TOKEN est posé et pas expiré
  2. Le workflow a permissions: pull-requests: write
  3. La GitHub App Attestely a un accès Read and write aux pull requests sur ce repo

Toujours bloqué ? Écris-nous — on traite chaque report sous 48h.

9. La suite


Une question ? Écris-nous — on lit tout.