Build Proxy Server for Secure Software Dependency Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software build tools face challenges in accurately identifying and managing the inputs and input dependencies for a build process, leading to potential security risks due to manual or automated techniques that may miss or incorrectly identify dependencies.

Innovation Solution

A build system that includes a build container and a build proxy server, which monitors network interactions to identify additional inputs used by the build process, determines their trustworthiness, and adds them to the build list, ensuring accurate and complete dependency tracking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual or automated techniques are used to identify inputs and dependencies, then the build process can proceed, but the accuracy and completeness of dependency identification deteriorates leading to security risks

Engineering Contradiction:
Improvedependency identification accuracyVSAvoidbuild process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a build proxy server as an intermediary component between the build container and external network endpoints. This proxy server intercepts and monitors all network traffic, automatically identifying inputs and dependencies without requiring manual specification. The proxy server acts as a mediator that observes build process behavior and dynamically determines which external artifacts are actually consumed, thereby improving dependency identification accuracy while maintaining automated operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The build proxy server implements a feedback mechanism by monitoring network interactions during the build process and using this information to dynamically identify and verify inputs. The system observes actual network traffic patterns, identifies which external artifacts are requested and consumed, and feeds this information back to update the build process. This closed-loop feedback approach ensures that all actual dependencies are captured, improving both accuracy and completeness of dependency tracking.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If the build system monitors network interactions to identify additional inputs, then dependency tracking accuracy improves, but the build system complexity increases

Engineering Contradiction:
Improveinput identification precisionVSAvoidbuild system architecture
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The build proxy server serves as an intermediary that centralizes the monitoring function. Rather than embedding complex monitoring logic throughout the build system, all network traffic passes through the single proxy server that observes and identifies inputs. This intermediary approach achieves precise input identification while containing the complexity increase to a single dedicated component rather than distributing complexity across the entire build system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The build proxy server automatically monitors and identifies inputs without requiring manual configuration or intervention. The system self-services by observing its own network traffic patterns and autonomously determining which external artifacts are dependencies. This automated self-identification improves measurement precision while avoiding the need for manual dependency specification processes.

Inventive Principle:
Principle #25Self-service

3Reliability

If the build system verifies trustworthiness of additional inputs through network endpoint connections, then security reliability improves, but the build time increases

Engineering Contradiction:
Improvesoftware supply chain securityVSAvoidbuild process speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The build proxy server performs trust verification of inputs and network endpoints as a preliminary action before the actual build process executes. By pre- validating the trustworthiness of external artifacts and their sources, the system ensures security requirements are met before committing to the build. This preliminary verification approach improves security reliability while minimizing the impact on build time by completing security checks in advance rather than during the critical build path.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The build proxy server implements preliminary anti-action by proactively identifying and blocking untrusted inputs or network endpoints before they can compromise the build process. The system preemptively verifies the trustworthiness of all external artifacts and their sources, preventing potential security issues from affecting the build. This preliminary protective action ensures security reliability while the verification is performed efficiently before the build commits to using any external dependencies.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS20250138796A1Build system for securely building and deploying a target build artifact
Publication Date: 2025.05.01 ORACLE INT CORP
  • US20250138796A1 patent drawing
  • US20250138796A1 patent drawing
  • US20250138796A1 patent drawing

AI summary

A build system is disclosed that identifies the inputs used by a build process for securely building and deploying a piece of software to production. The build system comprises a build container and a build proxy server. The build container receives a set of initial inputs for performing a build and generates a build output (e.g., a target artifact) as a consequence of performing the build. The build proxy server monitors both internal interactions as well as external interactions (e.g., input dependency fetches from external artifact repositories) of the build container within and outside a network boundary defined around the build container. Based on the monitored interactions, the build proxy server identifies all the additional input components and/or input component dependencies used by the build container for successfully performing the build. The build container uses the identified components to perform the build and generate a target artifact.