Security and Privacy
Review third-party libraries through their update lifecycle
A third-party library needs an owner after the first release. Review dependency visibility, advisory handling, update tests, and unsupported components so the customer buys a maintainable service rather than a one-time scan result.
The decision to use a library continues long after installation. An update can fix a security issue, change behavior, or require application changes. A customer should therefore review the update lifecycle, not simply ask whether the delivery team uses reputable packages. Ownership and test coverage matter when the next advisory arrives.
Know what the service actually includes
Recommend an inventory that links deployed components to versions, business functions, and responsible teams. Include indirect dependencies, which arrive through another package, and code delivered to browsers. A list from a developer workstation is not enough evidence of what runs for customers.
OWASP recommends automated dependency analysis from the start of a project and notes that detection sources may miss vulnerabilities without a public vulnerability identifier.[6] Treat scanning as a discovery tool, not proof that a dependency has no security issues. Keep supplier notices and maintenance information in the review process.
Turn findings into owned decisions
For each finding, ask which deployed function is affected, whether the relevant code is reachable, and what the supplier recommends. Record an owner and a response decision. Do not let an alert disappear merely because its severity label is inconvenient.
OWASP describes testing a patched dependency in a test environment and adapting code when an update changes function calls.[6] Request evidence that business workflows still work after the change. For indirect dependencies, ask which direct package needs adjustment rather than forcing an unexplained override.
Hypothetical example: document generation
In a hypothetical quotation service, a document library receives an advisory. The team links the affected package to quote generation and identifies the parent package that supplies it. An updated version changes the layout behavior of generated documents.
The customer reviews sample quotations and automated totals checks before approving the update. Until that review completes, a named owner records temporary restrictions and their review boundary. This example illustrates a decision process, not a claim that a workaround resolves the underlying vulnerability.
Evidence for a maintainable dependency
Ask for a small, current evidence set rather than a large report with no assigned actions. Connect it to the release process.
- Identify deployed versions and important indirect dependencies.
- Name the team that receives and triages supplier advisories.
- Test affected workflows and rollback behavior for proposed updates.
- Record temporary mitigations with an owner and review trigger.
- Plan replacement when a required component no longer receives fixes.
Budget for the difficult update
Immediate upgrades are not always compatible with the application. Deferral leaves risk that needs explicit acceptance, while replacement requires engineering time. Agree which authority can accept that tradeoff and what evidence they need. The useful purchase criterion is a supported response capability, not a promise that every package will always be current. Include maintenance responsibility in the service agreement before approving the component.