Where to Configure
Go to Agentic Security > Software Security (/security/software). The page has three tabs:
| Tab | Status | Description |
|---|---|---|
| Open Source Security | Active | Configure scorecard thresholds, vulnerability settings, and license policies |
| SAST | Active | Real-time static analysis with Batou — configurable blocking thresholds and finding lifecycle tracking |
| Malware | Coming Soon | Malware scanning for packages and dependencies |
/security/settings) and toggle Software Security Settings.
How It Works
When Claude Code runs a command likenpm install lodash:
Package analyzed
turen-pkg fetches security signals for the package — scorecard rating, known vulnerabilities, license, provenance, and age.
Supported Package Managers
| Package Manager | Ecosystem | Status |
|---|---|---|
| npm | JavaScript / Node.js | Supported |
| pip / pip3 | Python (PyPI) | Supported |
| go mod | Go modules | Supported |
Configuring Thresholds
The Open Source Security tab in Software Security has three sections:Scorecard Thresholds
Set minimum OpenSSF Scorecard* scores:- Minimum Scorecard Score (Block) — Packages scoring below this are blocked
- Review Scorecard Score (Alert) — Packages scoring below this require review
Vulnerability Settings
- Maximum Known Vulnerabilities — Alert when packages exceed this count
- Block Critical Vulnerabilities — Automatically block packages with critical CVEs
License Configuration
- Allowed Licenses — Only packages with these licenses are permitted (leave empty to allow all)
- Blocked Licenses — Packages with these licenses are always blocked, regardless of the allowlist
Security Signals
Each package is evaluated against multiple security dimensions:| Signal | Source | What It Measures |
|---|---|---|
| Scorecard | OpenSSF Scorecard* | Overall project security rating (0-10) |
| Vulnerabilities | OSV database | Known CVEs for the package version |
| License | deps.dev | Whether the license is acceptable |
| Provenance | SLSA | Verified build provenance |
| Package Age | Registry metadata | How long the package has existed |
| Maintainer 2FA | Registry metadata | Whether the maintainer has 2FA enabled |
Decisions
Every package evaluation results in one of three decisions:| Decision | What Happens |
|---|---|
| Allow | Package passes all checks. Installation proceeds normally. |
| Review | Package triggers a policy threshold. Claude Code is told the package requires human approval. |
| Block | Package violates a critical policy. Installation is denied. |
What Developers See
When a package is allowed:Claude Code Integration
turen-pkg integrates with Claude Code via hooks configured inmanaged-settings.json. This happens automatically when you install the Turen agent — no developer action needed.
When Claude Code attempts to run a package manager command, the hook:
- Intercepts the command before execution
- Evaluates the package through turen-pkg
- Returns the decision to Claude Code
- Claude Code either proceeds with installation or informs the developer why the package was blocked