Unlimited Design & Technology

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.

UDT InsightsMay 25, 2024
A colleague tracks a dependency package through an update cycle and a calendar. A kneeling colleague uses a wrench.

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.

References

Discuss your next project

Talk with UDT about your needs and the next practical step.

Contact UDT
Zalo