Aller au contenu principal
Version: v0.20

Vue d'ensemble du SDK PHP

Utilisez le SDK PHP lorsque votre application doit lancer une analyse, exploiter son rapport structuré ou consulter les index de signatures intégrés. L'API prise en charge comprend AMWScan\Scanner et les méthodes de recherche en lecture seule de AMWScan\Signatures.

Installer et charger

Installez le paquet avec Composer et chargez l'autoloader de Composer avant d'utiliser le SDK :

composer require marcocesarato/amwscan
require __DIR__ . '/vendor/autoload.php';

use AMWScan\Scanner;

Le paquet requiert PHP 7.4 ou version ultérieure avec les extensions fileinfo, json, mbstring et zlib. Consultez les Prérequis pour connaître les environnements pris en charge.

Choisir un point d'entrée

BesoinAPIRésultat
Analyser des fichiers ou un projetScanner::run()Rapport d'analyse stdClass ou false lorsqu'une erreur d'analyse est interceptée
Lire un résultat d'analyse après son achèvementScanner::getReport()Rapport d'analyse stdClass actuel
Vérifier un hachage SHA-256 exact de malwareSignatures::findKnownMalwareHash()Enregistrement de correspondance ou null
Vérifier un hachage de fichier historique normaliséSignatures::matchesLegacyCoreFile()bool
Lister les indicateurs de domaines suspects intégrésSignatures::getDomainIndicators()Tableau d'enregistrements d'indicateurs

Lisez Analyser avec Scanner avant d'intégrer l'exécution d'analyses. Lisez Rapports et détections avant de conserver les résultats ou de déclencher des alertes.

Analyse minimale sans surveillance

use AMWScan\Scanner;

$scanner = new Scanner();
$report = $scanner
->enableLiteMode()
->setSilentMode()
->setAutoSkip()
->run([__DIR__ . '/project']);

if ($report === false) {
throw new RuntimeException($scanner->getLastError() ?: 'Scan failed.');
}

printf("Scanned: %d; findings: %d\n", $report->scanned, $report->detected);

setSilentMode() configure une exécution non interactive et sélectionne ignorer comme action par défaut, sauf si vous définissez une autre invite. Cette méthode ne rend pas une analyse en lecture seule à elle seule. Désactivez la remédiation automatisée jusqu'à avoir examiné des rapports représentatifs.

Stabilité de l'API

Scanner et les méthodes de recherche documentées dans cette section constituent la surface d'intégration prise en charge. Les classes sous Archive, Checkpoint, Console, Findings, Integrity, Modules, Remote et Reputation prennent en charge les composants internes du scanner. Ne couplez pas une application à ces classes ni à des propriétés statiques publiques telles que Scanner::$settings et Signatures::$raw.

Le scanner conserve la configuration et les rapports dans un état statique. Un processus PHP ne doit exécuter qu'une analyse à la fois. Utilisez un processus distinct pour les tâches simultanées, les analyses mises en file d'attente ou l'isolation entre locataires. Lisez Sécurité et état avant d'exécuter le SDK dans un worker ou un processus web de longue durée.

Carte de référence

RéférenceContenu
Analyser avec ScannerConstructeur, cycle de vie, options, filtres, sortie et contrôles de remédiation
Rapports et détectionsSchéma du rapport, état de couverture, détections, diagnostics et gestion des échecs
Recherche de signaturesContrats de recherche de hachages et de domaines
Sécurité et étatDurée de vie de l'état, actions destructrices, comportement réseau et recommandations de déploiement