writeln(sprintf( '<%s>[%s] %d %s known vulnerabilities', $style, $status, $count, 1 === $count ? 'package has' : 'packages have' )); if (0 !== $count) { $output->write("\n"); foreach ($result as $dependency => $issues) { $dependencyFullName = $dependency.' ('.$issues['version'].')'; $output->writeln(''.$dependencyFullName."\n".str_repeat( '-', strlen($dependencyFullName) )."\n"); foreach ($issues['advisories'] as $issue => $details) { $output->write(' * '); if (! empty($details['cve'])) { $output->write(''.$details['cve'].': '); } $output->writeln($details['title']); if (! empty($details['link'])) { $output->writeln(' '.$details['link']); } $output->writeln(''); } } } } /** * Display the error. * * @param \Symfony\Component\Console\Output\OutputInterface $output * @param \Exception $exception * @return void */ public function displayError(OutputInterface $output, Exception $exception) { $output->writeln(sprintf( '[ERROR] Vulnerabilities scan failed with exception: %s', $exception->getMessage() )); } }