BLA
BLA (Blind LLM Agents) is the open-source Blue Defense MCP and CLI built to protect software artifacts against automated AI reverse-engineering workflows.
Scan the NuGet, NPM, PNPM and Yarn dependencies of your codebase against a deny- or allowlist, and score every package on legal, security and operational risk
SecurityC# · PowerShellGitHub @dennisdoomenOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Dependency scanner for NuGet and NPM with SBOM, vulnerabilities and risk analysis
Taken from the repository README
Loading the full README.
Read the full README ↗About • Documentation • Building • Contributing • Versioning • Credits •
Visit the official documentation website for the full guide to installing, configuring and running PackageGuard.
init - generate a configuration from the licenses you actually usePackageGuard is a fully open-source CLI tool that keeps your open-source supply chain honest. It scans the NuGet, npm, pnpm and Yarn dependencies of your codebase, enforces allow- and deny-lists for licenses, packages and versions, scores every package's legal/security/operational risk, and can emit a standards-compliant SBOM — all from a single, cacheable command that fits into any CI pipeline.
At a glance, PackageGuard can:
packageguard init) from the licenses actually found in your repository, flagging copyleft licenses and suggesting a policy that fits whether your software is proprietary, SaaS, or open sourceMIT OR Apache-2.0), specific packages, and package versions, discovered hierarchically across solution-, project- and repository-level configuration filespackageguard explain <package>, with fuzzy name matching) - its dependency path, how its version was resolved, the exact policy rule and configuration file that allowed or denied it, and its risk breakdownpackageguard dependencies), offline and without touching your policy--report-risk, weighing signals such as license compatibility, known vulnerabilities (OSV, with EPSS and CISA KEV exploit data), maintainer activity, package signing, release cadence, and dozens morewarn-only mode (--treat-deny-as-warning) for phasing in new rulesMAL- advisories) in every risk run, and report vulnerabilities on their own in the HTML report, where each one can be marked as not applicable with a reason and a review dateI've noticed that the commercial solutions for this are usually very expensive and have functionality that smaller companies may not need. Hopefully this little tools fills the gap between tools like GitHub's Dependabot and expensive commercial products like Blackduck, SNYK and others.
My name is Dennis Doomen and I'm a Microsoft MVP and Principal Consultant at Aviva Solutions with 28 years of experience under my belt. As a software architect and/or lead developer, I specialize in designing full-stack enterprise solutions based on .NET as well as providing coaching on all aspects of designing, building, deploying and maintaining software systems. I'm the author of several open-source projects such as Fluent Assertions, Reflectify, Liquid Projections, and I've been maintaining coding guidelines for C# since 2001.
Contact me through Email, Bluesky, Twitter/X or Mastadon
To build this repository locally, you need the following:
net9.0 and net10.0; global.json pins local builds to the .NET 10 SDK).You can also build, run the unit tests and package the code using the following command-line:
build.ps1
Or, if you have, the Fallout tool installed:
fallout
Also try using --help to see all the available options or --plan to see what the scripts does.
Your contributions are always welcome! Please have a look at the contribution guidelines first.
Previous contributors include:
(Made with contrib.rocks)
This library uses Semantic Versioning to give meaning to the version numbers. For the versions available, see the tags on this repository.
This library wouldn't have been possible without the following tools, packages and companies:
This project is licensed under the MIT License - see the LICENSE file for details.
--sbom, complete with purls, declared-vs-concluded license evidence, and a direct/transitive dependency graph--sbom is combined with --report-risk--use-caching; explain always reads the cache but never updates it) - including GitHub responses and per-repository risk profiles - to keep repeated scans and CI runs fast, with configurable cache freshness (--risk-cache-max-age-hours, --refresh-risk-cache)