1. Inventar local
CLI open source Apache-2.0. Export CycloneDX 1.6 JSON din pachete Linux instalate sau manifeste de aplicație. Fără cont, root, rețea sau execuția proiectului în timpul colectării.
Gratuit · fără cont
Awarely Scan · API preview
Un singur CLI pentru SBOM-uri locale, verificări CVE la cerere și inventar sincronizat în Awarely Monitor. Tu alegi când datele părăsesc mașina.
Linux amd64 / arm64 · Apache-2.0 · Fără agent în fundal · Fără root pentru colectare
CLI open source Apache-2.0. Export CycloneDX 1.6 JSON din pachete Linux instalate sau manifeste de aplicație. Fără cont, root, rețea sau execuția proiectului în timpul colectării.
Gratuit · fără cont
Trimite explicit inventarul și primește JSON cu potriviri CVE, versiuni, dovezi și componente neevaluate. Inventarul salvat nu se modifică și nu se trimit emailuri.
Monitor Pro · token de verificare
Actualizează doar sursa autorizată. Componentele comune se deduplică între aplicații; celelalte surse se păstrează. Inventarul devine disponibil pentru rapoarte și alertele configurate.
Monitor Pro · token de sincronizare
12 / 13 · amd64 / arm64
Inventar + check + sync
22.04 / 24.04 / 26.04 LTS · amd64 / arm64
Inventar + check + sync
8 / 9 / 10 · amd64 / arm64
Inventar + check + sync
8 / 9 / 10 · amd64 / arm64
Inventar + check + sync
2023 · amd64 / arm64
Inventar + check + sync
2 · amd64 / arm64
Inventar + sync; CVE neevaluat
Verificările folosesc identitatea și versiunile distribuției, inclusiv reviziile de backport. Pachetele, furnizorii sau canalele neacoperite rămân explicit neevaluate. Pentru aplicații: npm lockfile v2/v3; package.json și requirements.txt produc inventare parțiale. O potrivire CVE nu dovedește exploatabilitatea.
De la binarul verificat la un SBOM local, o verificare API sau inventarul salvat. Numele aplicațiilor, căile, identificatorii și credentialele din exemple sunt fictive. v0.5.0-alpha.1
| Mod | Cont / plan | Ce se întâmplă |
|---|---|---|
| Fișier local | Fără cont; CLI Apache-2.0 | host/app scrie local JSON CycloneDX 1.6. Fără rețea sau evaluare CVE. |
| Upload în Active | Monitor Pro sau trial Pro activ | Verifici SBOM-ul în browser, aplici modificările și apeși Salvează. |
| Verificare API | Acces Pro + token Doar verificare | Primești un raport JSON local. Nu salvează inventarul și nu trimite alerte. |
| Sincronizare API | Acces Pro + token Doar sincronizare sau ambele | Înlocuiește imediat doar sursa autorizată din inventarul salvat. |
Versiunea este un API preview. Același utilitar, compilat pentru amd64 sau arm64, detectează distribuțiile de mai jos. Integrarea Jenkins, containerele, imaginile AMI/VHD, Alpine și scanarea binarelor arbitrare nu sunt disponibile. Este acceptat un director cu un sistem de fișiere Linux offline; nu un fișier imagine.
Citește întâi pașii 2–3. Alege o distribuție la pasul 4, apoi upload (pasul 7), verificare (pașii 8–9) sau sincronizare (pașii 8 și 10). Pentru manifestele aplicațiilor folosește pasul 6 în locul pasului 4.
uname -m
cat /etc/os-release
command -v curl tar sha256sum gh
gh attestation verify --helpDebian 12/13 și Ubuntu 22.04/24.04/26.04 — apt:
sudo apt-get update
sudo apt-get install -y ca-certificates curl tar coreutils
(
set -eu
GH_KEY_FILE=$(mktemp)
curl --proto '=https' --tlsv1.2 -fL \
https://cli.github.com/packages/githubcli-archive-keyring.gpg \
-o "$GH_KEY_FILE"
sudo install -d -m 755 /etc/apt/keyrings
sudo install -m 644 "$GH_KEY_FILE" /etc/apt/keyrings/githubcli-archive-keyring.gpg
rm "$GH_KEY_FILE"
printf 'deb [arch=%s signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\n' "$(dpkg --print-architecture)" \
| sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt-get update
sudo apt-get install -y gh
)Rocky Linux 8/9/10, AlmaLinux 8/9/10 și Amazon Linux 2023 — verifică dnf --version. Pentru DNF 4 folosește acest bloc:
command -v curl >/dev/null || sudo dnf install -y curl
sudo dnf install -y ca-certificates tar coreutils 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install -y ghDoar dacă dnf --version indică DNF 5, folosește alternativa de mai jos în locul blocului DNF 4:
command -v curl >/dev/null || sudo dnf install -y curl
sudo dnf install -y ca-certificates tar coreutils dnf5-plugins
sudo dnf config-manager addrepo --from-repofile=https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install -y ghAmazon Linux 2 — yum (doar inventar/sync; evaluarea CVE rămâne indisponibilă):
command -v curl >/dev/null || sudo yum install -y curl
sudo yum install -y ca-certificates tar coreutils yum-utils
sudo yum-config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo yum install -y ghDacă GitHub CLI solicită autentificare pentru descărcarea/verificarea atestărilor publice, rulează gh auth login și urmează pașii în browser. Este autentificare GitHub, separată de Monitor. Nu introduce tokenul Awarely în GitHub. Pentru un server offline, descarcă/verifică pe o stație de încredere și transferă securizat fișierele verificate.
gh attestation verify --helpComenzile fixează versiunea preview publicată. Oprește-te la orice eroare de descărcare, atestare sau checksum. Lista externă include ambele arhitecturi; verificăm doar arhiva descărcată. Extragerea se face după verificare.
umask 077
SCAN_WORK=$(mktemp -d "$HOME/awarely-scan.XXXXXXXX")
SCAN_BIN="$SCAN_WORK/release/awarely-scan"
(
set -eu
cd "$SCAN_WORK"
SCAN_VERSION=v0.5.0-alpha.1
case "$(uname -m)" in
x86_64) SCAN_ARCH=amd64 ;;
aarch64|arm64) SCAN_ARCH=arm64 ;;
*) echo "Unsupported architecture" >&2; exit 1 ;;
esac
SCAN_ARCHIVE="awarely-scan_${SCAN_VERSION}_linux_${SCAN_ARCH}.tar.gz"
SCAN_RELEASE="https://github.com/awarelyeu/awarely-sbom-scanner/releases/download/${SCAN_VERSION}"
curl --proto '=https' --tlsv1.2 -fL "$SCAN_RELEASE/$SCAN_ARCHIVE" -o "$SCAN_ARCHIVE"
curl --proto '=https' --tlsv1.2 -fL "$SCAN_RELEASE/SHA256SUMS" -o SHA256SUMS
gh attestation verify "$SCAN_ARCHIVE" \
--repo awarelyeu/awarely-sbom-scanner \
--signer-workflow awarelyeu/awarely-sbom-scanner/.github/workflows/release.yml \
--source-ref "refs/tags/$SCAN_VERSION"
awk -v file="$SCAN_ARCHIVE" '$2 == file { print; found=1 } END { if (!found) exit 1 }' SHA256SUMS > selected-SHA256SUMS
sha256sum --check selected-SHA256SUMS
mkdir release
tar -xzf "$SCAN_ARCHIVE" -C release
(cd release && sha256sum --check SHA256SUMS)
"$SCAN_BIN" version
"$SCAN_BIN" help
printf 'Working directory: %s\n' "$SCAN_WORK"
)Păstrează SCAN_WORK și SCAN_BIN pentru pașii următori. Fiecare cale de rezultat trebuie să fie nouă: scannerul nu suprascrie rapoarte. Folosește un director privat nou la următoarea rulare. O versiune viitoare se descarcă și se verifică explicit; nu există actualizare automată.
Dacă deschizi ulterior alt terminal, setează calea reală afișată mai sus: SCAN_WORK=/home/utilizator/awarely-scan.DIRECTORUL_TAU și SCAN_BIN="$SCAN_WORK/release/awarely-scan". Înlocuiește calea exemplu; nu crea altă sursă doar pentru că s-a schimbat sesiunea de terminal.
Versiuni de inventar acceptate: 12, 13; Linux amd64/arm64. Parcurge întâi pașii 2–3. Distribuția este detectată automat; nu există opțiune --distro sau instalator separat.
"$SCAN_BIN" host --name debian-13-web-01 \
--output "$SCAN_WORK/debian-13-web-01.cdx.json"Avizele oficiale Debian folosesc identitatea pachetului sursă și ordinea versiunilor Debian, inclusiv epoch și revizia distribuției. Build-urile terților și depozitele backports necesită evaluare separată.
Pentru utilizare exclusiv locală te oprești aici sau imporți fișierul .cdx.json la pasul 7. Pentru API, creează și protejează credentialele conform pasului 8, apoi alege o comandă de mai jos. Pentru ambele comenzi ai nevoie de permisiunea Verificare și sincronizare; Doar verificare permite numai prima. Interpretează raportul conform pasului 11.
Doar verificare (fără modificarea inventarului salvat):
"$SCAN_BIN" check --input "$SCAN_WORK/debian-13-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/debian-13-web-01.check.json"Opțional: sync înlocuiește această sursă în inventarul salvat. Rulează doar dacă acesta este fluxul dorit și tokenul permite operația:
"$SCAN_BIN" sync --input "$SCAN_WORK/debian-13-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/debian-13-web-01.receipt.json"Versiuni de inventar acceptate: 22.04, 24.04, 26.04 LTS; Linux amd64/arm64. Parcurge întâi pașii 2–3. Distribuția este detectată automat; nu există opțiune --distro sau instalator separat.
"$SCAN_BIN" host --name ubuntu-24-04-web-01 \
--output "$SCAN_WORK/ubuntu-24-04-web-01.cdx.json"Datele oficiale Ubuntu sunt evaluate după pachetul sursă și versiunea distribuției. Unele remedieri necesită Ubuntu Pro; Awarely nu stabilește dreptul tău de acces. Evaluările neconcludente rămân pentru analiză. PPA-urile și canalele specializate sunt în afara evaluării.
Pentru utilizare exclusiv locală te oprești aici sau imporți fișierul .cdx.json la pasul 7. Pentru API, creează și protejează credentialele conform pasului 8, apoi alege o comandă de mai jos. Pentru ambele comenzi ai nevoie de permisiunea Verificare și sincronizare; Doar verificare permite numai prima. Interpretează raportul conform pasului 11.
Doar verificare (fără modificarea inventarului salvat):
"$SCAN_BIN" check --input "$SCAN_WORK/ubuntu-24-04-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/ubuntu-24-04-web-01.check.json"Opțional: sync înlocuiește această sursă în inventarul salvat. Rulează doar dacă acesta este fluxul dorit și tokenul permite operația:
"$SCAN_BIN" sync --input "$SCAN_WORK/ubuntu-24-04-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/ubuntu-24-04-web-01.receipt.json"Versiuni de inventar acceptate: 8, 9, 10; Linux amd64/arm64. Parcurge întâi pașii 2–3. Distribuția este detectată automat; nu există opțiune --distro sau instalator separat.
"$SCAN_BIN" host --name rocky-9-web-01 \
--output "$SCAN_WORK/rocky-9-web-01.cdx.json"Eratele oficiale Rocky folosesc numele pachetului binar, arhitectura, epoch/version/release RPM și fluxul de modul, când există. EPEL, furnizorii terți și pachetele absente din catalog rămân neevaluate. Remedierile publicate nu acoperă toate problemele încă neremediate.
Pentru utilizare exclusiv locală te oprești aici sau imporți fișierul .cdx.json la pasul 7. Pentru API, creează și protejează credentialele conform pasului 8, apoi alege o comandă de mai jos. Pentru ambele comenzi ai nevoie de permisiunea Verificare și sincronizare; Doar verificare permite numai prima. Interpretează raportul conform pasului 11.
Doar verificare (fără modificarea inventarului salvat):
"$SCAN_BIN" check --input "$SCAN_WORK/rocky-9-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/rocky-9-web-01.check.json"Opțional: sync înlocuiește această sursă în inventarul salvat. Rulează doar dacă acesta este fluxul dorit și tokenul permite operația:
"$SCAN_BIN" sync --input "$SCAN_WORK/rocky-9-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/rocky-9-web-01.receipt.json"Versiuni de inventar acceptate: 8, 9, 10; Linux amd64/arm64. Parcurge întâi pașii 2–3. Distribuția este detectată automat; nu există opțiune --distro sau instalator separat.
"$SCAN_BIN" host --name alma-9-web-01 \
--output "$SCAN_WORK/alma-9-web-01.cdx.json"Eratele oficiale AlmaLinux folosesc numele pachetului binar, arhitectura, epoch/version/release RPM și fluxul de modul. Un pachet din altă distribuție RPM nu este tratat ca AlmaLinux. EPEL și furnizorii necunoscuți rămân neevaluate.
Pentru utilizare exclusiv locală te oprești aici sau imporți fișierul .cdx.json la pasul 7. Pentru API, creează și protejează credentialele conform pasului 8, apoi alege o comandă de mai jos. Pentru ambele comenzi ai nevoie de permisiunea Verificare și sincronizare; Doar verificare permite numai prima. Interpretează raportul conform pasului 11.
Doar verificare (fără modificarea inventarului salvat):
"$SCAN_BIN" check --input "$SCAN_WORK/alma-9-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/alma-9-web-01.check.json"Opțional: sync înlocuiește această sursă în inventarul salvat. Rulează doar dacă acesta este fluxul dorit și tokenul permite operația:
"$SCAN_BIN" sync --input "$SCAN_WORK/alma-9-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/alma-9-web-01.receipt.json"Versiuni de inventar acceptate: 2023; Linux amd64/arm64. Parcurge întâi pașii 2–3. Distribuția este detectată automat; nu există opțiune --distro sau instalator separat.
"$SCAN_BIN" host --name al2023-web-01 \
--output "$SCAN_WORK/al2023-web-01.cdx.json"Avizele oficiale ALAS pentru depozitul core sunt comparate cu versiunile RPM instalate. NVIDIA, Extras, pachetele terților și starea livepatch sunt în afara evaluării. Un depozit fixat pe un release poate necesita selectarea unui release mai nou pentru pachetul remediat.
Pentru utilizare exclusiv locală te oprești aici sau imporți fișierul .cdx.json la pasul 7. Pentru API, creează și protejează credentialele conform pasului 8, apoi alege o comandă de mai jos. Pentru ambele comenzi ai nevoie de permisiunea Verificare și sincronizare; Doar verificare permite numai prima. Interpretează raportul conform pasului 11.
Doar verificare (fără modificarea inventarului salvat):
"$SCAN_BIN" check --input "$SCAN_WORK/al2023-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/al2023-web-01.check.json"Opțional: sync înlocuiește această sursă în inventarul salvat. Rulează doar dacă acesta este fluxul dorit și tokenul permite operația:
"$SCAN_BIN" sync --input "$SCAN_WORK/al2023-web-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/al2023-web-01.receipt.json"Versiuni de inventar acceptate: 2; Linux amd64/arm64. Parcurge întâi pașii 2–3. Distribuția este detectată automat; nu există opțiune --distro sau instalator separat.
"$SCAN_BIN" host --name al2-legacy-01 \
--output "$SCAN_WORK/al2-legacy-01.cdx.json"Doar inventar și sincronizare: versiunea actuală nu evaluează pachetele AL2 față de avizele CVE AL2. check întoarce explicit o lipsă de acoperire de tip end-of-life/neevaluat. Zero potriviri nu înseamnă un rezultat de securitate curat. Folosește o evaluare separată și planifică migrarea.
Pentru utilizare exclusiv locală te oprești aici sau imporți fișierul .cdx.json la pasul 7. Pentru API, creează și protejează credentialele conform pasului 8, apoi alege o comandă de mai jos. Pentru ambele comenzi ai nevoie de permisiunea Verificare și sincronizare; Doar verificare permite numai prima. Interpretează raportul conform pasului 11.
Doar verificare (fără modificarea inventarului salvat):
"$SCAN_BIN" check --input "$SCAN_WORK/al2-legacy-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/al2-legacy-01.check.json"Opțional: sync înlocuiește această sursă în inventarul salvat. Rulează doar dacă acesta este fluxul dorit și tokenul permite operația:
"$SCAN_BIN" sync --input "$SCAN_WORK/al2-legacy-01.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/al2-legacy-01.receipt.json"Profilul host implicit selectează software uzual de server și dependențele instalate asociate. Nu colectează toate pachetele OS. Pentru DEB include nginx/apache2, OpenSSL, SSH, Node.js, Python, PHP, Java, baze de date și runtime-uri de containere; RPM folosește nume precum httpd. Absența unor membri opționali ai profilului implicit este acceptată.
"$SCAN_BIN" host --select 'nginx*,openssl,openssh-server' \
--name demo-web --output "$SCAN_WORK/selected.cdx.json"
"$SCAN_BIN" host --all-packages \
--name demo-full --output "$SCAN_WORK/all-packages.cdx.json"
"$SCAN_BIN" host --root /srv/offline-linux-root \
--name demo-offline --output "$SCAN_WORK/offline.cdx.json"Alege un singur mod: --select și --all-packages nu se combină. Un selector personalizat fără rezultat ori dependențele nerezolvate produc inventar parțial (exit 3). Dacă baza de pachete se schimbă, reîncearcă după terminarea managerului de pachete. Nu modifica baza RPM/dpkg și nu inventa metadate. Directorul offline trebuie să fie deja montat și lizibil; CLI-ul nu montează și nu extrage imagini.
Pe orice gazdă Linux acceptată, alege directorul proiectului cu npm-shrinkwrap.json sau package-lock.json v2/v3. Sunt citite și package.json ca fallback și requirements.txt, însă acestea sunt întotdeauna parțiale. Nu se execută npm install, pip install sau scripturi ale proiectului.
"$SCAN_BIN" app --path /srv/demo-shop --name demo-shop \
--output "$SCAN_WORK/demo-shop.cdx.json"Lockfile-urile includ versiunile rezolvate pentru intrările directe/tranzitive, de dezvoltare și opționale; nu dovedesc instalarea sau deployment-ul. Linkurile workspace nu sunt urmărite. requirements.txt păstrează versiunile declarate; nu urmărește include-uri, URL-uri sau rezolvarea dependențelor. Fișierele parțiale pot fi analizate/importate ori verificate, dar sync le refuză. Nu sunt acceptate lockfile-uri pnpm/yarn/poetry sau descoperirea automată a monorepo-urilor.
Exemplu de transfer, rulat pe stația unde ai descărcat configurația. Înlocuiește utilizatorul, gazda și directorul fictiv cu gazda ta și calea SCAN_WORK de pe ea. Dacă browserul și CLI-ul rulează pe aceeași mașină, mută direct fișierul descărcat în SCAN_WORK.
scp ./awarely-credentials.json \
demo-user@demo-host.example.invalid:/home/demo-user/awarely-scan.REPLACE/awarely-credentials.jsonchmod 600 "$SCAN_WORK/awarely-credentials.json"
ls -l "$SCAN_WORK/awarely-credentials.json"Fișierul trebuie să fie obișnuit, deținut de utilizatorul CLI și fără permisiuni pentru grup/alții. Nu îl include în Git, nu pune tokenul în argumente, loguri sau SBOM. Păstrează adresa API din configurația furnizată de Monitor; nu o înlocui cu adresa site-ului de prezentare.
Doar ilustrație: configurația de mai jos este intenționat invalidă și nu funcționează. Adresa API și toate valorile secrete sunt fictive. Pentru operații reale folosește configurația descărcată.
{
"schemaVersion": 1,
"apiUrl": "https://scanner-api.example.invalid",
"token": "DUMMY_TOKEN_NOT_VALID",
"applicationId": "DUMMY_APPLICATION_ID",
"sourceId": "DUMMY_SOURCE_ID"
}Folosește un token Doar verificare sau Verificare și sincronizare. Pentru un server, înlocuiește demo-shop.cdx.json cu fișierul din secțiunea distribuției.
"$SCAN_BIN" check --input "$SCAN_WORK/demo-shop.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/demo-shop.check.json"Deschide JSON-ul rezultat într-un vizualizator local. summary conține totalurile; matches include identificatorii avizelor, indicii componentelor, versiunile, precizia și dovezile distribuției. coverage arată ce a fost evaluat și ce a rămas neevaluat. Exit 0 înseamnă cerere reușită, chiar dacă există potriviri. Nu schimbă inventarul și nu trimite email. Versiunea nu include o politică automată de eșec CI la vulnerabilități.
Folosește Doar sincronizare sau Verificare și sincronizare. Snapshot-ul trebuie să fie complet pentru intrările selectate. sync nu execută automat și comanda check.
"$SCAN_BIN" sync --input "$SCAN_WORK/demo-shop.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/demo-shop.receipt.json"Actualizează pachetele prin procesul obișnuit de schimbări al distribuției/aplicației. Verifică versiunea remediată a distribuției și disponibilitatea în depozit; nu o înlocui cu o presupunere despre versiunea upstream. Pe AL2023 verifică release-ul fixat. Ghidul nu îți actualizează automat serverul.
Secvența completă de mai jos necesită permisiuni Verificare și sincronizare. Păstrează doar operațiile dorite; sync schimbă sursa salvată.
"$SCAN_BIN" host --name demo-web \
--output "$SCAN_WORK/demo-web-after.cdx.json"
"$SCAN_BIN" check --input "$SCAN_WORK/demo-web-after.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/demo-web-after.check.json"
"$SCAN_BIN" sync --input "$SCAN_WORK/demo-web-after.cdx.json" \
--credentials "$SCAN_WORK/awarely-credentials.json" \
--output "$SCAN_WORK/demo-web-after.receipt.json"Păstrează tokenul aceleiași surse și același scop de colectare. Pentru aplicații repetă app cu --path inițial, în loc de host. Compară potrivirile și acoperirea neevaluată, reîncarcă Active și regenerează raportul. Inventarul nu confirmă că rulează kernelul remediat sau că serviciul a fost repornit.
| Limită | Valoare |
|---|---|
| Cerere API | 5.000 componente; 2 MiB JSON normalizat |
| Inventar organizație | 5.000 identități unice; 50 aplicații; 2 MiB date normalizate combinate |
| Surse | 50 per organizație |
| Verificare | 6 cereri/minut per organizație și token |
| Sincronizare | 30 cereri/minut per organizație și token; include GET |
| Operații simultane | 2 per organizație și operație |
| Răspuns verificare | 5 MiB; 2.000 identificatori de aviz; 10.000 potriviri de componente |
| Token | 1–90 zile; 100 tokenuri active |
| Rezultat local | 5.000 componente; 5 MiB |
Bugetele scannerului sunt separate de cota lunară a API-ului general CVE. Alte limite ale serviciului pot întoarce 429. CLI-ul nu reîncearcă automat 429 sau conflictul de revizie 409. Respectă Retry-After și distribuie rulările în timp. Rezultatele prea mari sunt refuzate explicit, fără trunchiere. Un catalog vechi/corupt/indisponibil produce eroare, nu raport curat.
Sync citește revizia și folosește o cheie de idempotență. Reîncercările limitate la transport/503 păstrează aceeași cerere. La 409, verifică/recolectează înainte de reîncercare; nu suprascrie orbește altă actualizare. Pentru automatizare controlată există --expected-revision și --idempotency-key. Lipsa confirmării locale după o eroare de rețea/scriere nu dovedește eșecul salvării remote; verifică sursa înainte de repetare. Consultă documentația API pentru contractul complet.
| Simptom | Acțiune |
|---|---|
| Exit 0 | Operația s-a încheiat; verifică matches și coverage. Nu înseamnă fără vulnerabilități. |
| Exit 2 | Verifică argumentele, formatul, distribuția acceptată, proprietarul/permisiunile credentialelor și accesul la citire. |
| Exit 3 | S-a scris un inventar local parțial. Analizează avertismentele; poți importa/verifica pentru analiză, dar nu sincroniza. |
| Exit 4 | Alege un nume nou într-un director propriu, cu drept de scriere. Fișierele existente sunt păstrate. |
| Exit 5 | Întrerupere sau expirarea duratei. Rezolvă condițiile locale/de rețea înainte de reîncercare. |
| Exit 6 | Operația remote a eșuat. Citește statusul/codul API fără a înregistra credentialele. |
| HTTP 401 / 403 | Token expirat/revocat/invalid, permisiuni greșite sau acces schimbat. Creează tokenul corect din Active. |
| HTTP 409 | Alt sync a schimbat revizia sau cheia de idempotență a fost refolosită cu alt conținut. Verifică inventarul curent. |
| HTTP 413 / 422 | Redu scopul prea mare sau rezolvă snapshot-ul parțial/gol. Nu împărți inventarul prin suprascrieri succesive ale aceleiași surse. |
| HTTP 429 / 503 | Respectă timpul de reîncercare și verifică disponibilitatea. Nu elimina limitele și nu repeta agresiv. |
| Niciun pachet selectat | Verifică numele reale și selectorul. --all-packages este o alternativă explicită, în limite. |
| Alt server a dispărut | Nu partaja aceeași sursă între servere independente. Atribuie fiecăruia propria sursă. |
Nu. Colectarea locală este gratuită și nu necesită cont. Upload-ul în Active, verificarea CVE prin API și sincronizarea inventarului necesită acces Pro sau trial Pro activ.
Serviciul nu a evaluat componenta respectivă. Lipsa unei potriviri nu dovedește că este neafectată. Amazon Linux 2 are inventar și sincronizare, dar nu are evaluare CVE implementată în versiunea actuală.
Da. Atribuie surse distincte snapshot-urilor întreținute independent. Limita organizației este de 5.000 de componente unice și 50 de aplicații; actualizarea unei surse păstrează celelalte asocieri.
Nu încă. Acum sunt disponibile binarul Linux, comenzile locale și operațiile API explicite. Nu oferim scanare de imagini AMI/VHD sau containere.