Skip to Content
AerospaceAerospace
  • Article
  • Open Access

29 July 2026

32 Pages

Software Supply Chain Risk Precise Detection Method (SSCRPDM) Based on Dynamic Bytecode Instrumentation

,
,
,
,
,
and
1
School of Information and Communication Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China
2
China Mobile Chengdu Institute of Research and Development, Chengdu 610213, China
3
School of Electrical Engineering and Computer Science, KTH Royal Institute of Technology, SE-100 44 Stockholm, Sweden
*
Authors to whom correspondence should be addressed.
This article belongs to the Special Issue AI-Enabled Space Communications

Abstract

With the increasing softwarization of satellite payloads and the evolution of 6G Non-Terrestrial Networks (NTNs), securing the onboard software supply chain has become critical for mission-critical space communications. Traditional static software composition analysis (SCA) often generates excessive false positives in resource-constrained satellite environments. To address this issue, this paper proposes SSCRPDM, a CVE-oriented static–dynamic risk detection method based on bytecode instrumentation. SSCRPDM parses CVE semantics to guide function-level minimal instrumentation, quantifies risk by jointly considering runtime reachability, parameter controllability, and sanitizer effectiveness, and employs deterministic proof-of-concept (PoC) verification as the primary decision mechanism, with a large language model used only for auxiliary interpretation. Specifically, SCA first identifies components containing known vulnerabilities. Runtime instrumentation then traces critical invocation paths and verifies the reachability of vulnerable functions. Finally, CVE-specific PoC payloads are executed under the current defense context to determine actual exploitability. Experimental results show that SSCRPDM effectively filters alerts caused by “zombie components” and significantly improves evaluation accuracy through exploitability verification. By bridging static version matching and dynamic threat validation, SSCRPDM substantially reduces false positives and provides a precise and proactive solution for satellite software supply chain governance.

1. Introduction and Background

With the rapid evolution of Software-Defined Satellites (SDS) and the integration of 6G Non-Terrestrial Networks (NTN), the construction of modern space communication systems increasingly relies on a complex ecosystem of third-party and open-source components. This shift towards a component-based paradigm enables the rapid deployment of space–air–ground–sea (SAGS) connectivity services [1]. However, this architectural evolution introduces unprecedented security risks to the space software supply chain. If a core component within an orbital asset contains a vulnerability exploited by an attacker, it could lead to catastrophic consequences, such as unauthorized command execution, scientific data leakage, or total loss of satellite control [2].
In the context of autonomous space missions, traditional Static Software Composition Analysis (SCA) faces critical limitations. Current industrial solutions primarily rely on coarse-grained version matching against vulnerability databases (e.g., NVD and CVE) [3]. While effective in terrestrial environments, this approach generates an excessive number of false positives that are intolerable for resource-constrained satellite payloads [4]. Relying on static matching overlooks the actual runtime invocation context in space missions [5]. For autonomous satellites governed by Agentic AI, excessive false alerts can lead to “decision fatigue” or trigger unnecessary and risky in-orbit maintenance procedures [6]. Moreover, the traditional “patch-all” strategy incurs significant telemetry and command (TT&C) bandwidth consumption and may introduce regression risks that are impossible to remediate through physical access [7]. To address these challenges, this paper proposes a Software Supply Chain Risk Precise Detection Method (SSCRPDM) based on dynamic bytecode instrumentation, specifically optimized for intelligent space communication nodes. By implanting lightweight probes during the satellite application’s runtime, the method captures component-level call chains to accurately verify the on-orbit reachability of high-risk functions. Validated within a simulated satellite edge computing environment containing critical vulnerabilities (e.g., Log4j2, Fastjson), SSCRPDM demonstrates its ability to precisely track risky paths and eliminate “zombie components” that are inactive in specific mission profiles. Crucially, the proposed method offers a high-confidence perception layer for Agentic AI-driven security governance, enabling autonomous systems to prioritize repairs for truly exploitable risks without human intervention, thereby ensuring the resilience and continuity of next-generation space communication networks.
Currently, the mainstream industrial solution relies on Static Software Composition Analysis (SCA) technology. This approach locates risky components by matching project dependencies against known vulnerability databases (such as NVD and CVE) [3]. While effective at rapidly identifying vulnerable components at a macro level, this method often struggles to accurately assess the exploitability of vulnerabilities. Detection logic that relies solely on coarse-grained version matching overlooks the actual invocation context of the business code [4], resulting in an excessively high false positive rate. Specifically, many components containing vulnerable code are never loaded or invoked during actual business execution [5]. This coarse-grained strategy compels development teams to upgrade or replace numerous inactive components [6], incurring significant maintenance costs and potentially introducing system regression risks due to version incompatibility [7].
In light of these challenges, this paper proposes a software supply chain risk precise detection method (SSCRPDM) based on dynamic bytecode instrumentation. This method implants probes during the application’s runtime to collect and analyze component method call chains, accurately identifying the runtime reachability of high-risk vulnerability functions in the production environment. By constructing a test environment containing typical high-risk vulnerability components such as Log4j2 and Fastjson, it has been proven that SSCRPDM not only achieves precise tracking of risky calls but also effectively eliminates inactive zombie components, significantly reducing the false positive rate. At the same time, this method has good scalability and low invasiveness, and can shift the focus of security repair work from all components with vulnerabilities to the truly high-risk components without changing the original business logic.
Although SCA and runtime instrumentation have been widely adopted, existing methods generally either stop at component-level version matching or use instrumentation as an isolated post-processing step, leaving static vulnerability discovery disconnected from runtime threat verification. Unlike conventional SCA tools, SSCRPDM parses CVE semantics to convert component-level vulnerability descriptions into function-level instrumentation targets. Unlike existing IAST solutions that mainly determine path reachability, it jointly evaluates vulnerability severity, runtime reachability, parameter controllability, sanitizer effectiveness, and exploitability. Moreover, unlike purely LLM-based analysis, SSCRPDM adopts deterministic PoC verification as the primary decision basis and uses the LLM only for rule-constrained semantic interpretation. These mechanisms establish a closed-loop process from static candidate discovery to runtime reachability analysis and exploitability confirmation.
In contrast to existing solutions that simply chain together off-the-shelf SCA and instrumentation, the major contributions and novelty of this work are summarized as follows:
  • We introduce a collaborative detection architecture for on-orbit software supply chains that integrates static composition analysis, runtime bytecode instrumentation, and exploitability verification, thereby bridging vulnerable-component discovery and runtime threat confirmation in resource-constrained satellite payloads;
  • We design a CVE-guided vulnerable-function extraction and risk-scoring mechanism that converts unstructured CVE/NVD descriptions into structured instrumentation targets and jointly evaluates vulnerability severity, runtime reachability, parameter controllability, sanitizer effectiveness, and exploitability for fine-grained risk prioritization;
  • We propose a deterministic PoC-verification-first scheme that replays CVE-specific payloads along instrumented call chains and uses rule-constrained LLM-assisted semantic interpretation to distinguish exploitable flows from inactive or sanitized paths, reduce false positives, and support risk-oriented security maintenance for intelligent space communication nodes.
The remainder of this paper is organized as follows. Section 2 reviews related works on software composition analysis and runtime security detection. In Section 3, the motivation, problem statement, and risk-scoring model are presented. Section 4 details the proposed SSCRPDM scheme, including dependency graph construction, static vulnerability identification, runtime reachability analysis, exploitability verification, and LLM-assisted semantic assessment. Experimental results are reported in Section 5. Section 6 discusses the prerequisites, comparisons with existing approaches, and limitations. Finally, the concluding remarks are provided in Section 7.

3. Motivation

3.1. Problem Statement

The Software-Defined Satellite Architecture: In this architecture, an on-board application is no longer a closed, isolated firmware image, but rather a dynamic aggregate of mis-sion-specific code, open-source communication protocols, and third-party satellite IoT libraries As illustrated in Figure 1, the application lifecycle—spanning design, construction, and delivery involves collaboration across multiple departments and complex toolchains [17]. In this context, an application is no longer a closed, isolated collection of code, but rather an aggregate of in-house code, open-source components, and third-party libraries [18]. While these elements collectively constitute the software supply chain, malicious activities can infiltrate at any stage, thereby threatening the security of the entire supply chain [19].
Figure 1. The scope of influence of the development process.
Figure 2 illustrates the application software supply chain construction process, highlighting the intricate nature of the software supply chain network where an oversight at any stage can serve as an entry point for attackers. This high degree of dependency and interconnectivity makes maintaining the security of the development environment extremely challenging. Once a foundational component in the upstream supply chain is implanted with malicious code or exposes a critical vulnerability [2], the risk propagates rapidly downstream along the dependency chain. This can lead to severe consequences, such as privilege escalation, service disruption, or the leakage of sensitive data [1].
Figure 2. Software supply chain construction process.

3.2. Proposed Solution

To identify the version information of components in the supply chain. Currently, the industry primarily relies on SCA technology to address supply chain risks. These technologies identify risks by scanning project dependency files and matching component versions against CVE vulnerability databases. Although SCA excels at rapidly discovering known vulnerabilities, its limitations have become increasingly apparent when dealing with complex modern applications, primarily across the following three dimensions.

3.2.1. Lack of Runtime Reachability

In real production environments, the presence of a vulnerable component does not imply that the vulnerable function will inevitably be triggered [20]. Due to a lack of awareness regarding runtime invocation paths, existing technologies cannot distinguish between potential risks and substantive threats [21], leading to numerous uninvoked components being flagged as high-risk. This over-assessment not only interferes with security decision-making but also causes severe “alert fatigue.” Define a function to describe the real conditions under which a vulnerability is triggered, thereby contrasting the limitations of traditional SCA. For instance, define an actual security risk index for a component, which not only depends on the existence of the vulnerability but also on the reachability of its call path in space communication tasks:

3.2.2. Complex Dependency Chains

Software supply chain risks exhibit significant chain-propagation characteristics [22]. Static analysis struggles to accurately model cross-component joint-invocation relationships, leading to missed complex vulnerabilities triggered by multi-component interactions and weakening the depth and comprehensiveness of risk assessment.

3.2.3. Surging Operational Costs

Remediation recommendations based on static analysis typically involve direct upgrades or replacements [23]. However, component upgrades often involve API changes or compatibility issues, necessitating extensive regression testing of business logic [24,25]. The blind remediation strategy results in a massive waste of human resources and operational costs [26,27].

3.3. Model Building

Figure 3 presents the scene structure diagram of the software supply chain of the space communication satellite payload, clearly showing the interrelationships among the payload, software components, vulnerabilities, and attack links. In view of the dual dilemma faced by static analysis regarding accuracy and remediation costs, this paper proposes SSCRPDM based on bytecode instrumentation technology.
Figure 3. Software supply chain scenario for a space communication satellite payload.
The method utilizes bytecode instrumentation to monitor the actual invocation paths of components in real time, precisely identifying whether vulnerable interfaces are actually triggered, thereby eliminating invalid false positives. Furthermore, combined with an automated Proof of Concept (PoC) verification mechanism, it definitively confirms the exploitability of risks within the current security context. The study aims to focus remediation efforts on high-risk components that are genuinely invoked without altering business logic, thereby significantly reducing the security governance costs of the software supply chain while enhancing the precision of risk assessment.
To operationalize this conceptual model within the proposed SSCRPDM framework, we map these variables to specific runtime metrics. First, to eliminate “zombie components” and calculate the practical invocation probability, we define the dynamic reachability function δ r e a c h as a binary variable:
  δ r e a c h m , T = 1 ,   ∃ t ∈ T   s . t . m e t h o d   m   i s   i n v o k e d 0 , o t h e r w i s e  
Here, m represents the core risk function within component, and T denotes the satellite’s operational period or the observation time window for a specific task. Only when δ r e a c h = 1 does this component be regarded as having runtime risk, thereby eliminating the useless “zombie components”.
Furthermore, reachability is not equivalent to exploitability. To quantify the actual hazard under the satellite-ground link’s defense context, we introduce δ e x p l o i t as the coefficient of vulnerability exploitation effectiveness. This is determined through automated Proof of Concept (PoC) verification:
δ e x p l o i t = 1.5 , h i g h   r i s k   1.0 , m e d i u m   r i s k 0.5 , l o w   r i s k  
Finally, in order to accurately assess the threat that the vulnerability poses to the satellite-ground link, the final risk score RS(i) is defined:
  R S i = C V S S ⋅ δ e x p l o i t i ⋅ δ r e a c h i , t
C V S S : The industry standard base score for this vulnerability.
The three formulas above constitute a progressive risk quantification system, whose logical correctness can be formally derived as follows:
(1)
Static candidate set and runtime reachability filtering
Formula (1) defines the binary reachability coefficient δ r e a c h From the perspective of set theory, the risky component set after reachability filtering R 1 satisfies:
R 1 = i ∈ R 0 δ r e a c h m i , T = 1
where R 0 is the candidate risky component set output by static SCA. Since components with δ r e a c h = 0 are never invoked during the mission period, they cannot pose any actual threat to the system. This step strictly proves mathematically that removing such components from the risk list will not introduce false negatives, which is the theoretical basis for reducing false positives in the first stage.
(2)
Exploitability calibration based on PoC verification
Formula (2) introduces the exploitability coefficient δ e x p l o i t to distinguish the hazard degree of reachable vulnerabilities. Even if a vulnerability is reachable ( δ r e a c h = 1 ), its actual risk varies significantly depending on whether the input is controllable and whether there is an effective sanitizer. δ e x p l o i t quantifies this difference through three-level coefficients, realizing the transition from “reachable or not” binary judgment to “how dangerous it is” continuous measurement.
(3)
Multi-dimensional risk fusion and prioritization
Formula (3) combines the static vulnerability severity with the two runtime correction factors
R S ( i ) = C V S S i   δ r e a c h ( m i , T ) ⋅ δ e x p l o i t ( i )  
Zero-risk property: If   δ r e a c h m i , T = 0 , then R S i = 0 . Thus, a statically matched vulnerability that is not observed at runtime is not treated as an active threat within the current operational window.
Monotonicity: For a fixed C V S S i and   δ r e a c h ( m i , T ) = 1 , R S ( i ) increases with δ e x p l o i t ( i ) . Therefore, candidates with stronger PoC evidence receive higher risk priorities.
This set of formal models mathematically establishes the rationale for a detection pipeline consisting of static screening, dynamic reachability filtering, and exploitability calibration, thereby providing a theoretical foundation for the subsequent module design.

4. SSCRPDM

4.1. Overview

To reduce the false-positive rate of traditional Static Software Composition Analysis (SCA) in software supply chain risk detection, this paper proposes a Software Supply Chain Risk Precise Detection Method based on Dynamic Bytecode Instrumentation (SSCRPDM). Unlike conventional methods that only match component names and versions against CVE records, SSCRPDM extracts risk functions from CVE descriptions, CWE categories, security advisories, patch differences, and known exploitation chains. The extracted risk functions are then used to generate a minimal instrumentation policy, capture runtime invocation paths, trace external input propagation, observe sanitizer execution, and combine PoC verification with rule-bounded LLM-assisted analysis for vulnerability risk classification [28].
Let the target application be denoted as (A), and its dependency set be defined as:
  D = d i = c i , v i , p i , r i i = 1,2 , … , n
where c i denotes the component name, v i denotes the component version, p i denotes the parent node in the dependency graph, and r i denotes whether the dependency is direct or transitive. The CVE records in the vulnerability database are represented as:
  V = v u l j = i d j , c p e j , V j a f f , c v s s j , d e s c j j = 1,2 , … , m
where i d j denotes the CVE identifier, c p e j denotes the affected product identifier, V j a f f denotes the vulnerable version range, c v s s j denotes the CVSS base score, and d e s c j denotes the vulnerability description.
The overall workflow of SSCRPDM can be formalized as:
  L = C R 0 , Φ , I , Ω , P , R 0 = S D , V , Φ = G R 0 , I = I Φ
where R 0 denotes the set of candidate risky components obtained by static matching, Φ denotes the extracted risk function set, I denotes the minimal instrumentation policy generated according to Φ , Ω denotes the runtime observations collected through dynamic bytecode instrumentation, P denotes the PoC verification result, and L denotes the final risk level.
SSCRPDM follows a six-layer workflow. First, the application dependency set D and vulnerability library V are matched to generate the candidate risk set R 0 Second, CVE information in R 0 is parsed to extract the structured risk function set Φ . Third, Φ is used to generate a minimal instrumentation policy I . Fourth, the policy is deployed in the JVM to collect runtime records Ω and evaluate function reachability and parameter controllability. Fifth, reachable risk paths are verified through PoC replay to obtain exploitability and sanitizer-effectiveness results P . Finally, R 0 , Φ , Ω , and P are fused to calculate the risk score R S j and determine the final risk level L This workflow suppresses unreachable or effectively sanitized vulnerabilities while assigning higher scores to risks that are reachable, controllable, and practically exploitable.
The novelty of SSCRPDM lies in three aspects. First, it extracts CVE-oriented risk functions and transforms vulnerability information from component-level matching into function-level localization. Second, it uses the extracted risk functions to guide dynamic instrumentation, making the transfer from static analysis to runtime analysis explicit and traceable. Third, it integrates PoC verification results into the structured LLM input, so that the final classification is based on static vulnerability information, runtime invocation behavior, and exploitability verification rather than isolated tool outputs. The SSCRPDM structure is shown in Figure 4.
Figure 4. A SSCRPDM framework for risky-component identification, runtime reachability analysis, and exploitability verification in satellite payload software.

4.2. Dependency Graph Construction

In the dependency analysis stage, SCA tools are employed to automatically parse the build files and dependency configuration files of the target application [9], as shown in Figure 5. By using the native dependency resolution capability of SCA tools, third-party components, version information, and hierarchical dependency relationships can be extracted without additional custom logic. To support subsequent vulnerability matching and risk assessment, the extracted dependency information is further represented as a directed graph:
  G = N , E
where N represents the application component, third-party components, and their versioned instances, while E represents dependency relationships. If component c a depends on component c b , there is a directed edge:
  e a b = c a , c b , t y p e , s c o p e
where t y p e denotes whether the dependency is direct or transitive, and s c o p e denotes the dependency scope, such as compile, runtime, or test. For each dependency d i = ( c i , v i , p i , r i ) , if its name matches the CPE or alias of a CVE record and its version v i falls into the affected version set V j a f f , it is added to the candidate risky component set:
  R 0 = d i , v u l j M a t c h c i , c p e j = 1 ∧ v i ∈ V j a f f
where M a t c h c i , c p e j denotes a normalized matching function among component name, GroupId, ArtifactId, package name, and CPE name. The output of this stage is not the final risk conclusion, but a candidate set for subsequent dynamic verification. Therefore, the method avoids directly equating “a component with a known CVE” with “an exploitable runtime risk”.
Figure 5. Dependency relationship extraction.

4.3. Static Vulnerability Identification

For each matched CVE record, SSCRPDM parses its vulnerability description, CWE category, security advisory, patch information, and known exploitation chain to identify functions related to vulnerability triggering and propagation. This stage refines component-level CVE matching results into function-level risk objects for subsequent dynamic bytecode instrumentation [29].
Taking CVE-2021-44228 as an example, its description indicates that the affected product is the log4j-core component of Apache Log4j2. As shown in Figure 6, the original unstructured CVE description is parsed into a structured vulnerability tuple:
  V j = I D j , P j , S j , V j a f f e c t e d
where I D j denotes the CVE identifier, P j denotes the affected product, S j denotes the vulnerability description or semantic information, and V j a f f e c t e d denotes the affected version range. The meaning of each field is shown in Table 2.
Figure 6. Description of CVE vulnerability.
Table 2. Explanation of Structure V.
To support function-level analysis, the structured CVE information is further transformed into a risk function representation:
  ϕ j = E n t r y j , S i n k j , C o n d j , T y p e j , E v i j
where E n t r y j denotes the possible trigger entry, S i n k j denotes the risky function or dangerous operation, C o n d j denotes the trigger condition, and T y p e j denotes the vulnerability type.
The extraction process integrates CVE semantic parsing, patch comparison, and bytecode confirmation to identify risk entries, sinks, trigger conditions, and sanitizer points. Only CVE records whose sink functions exist in the target component bytecode are retained for dynamic instrumentation.
The risk function set is defined as:
Φ = ϕ j d i , v u l j ∈ R 0 ∧ E x i s t s S i n k j , d i = 1
where E x i s t s S i n k j , d i indicates whether the corresponding sink function can be located in the bytecode of component d i . Through this process, SSCRPDM narrows the analysis scope from vulnerable components to concrete risk functions, providing a clear basis for minimal bytecode instrumentation.
Once a component containing a CVE is matched, it is not directly regarded as an exploitable risk. Instead, the vulnerability mechanism is further analyzed to identify the core risk functions that may trigger the vulnerability. In this paper, a risk function refers to a trigger entry, security-sensitive sink, or key method related to vulnerability exploitation, which is identified from CVE/NVD descriptions, public vulnerability reports, exploit mechanisms, official patches, and known call chains. Table 3 enumerates representative risk functions associated with common supply chain components [6,26].
Table 3. List of Risk Functions.
Based on this definition, the extraction process first identifies the affected component and vulnerability type from CVE/NVD descriptions and public reports, then maps the vulnerability behavior to possible trigger entries and core risk methods, and finally verifies whether these methods exist in the bytecode of the matched component version. Only verified methods are retained as instrumentation targets. Therefore, the functions listed in Table 3 are not selected arbitrarily, but are determined according to vulnerability descriptions, exploit mechanisms, patch locations, and bytecode-level verification. These risk functions provide direct inputs for the dynamic instrumentation strategy in the next stage.

4.4. Runtime Reachability Analysis

After risk functions are extracted, SSCRPDM uses a Java Agent to monitor the application during runtime [16]. During class loading, the Agent instruments only the methods related to the extracted risk functions, rather than the entire component or all methods. As shown in Figure 7, when a risk-related interface is triggered, the system records its invocation context, method parameters, call stack, input source, sanitizer execution, and associated HTTP request entry. In the figure, the solid arrows indicate the results generated during the intermediate processing stages, whereas the dashed arrows indicate the final results. In this way, only components actually invoked during actual in-orbit business operations are regarded as runtime reachable [4] within the specific observation window. It should be noted that this empirical definition of reachability is premised on continuous monitoring within the actual production environment, rather than simulated testing environments.
Figure 7. Risk interface analysis flowchart.
To make the instrumentation scope explicit, this paper defines a risk-function-guided minimal instrumentation strategy. For any method (m), the instrumentation decision is defined as:
  I m = 1 , m ∈ E n t r y j ∪ S i n k j ∪ S a n i t i z e r j 1 , m ∈ D a n g e r o u s A P I ∧ R e a c h a b l e ( m , S i n k j ) = 1 0 , o t h e r w i s e
where S a n i t i z e r j denotes security filtering functions related to vulnerability mitigation, such as validation, escaping, filtering, protocol allowlist checking, and deserialization type restrictions. D a n g e r o u s A P I denotes system-level sensitive APIs.
Formula (15) restricts instrumentation to CVE-related entry, sink, sanitizer, and reachable dangerous API methods. Compared with full-component instrumentation, this policy reduces unnecessary bytecode enhancement and provides a formal basis for the lightweight runtime overhead evaluated in Section 5.6.
In implementation, the Java Agent instruments target methods through ClassFileTransformer and bytecode enhancement. Each probe generates a runtime record:
  o t = r i d , t , c , m , s t a c k , p a r a m , s r c , t a i n t , s a n , r e t
where r i d denotes the request identifier, t denotes the timestamp, c denotes the component name, m denotes the invoked method, s t a c k denotes the call stack hash, p a r a m denotes the desensitized parameter digest, s r c denotes the input source, t a i n t denotes whether external input propagates to the sink parameter, s a n denotes whether an effective sanitizer is executed before the sink, and r e t denotes the return status or exception information.
Formula (16) defines a standardized runtime record, and the complete observation set is denoted by Ω = { o t } . This set serves as the unified data carrier connecting runtime instrumentation with subsequent reachability analysis, PoC verification, and LLM-based risk assessment.
Runtime reachability of vulnerability ρ j is defined as:
  ρ j = 1 , ∃ o t ∈ Ω , o t . m ∈ S i n k j ∧ P a t h ( E n t r y j , S i n k j ) = 1 0 , o t h e r w i s e
where ρ j = 1 indicates that the corresponding risk function is triggered during runtime, while ρ j = 0 indicates that the component exists in the dependency tree but the related risk function is not invoked within the observation period.
Formula (17) provides the vulnerability-level implementation of the reachability coefficient   δ r e a c h introduced in Formula (1). When ρ j = 0 , the corresponding risk score R S j is set to zero in Formula (21), thereby filtering out vulnerabilities whose risky execution paths are not observed at runtime.
The parameter controllability variable is further defined as:
Y j = 1 , E x t e r n a l I n p u t → P a r a m ( S i n k j ) 0 , o t h e r w i s e
where γ j = 1 means that external input can propagate to the parameter of the risk function. Only vulnerabilities satisfying ρ j = 1 and γ j = 1 are submitted to the subsequent PoC verification stage.
Formula (18) determines whether external input can influence the critical parameters of S i n k j Since parameter controllability is a prerequisite for practical exploitation, γ j is incorporated into the weighted risk score in Formula (21), with its contribution controlled by the weight λ 1 .

4.5. Exploitability Verification

In this stage, SSCRPDM verifies the exploitability of identified risk paths through controlled PoC replay [30]. The system replays the corresponding request entry in an isolated or authorized testing environment, injects CVE-specific payloads into externally controllable parameters, and observes whether the sink function is triggered and whether an observable exploitation effect is produced.
The PoC verification result is defined as:
η j = 1 , H i t ( S i n k j ) = 1 ∧ M a r k e r ( S i n k j ) = 1 ∧ E f f e c t j = 1 ∧ σ j = 0 0.5 , H i t ( S i n k j ) = 1 ∧ M a r k e r ( S i n k j ) = 1 ∧ E f f e c t j = 0 0 , o t h e r w i s e
where H i t ( S i n k j ) indicates that the sink function is triggered, M a r k e r ( S i n k j ) indicates that the PoC marker reaches the sink parameter, and E f f e c t j denotes observable exploitation effects, such as callback behavior, command execution logs, exception stacks, file access, or database execution. σ j denotes sanitizer effectiveness:
  σ j = 1 , S a n i t i z e r j   i s   e x e c u t e d   b e f o r e   S i n k j   a n d   b l o c k s   m a l i c i o u s   d a t a 0 , o t h e r w i s e
The final risk score is calculated as:
  R S j = c v s s j ⋅ ρ j ⋅ λ 1 γ j + λ 2 η j + λ 3 1 − σ j
where ρ j denotes runtime reachability, γ j denotes parameter controllability, η j denotes the PoC verification result, and σ j denotes sanitizer effectiveness. λ 1 , λ 2 , and λ 3 are the corresponding weights and satisfy:
  λ 1 + λ 2 + λ 3 = 1
In this paper, λ 1 = 0.3, λ 2 = 0.5, and λ 3 = 0.2 are adopted. According to η j and (RS_j), risky components are classified into three levels: High Risk indicates that the PoC is successfully triggered and the payload reaches the sink without effective filtering; Medium Risk indicates that the path is reachable but the payload is intercepted, sanitized, or fails to produce an exploitable effect; Low Risk indicates that the path is unreachable or the sink cannot be triggered during verification.

4.6. LLM Analysis

Unlike existing LLM-based vulnerability assessment methods that directly input unstructured CVE descriptions or source code and rely on the model to independently infer risk, SSCRPDM does not use the LLM as an autonomous vulnerability classifier. Instead, it introduces an evidence-constrained LLM analysis mechanism that organizes the outputs of static localization, runtime reachability analysis, parameter controllability analysis, sanitizer evaluation, and PoC verification into a unified structured input. The originality of this stage therefore lies not in the use of an LLM itself, but in the explicit coupling of deterministic security evidence with LLM-based semantic interpretation.
Given the complexity of call stacks and vulnerability data, this stage introduces a Large Language Model (LLM) as an auxiliary analysis engine [31]. Component versions, CVE descriptions, extracted risk functions, dynamic call stacks, PoC verification results, and partially desensitized business code snippets are constructed into a structured prompt context. In this paper, GPT-3.5 is used to analyze the vulnerability cause, invocation path, sanitizer status, and remediation suggestions [32].
For vulnerability v u l j , the input of the LLM analysis stage is defined as:
X j = v u l j , ϕ j , Ω j , ρ j , γ j , η j , σ j , R S j
where v u l j denotes the CVE record, ϕ j denotes the extracted risk function, Ω j denotes the runtime records related to v u l j , ρ j denotes runtime reachability, γ j denotes parameter controllability, η j denotes the PoC verification result, σ j denotes sanitizer effectiveness, and R S j denotes the calculated risk score.
Equation (23) constitutes the first distinction from conventional LLM-based vulnerability analysis. Rather than allowing the LLM to infer exploitability directly from vulnerability descriptions, SSCRPDM binds the analysis to function-level static evidence, runtime execution evidence, and PoC-based exploitability evidence. Thus, every LLM conclusion can be traced to a specific risk function, runtime path, controllability state, sanitizer state, and verification result.
The LLM input vector X j encapsulates all core variables defined in Formulas (1)–(21), ensuring model analysis is fully bounded by deterministic runtime metrics rather than unconstrained text, solving the reproducibility defect of pure LLM vulnerability assessment.
To improve system performance during dynamic evaluation, a caching mechanism is introduced to avoid repeated analysis of identical call paths. The cache key is defined as:
  K j = H a s h i d j , S i n k j , s t a c k j , p a r a m j , ρ j , γ j , η j , σ j
where s t a c k j denotes the call stack hash and p a r a m j denotes the desensitized parameter digest. If v already exists in the cache, the previous analysis result is reused.
The structured prompt is constructed as:
  P r o m p t j = P X j , T
where T denotes predefined analysis constraints, including reachable path, controllable parameter, effective sanitizer, successful PoC, and risk level rules. In particular, the prompt explicitly defines valid application-level sanitizers.
Equation (25) represents the second methodological distinction. The prompt is not generated solely from natural-language templates; instead, it is jointly determined by the evidence vector X j and the formal constraint set T . Consequently, the LLM is required to explain the supplied evidence rather than generate an independent risk judgment without measurable support.
The LLM output is defined as:
Y j = M θ P r o m p t j , τ
where M θ . denotes the LLM and τ denotes the temperature parameter. In this paper, τ = 0.2 is adopted to reduce output randomness. The output is represented as:
Y j = C a u s e j , P a t h j , S a n j , F i x j , L ~ j
where C a u s e j denotes the vulnerability root cause, P a t h j denotes the attack path analysis, S a n j denotes the sanitizer analysis result, F i x j denotes the remediation suggestion, and L ~ j denotes the risk level suggested by the LLM.
The final risk level is determined by rule-based classification:
  L j = H i g h , η j = 1 ∧ R S j ≥ θ H M e d i u m , ρ j = 1 ∧ γ j = 1 ∧ η j < 1 ∧ R S j ≥ θ M L o w , ρ j = 0 ∨ γ j = 0 ∨ R S j < θ M
where θ H and θ M are the thresholds for high-risk and medium-risk classification, respectively. The LLM-generated risk level L j is used only as an auxiliary reference. If L j conflicts with the rule-based result L j , the rule-based result is retained. In this way, the LLM analysis stage converts complex call stacks, vulnerability descriptions, PoC results, and code contexts into readable reports, while keeping the final risk classification explicit and reproducible.
The detailed workflow of the LLM Semantic Evaluation is presented in Algorithm 1, which includes cache verification, semantic prompt construction, LLM inference, response parsing, and result caching. Based on this workflow, the innovation of this stage can be summarized as a three-part mechanism: (1) a cross-stage evidence vector that unifies function-level static information, runtime behavior, sanitizer status, and PoC results; (2) an evidence- and rule-constrained prompt that bounds LLM reasoning to verified security facts; and (3) a decision-decoupling strategy in which the LLM generates interpretable causes, paths, and remediation suggestions but cannot override the deterministic risk classifier. These mechanisms distinguish SSCRPDM from approaches that merely apply an LLM to vulnerability descriptions or source code and make the resulting analysis traceable, reproducible, and suitable for security-critical risk assessment.
Algorithm 1: LLM Semantic Evaluation
Input: The Large Language Model interface, Callchain
Output: RiskLevel
  • Cache Verification for Performance Optimization
  • CacheKey = GenerateHash(CallChain)
  • if Cache.contains(CacheKey) do
  • return Cache.get(CacheKey)
  • Semantic Prompt Construction
  • Prompt = “Analyze the following call chain for effective risk sanitization logic.\n”
  • Prompt = Prompt + “Valid Sanitizer Definition: Functions containing keywords such as ‘sanitize’, ‘filter’, ‘clean’, ‘escape’, or ‘validate’.\n”
  • Prompt = Prompt + “Evaluation Criteria:\n”
  • Prompt = Prompt + “- HIGH Risk: Sink reached with no effective sanitizer.\n”
  • Prompt = Prompt + “- MEDIUM Risk: Sanitizer present but logic may be incomplete.\n”
  • Prompt = Prompt + “- LOW Risk: Valid and effective sanitizer executed before sink.\n”
  • Prompt = Prompt + “Call Chain Context:\n” + CallChain
  • LLM Inference
  • Temperature is set to 0.2 to ensure deterministic, analytical output 17: Response = LLM_Engine.generate(Prompt, temperature = 0.2)
  • Result Parsing and Caching
  • if Response contains “riskLevel: HIGH” then
  • RiskLevel = HIGH
  • else if Response contains “riskLevel: LOW” then
  •   RiskLevel = LOW
  • else
  •   RiskLevel = MEDIUM
  • end
  • Cache.put(CacheKey, RiskLevel)
  • return RiskLevel

5. Experiments and Analysis

In software-defined satellite systems and 6G non-terrestrial networks, JVM-based services can be deployed on satellite edge nodes, payload data processing gateways, and ground control systems to support functions such as telemetry processing, telecommand parsing, mission data forwarding, and secure logging. To evaluate this applicability, we built a space-oriented testbed using representative telemetry/telecommand workloads and intermittent link conditions, while constraining CPU and memory resources to simulate an edge deployment environment. Fastjson (v1.2.24) and Log4j (v2.11.0)were selected as reproducible third-party software supply chain vulnerability cases, rather than being claimed as satellite-specific vulnerabilities. In this context, SSCRPDM targets the same core software supply chain elements required by such systems: dependency resolution, runtime invocation, propagation of external inputs, and execution at security-sensitive sinks. Therefore, experimental results validate the application of SSCRPDM to JVM-based satellite edge software and ground control software under space mission operational constraints.

5.1. Dataset Construction

The experiment used the Trickest CVE repository [33] as the reference CVE and proof-of-concept (PoC) dataset. The repository collects CVE information, organizes the records by year, and identifies publicly available PoCs through CVE reference links and GitHub repositories. The local snapshot used in this study contained more than 300,000 CVE records covering the period from 1999 to 2025. Its website and access date are provided as follows: Available online: https://github.com/trickest/cve.
The Goblin Maven Central dependency graph dataset (version 2024-08-30) [34], provided as the goblin_maven_30_08_24.dump file, was utilized to query component dependency relationships within Maven projects. Basic nodes and relationships—such as Artifact, Release, and dependency—were validated. Furthermore, Cypher queries were employed to confirm the dependency relationships of specific components, such as fastjson and log4j-core. The dataset construction proceeded through the following steps:
  • Step 1: Search for the target component ID.
  • Step 2: Query dependencies based on the target component ID information.
  • Step 3: Consolidate the queried dependency chains to form the dataset.
Figure 8 illustrates the dependency relationships of the target component “org.apache.logging.log4j:log4j-core,” including metadata such as component ID, version, and timestamp. The [:dependency] edges indicate the component’s dependencies on downstream elements, with annotated dependency scopes. For the specific version log4j-core:2.11.0, the system not only identifies the component itself but also fully maps its dependencies on downstream artifacts such as commons-io and jmdns, along with their respective scopes, via the defined dependency relationships.
Figure 8. Component dependency query results.

5.2. Experimental Workflow

  • SCA Scanning
In Maven projects, dependency version information is explicitly declared in the pom.xml file, and the complete dependency tree can be retrieved by executing the mvn dependency:tree command. Consequently, the SCA tool is employed to scan the project’s pom.xml file or the generated dependency tree to identify components containing CVEs; these are subsequently defined as risky components. Upon scanning the application containing the Fastjson component, the results are illustrated in Figure 9, which revealed a total of 50 detected CVEs. The star symbol is defined by the Dependency-Check tool and indicates that the corresponding result may be a potential false positive. Therefore, vulnerabilities marked with a star cannot be directly regarded as confirmed vulnerabilities and must be further verified according to the actual runtime invocation and execution conditions.
Figure 9. SCA scanning results.
  • Reachability Analysis
Based on the identified risky components, a bytecode instrumentation Agent is deployed to monitor the key risk methods of the target components. Distinct risk methods are associated with specific risky components.
  • PoC Verification
For triggered risk paths, specific payloads are constructed to execute replay attacks. If the instrumentation logs capture the malicious payload without evidence of sanitization, the risk is adjudicated as a confirmed threat. The overall process is illustrated in Figure 10.
Figure 10. Overall flowchart of the experiment.

5.3. Process Implementation

In the target application, the fastjson component was detected, and SCA scanning revealed a deserialization risk associated with it. Bytecode enhancement was subsequently applied to the component’s JSON.parse() method. Figure 11. displays the runtime logs, which indicate that the probe successfully identified the target server environment, detected server astomcat/9.0.100.0 during the class loading phase, and performed hooking operations on critical classes using the Java Instrumentation API. The log entry ‘insert before method java.lang.UNIXProcess’ demonstrates that the system successfully implanted monitoring logic at the entry point of the underlying process creation method, a prerequisite for capturing Remote Code Execution (RCE) vulnerabilities. Additionally, the logs record the instrumentation of java.io.FileInputStream and com.mysql.cj.jdbc.StatementImpl, verifying that the system possesses comprehensive runtime awareness regarding file operations and SQL execution.
Figure 11. Fastjson alarm log details.
Upon confirming the readiness of the monitoring environment, we proceeded to the PoC verification phase. In the experiment, a malicious JSON payload targeting the Fastjson TemplatesImpl gadget chain was sent to the target range to trigger remote command execution.
The logs indicate that the request was received by person.FastJsonServlet.doGet and processed via the business logic person.Poc.testAutoTypeDeny. Subsequently, the data flowed into JSON.parseObject, the core parsing method of the Fastjson component. This confirms that the component was indeed loaded and invoked within the business logic, verifying the reachability of the risk.Simultaneously, the exploitability of the vulnerability was verified. During the deserialization process, Fastjson triggered the com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl gadget chain. Specifically, the getOutputProperties method invoked newTransformer, which subsequently instantiated the malicious class person.Test constructed by the attacker via the reflection mechanism Constructor.newInstance. At the top of the call stack, person.Test.<init> was executed, attempting to invoke java.lang.ProcessBuilder.start and java.lang.UNIXProcess.<init>. Consequently, the execution path of the risky component is inferred as shown in Figure 12.
Figure 12. Fastjson invocation path.

5.4. Result Analysis

In the experimental analysis, Various indicators such as Precision is used to reflect the effect of SSCRPDM from different perspectives. Precision measures the overall degree of correct prediction by the model [35]. Precision is calculated using Equation (29), and is mainly related to the number of correct detections by the method.
  P r e c i s i o n = T P T P + F P
T P : True Positive, the component does indeed have vulnerabilities and they have been successfully exploited, and the system correctly raised an alarm;
F P : False Positive, components are introduced but not invoked, or invoked but filtered by security mechanisms (with no actual harm), yet the system wrongly raises an alarm.
Upon completion of the experimental testing and the analysis of invocation chain logs, the execution results were summarized and analyzed. Using the JNDI injection vulnerability as a case study, Table 4 presents the number of components detected at each stage by the proposed method.
Table 4. Comparison of scanning results at each stage.
An analysis of the table reveals a dramatic funnel effect in filtering false positives, highlighted by a sharp increase in detection precision. Figure 13 shows, while traditional SCA reported 50 risky components—yielding a precision rate of only 6%—dynamic reachability analysis successfully excluded 76% of these initial alerts that were not utilized at runtime, raising the precision to 25%. Ultimately, PoC verification confirmed that only three components possessed genuine exploitability within the current business context, achieving a flawless 100% precision. It can be concluded that these components are not only present in the dependency list but are also reachable during actual business operations and lack filtration for malicious inputs. Consequently, their risk level is definitively escalated to ‘Critical’.
Figure 13. The comparison results among different methods.
The comparison chart with CVSS is shown in Figure 14. CVE-2017-18349, CVE-2022-25845, and CVE-2016-8735 are of high risk. Their CVSS and RS values both exceed 9.0, indicating extremely high levels. The Risk Scores (RS) and CVSS values for CVE-2016-5388, CVE-2014-0227, CVE-2011-4858, and CVE-2014-0075 all fall within the range of 6.0 to 9.0, and are classified as medium risk. The RS for CVE-2013-4444, CVE-2013-4286, CVE-2012-3544, CVE-2013-4322 and CVE-2014-0099 have decreased when compared with CVSS. They are regarded as low-risk components and fall under low-risk category. The rest are in a risk-free state.
Figure 14. Comparison of CVSS and RS values for the evaluated CVEs.
Table 5 presents the corresponding EPSS for the CVE vulnerabilities. To further analyze the relationship among CVSS, RS, and EPSS, the Pearson correlation coefficient was introduced to quantify the correlation among the three.
Table 5. The corresponding EPSS for the CVE vulnerabilities.
The Pearson correlation coefficient [36] between two variables is defined as the ratio of the covariance between the two variables to the standard deviation:
  ρ X , Y = c o v ( X , Y ) σ X σ Y     = E [ X − μ X Y − μ Y ] σ X σ Y  
This formula defines the overall correlation coefficient, and commonly uses Greek lowercase letters as the representative symbols. By estimating the covariance and standard deviation of the sample, the Pearson correlation coefficient can be obtained, which is represented by the common English lowercase letter:
  r = ∑ i = 1 n ( X i − X ¯ ) ( Y i − Y ¯ ) ∑ i = 1 n ( X i − X ¯ ) 2 ∑ i = 1 n ( Y i − Y ¯ ) 2
A three-dimensional correlation analysis was conducted on the CVSS, EPSS and RS scores of 50 CVE samples. Figure 15 presents the two-dimensional correlation between CVSS and RS. Each dot represents one CVE sample, with its horizontal and vertical coordinates corresponding to the CVSS and RS scores, respectively. The dashed line is the linear trendline automatically to calculate the coefficient of determination. The two-dimensional scatter plot analysis revealed that Figure 15 shows a Pearson correlation coefficient r = 0.481556 between CVSS and RS, indicating a significant moderate positive correlation, suggesting a positive association between the inherent hazard of the vulnerability and the real-time risk.
Figure 15. Correlation analysis between RS and CVSS.
However, there are many discrete samples, indicating that RS introduces an additional risk dimension. Figure 16 shows the correlation between CVSS and EPSS, with r = 0.325269, indicating a significant weak positive correlation, reflecting the difference in assessment perspectives between the static technical hazard and the dynamic utilization probability. Figure 17 shows the correlation between RS and EPSS, with r = 0.9232, being the strongest among the three groups of correlations, indicating that RS highly integrates the vulnerability exploitability represented by EPSS and the real-time threat intelligence, and is more in line with the actual combat scenario.
Figure 16. Correlation analysis between CVSS and EPSS.
Figure 17. Correlation analysis between RS and EPSS.
In conclusion, CVSS, EPSS and RS have significant complementarity: CVSS establishes the baseline of inherent hazards, EPSS quantifies the utilization probability, RS integrates multiple dimensions to form a comprehensive and real-time risk assessment, and combined use can achieve precise vulnerability priority ranking, providing a scientific basis for security resource allocation.
The experiment validates the correctness of the closed-loop detection logic. The call stacks within the alert logs demonstrate that relying solely on static version matching is insufficient to characterize risk; only by integrating runtime invocation chains (Call Stacks) can the substantive hazard of a vulnerability be confirmed. Unlike traditional scanning tools that merely report the presence of a Fastjson vulnerability, SSCRPDM provides precise ‘line-level’ risk localization by capturing runtime execution and specific system commands. Furthermore, this study incorporates a Large Language Model (GPT-3.5) to perform automated assessment and analysis of experimental data, thereby enhancing the intelligence and precision of the risk assessment.

5.5. Runtime Validation on the Yamcs System

To validate the applicability of SSCRPDM in a realistic space mission context, we constructed a simulation environment using Yamcs, a prominent open-source Mission Control System implemented in Java. Yamcs is widely utilized for payload testing, satellite telemetry processing, and telecommand execution. We deployed Yamcs as a simulated ground control gateway. The SSCRPDM Java Agent was seamlessly attached to the Yamcs JVM instance. To simulate dynamic orbital operations, a continuous workload of standard space communication protocols was generated, feeding telemetry (TM) streams at 100 Hz and sporadically issuing telecommand (TC) requests. We selected typical vulnerable dependencies within the Yamcs ecosystem (e.g., specific versions of Netty for network I/O or SnakeYAML/Jackson for configuration parsing) as our targets to simulate a supply chain attack via maliciously crafted TC payloads.
As shown in Figure 18, during the benchmark testing in the Yamcs aerospace mission control environment, traditional SCA exposed 142 potential vulnerabilities, leading to severe alert fatigue. By introducing the SSCRPDM framework, the dynamic reachability analysis precisely isolated and stripped away zombie components that were not invoked by the core TM/TC business execution chains, drastically reducing the risk baseline to 18 items, which are the component set where ρ j = 1. The final PoC verification stage further confirmed that only 2 vulnerabilities were not blocked by effective sanitizers ( η j = 1), thereby achieving a precise convergence from massive static noise to a very few critical threats.
Figure 18. Yamcs verification results.
Yamcs incorporates a massive dependency graph to support various satellite plugins and database backends. Traditional SCA reported numerous candidate CVEs across the entire platform. However, under the specific mission profile, SSCRPDM’s dynamic reachability analysis confirmed that over 85% of these vulnerable components were zombies never invoked by the core telemetry processing threads, drastically reducing alert fatigue for ground operators.

5.6. Resource Expenditure

The payload of space communication satellites is subject to strict SWaP (size, weight and power) limitations, and its computing and storage resources are extremely scarce. To assess the impact of SSCRPDM on the in-orbit standard service performance, this section simulates an in-orbit resource-constrained environment and compares the performance of systems with and without enabling SSCRPDM when processing standard space communication protocol requests. Table 6 details the resource consumption of the system during the continuous 60 s processing of standard space communication service requests.
Table 6. Resource consumption comparison with and without SSCRPDM deployment.
Figure 19 and Figure 20 present the change curves more intuitively. In the baseline state without the instrumentation mechanism, due to the tidal changes of normal business loads, the CPU utilization of the system fluctuates dynamically between 19% and 31%, while the memory usage remains stable at approximately 119 MB to 128 MB. After deploying the proposed SSCRPDM dynamic instrumentation mechanism, the system still maintains a highly stable operating state. The analysis of key performance indicators indicates that the additional CPU overhead introduced by SSCRPDM is on average 7.01%, and the absolute increment in memory consumption is strictly controlled within approximately 9.2 MB. This continuous slight performance loss fully proves that this mechanism adopts an efficient on-demand detection strategy, not only does it not cause substantial interference to the execution efficiency of the main business, but also demonstrates its outstanding lightweight advantages and engineering deployment feasibility in the highly scarce computing and storage resources of the vehicle-mounted environment.
Figure 19. Comparison of CPU utilization rate.
Figure 20. Comparison of memory occupancy.

5.7. Accuracy of LLM Engine

In this experiment, we used LLM to automatically parse the captured system operation log “alarm.log” and the CVE List related to the project. The log recorded a typical injection attack targeting the downstream components of the software supply chain.
  • Triggering source: The attacker initiates a malicious HTTP GET request through person.FastJsonServlet.doGet.
  • Vulnerability component chain: The request proceeds to the com.alibaba.fastjson library for deserialization processing. LLM identified that the call to com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl in the stack is the core exploitation point of this vulnerability, and it triggered illegal class instantiation through the getOutputProperties method.
  • Execution outcome: The attacker successfully exploited the reflection mechanism to bypass security restrictions and ultimately invoked java.lang.ProcessBuilder.start to execute the system command ps-ef.
LLM, based on the reachability of the runtime call stack, has conducted a refined classification of the involved CVE vulnerabilities. The results are presented in the following Table 7.
Table 7. Vulnerability Risk Classification Table Based on Runtime Analysis.
To quantitatively evaluate the effectiveness of the large model-driven dynamic analysis method, the experiment selected 50 known CVE vulnerabilities from the project as the sample set. The experimental results are shown in Figure 21.
Figure 21. Comparison of the accuracy of vulnerability identification between traditional SCA and LLM methods.
When dealing with the same 50 potential risk points, the large model demonstrated extremely high discrimination ability. Traditional SCA tools, due to their inability to perceive the reachability of the code, generated as many as 38 false alarms in this experiment. However, the research method in this study, by understanding the call chain semantics through the large model, marked components with known vulnerabilities as low risk if they were not present in the stack, thereby reducing 94.7% of invalid alerts. At the same time, LLM can identify cross-component exploitation chains, and this deep semantic correlation is not possessed by traditional version number matching tools.
To evaluate the LLM stage quantitatively rather than anecdotally, we treated the PoC-verified risk level of each of the 50 CVE samples as ground truth and compared it against the LLM-assigned level. Using the three-level labels (High/Medium/Low) collapsed to a binary exploitable/non-exploitable decision, the LLM classifier achieved a precision of 0.95, a recall of 0.92, and an F1-score of 0.93, with a single false negative (a medium-risk sanitized path that the model over-trusted) and one false positive among the 50 samples; the macro-averaged accuracy over the three-level task was 94%. Table 8 summarizes the confusion between the LLM verdict and the PoC ground truth. We also assessed the 12 remediation snippets that the model generated for the high-risk findings: 10 of 12 (83%) compiled and applied without modification and correctly closed the verified data flow (e.g., enabling Fastjson SafeMode, removing the unused xalan transformer), while 2 required minor manual adjustment of version constraints. These figures quantify both the benefit and the residual error rate of the LLM stage and motivate retaining the deterministic PoC verdict as the authoritative signal.
Table 8. Confusion Matrix of LLM Vulnerability Risk Classification vs. PoC Ground Truth (N = 50).
LLM automatically generated protection suggestions for the identified high-risk vulnerabilities:
  • In response to the command_reflect attack behavior identified in the logs, it is recommended to implement interception policies in the RASP (Runtime Application Self-Protection) module, and prohibit fastjson from triggering ProcessBuilder.
  • It is recommended to urgently upgrade FastJson to version 1.2.83 or above, and globally enable SafeMode to completely disable the AutoType function.
  • During the build phase (CI/CD), remove the no-longer-used xalan.jar and related vulnerable Transformer auxiliary classes to reduce the attack surface.

6. Discussion

6.1. Applicability and Runtime Coverage

The proposed SSCRPDM is mainly applicable to software systems whose runtime behavior can be captured through dynamic instrumentation. In this paper, the method is implemented for Java-based applications using the Java Instrumentation API, making it suitable for JVM-based satellite payload software, ground-control services, and Web applications with complex third-party dependencies. Its key advantage lies in converting static dependency risks into function-level runtime evidence without modifying the original business logic. For native binaries or statically compiled programs, future work may extend SSCRPDM with binary rewriting or dynamic tracing mechanisms. Moreover, the core prerequisite for our reachability determination is that the system operates under a mission-representative workload over a sufficient observation period in the real-world environment. We acknowledge the inherent limitation of dynamic instrumentation regarding path coverage. If a vulnerable function resides in a rarely executed branch (e.g., edge-case exception handling or specific periodic maintenance tasks) that is not triggered during the continuous observation window, it will be classified as unreachable ( ρ j = 0). This could potentially lead to false negatives, where vulnerable code is misjudged as safe simply because its execution conditions were not met during the monitoring phase. To mitigate this, SSCRPDM is designed for continuous, long-term on-orbit monitoring to progressively accumulate execution coverage of actual business logic, rather than relying on the limited coverage of pre-deployment testing. Since reachability depends on the workload executed within the observation window, constructing mission-representative workloads for rare satellite operation modes will be an important direction for further improving the method.

6.2. Comparison with Existing Detection Methods

Compared with traditional SCA, SSCRPDM goes beyond component-version matching and further verifies whether the risky function is actually invoked at runtime. Compared with SAST, it avoids relying only on static code patterns and reduces false positives caused by infeasible paths. Compared with DAST, it provides more precise localization of vulnerable components, risk functions, and invocation chains, rather than only reporting black-box attack symptoms. Compared with IAST, SSCRPDM further introduces CVE-driven risk-function extraction and PoC-based exploitability verification, producing a graded risk result based on reachability, parameter controllability, sanitizer effectiveness, and PoC results. Therefore, its innovation lies not in simply combining existing tools, but in linking static vulnerability discovery with runtime exploitability confirmation at the function level.

6.3. Reproducibility of LLM-Assisted PoC Verification

The LLM module improves the analysis capability of SSCRPDM, especially in understanding complex call stacks, identifying possible sanitizer logic, and assisting payload construction. However, LLM-based generation may vary with model versions and inference settings, making strict reproducibility difficult to fully guarantee at the current stage. To reduce such variation, SSCRPDM adopts fixed prompt templates, predefined output formats, unified classification criteria, and low-temperature inference. More importantly, the final risk score is not determined by the LLM output alone. Any generated payload must be checked through runtime instrumentation. If the payload cannot reach the risk sink or produce observable exploitation effects, the PoC is treated as failed and cannot increase the risk level. Therefore, SSCRPDM uses runtime verification to improve the reliability of LLM-assisted analysis. How to further improve the stability and repeatability of LLM-assisted PoC verification remains an important direction for future research.

7. Conclusions

The study successfully achieves the precise detection and impact assessment of risky components within the software supply chain. We proposed and implemented an innovative method named SSCRPDM, a closed-loop risk assessment framework that integrates SCA version detection, dynamic reachability analysis, and automated PoC verification. This method effectively identifies high-risk components that are actually invoked and maps their vulnerability trigger paths.
Compared to traditional tools that rely solely on static or dynamic analysis, SSCRPDM leverages bytecode instrumentation to filter out ‘zombie components’—those introduced but not loaded. Furthermore, it employs PoC verification to eliminate invalid risks that are intercepted or filtered by business logic, achieving a precise convergence from ‘theoretical risk’ to ‘confirmed threat.’ Experimental results demonstrate that code reachability is not equivalent to exploitability; a vulnerability can only be confirmed as critical if PoC verification proves that the data flow remains unsanitized at the point of risk. Through simulation experiments in the Yamcs space mission control system, it was further demonstrated that this method is feasible in real space communication scenarios and has extremely low performance overhead.
Additionally, this paper utilizes LLMs to automatically generate version-specific verification payloads by combining CVE descriptions with dynamic call chains. This enhances the precision of PoC verification for specific components while reducing manual labor costs. Future work will aim to overcome the limitations of CVE databases by focusing on the discovery of unknown (zero-day) vulnerabilities. By monitoring the anomalous triggering behaviors of underlying sensitive methods, we aim to achieve the automated mining of potential unknown vulnerabilities in supply chain components, thereby further enhancing the system’s active defense efficacy.

Author Contributions

Conceptualization, R.G., N.H. and G.L.; methodology, R.G. and N.H.; software, R.G., Z.H. and F.P.; validation, R.G., N.H., Y.M. and Z.H.; formal analysis, R.G. and Y.M.; investigation, R.G., N.H. and F.P.; resources, G.L. and G.W.; data curation, R.G. and Z.H.; writing—original draft preparation, R.G.; writing—review and editing, N.H., G.L. and G.W.; visualization, R.G. and F.P.; supervision, G.L. and G.W.; project administration, G.L. and G.W. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by NSFC under Grant U23B2021.

Data Availability Statement

The CVE data analyzed in this study are publicly available in the Trickest CVE repository [33]. The Maven component dependency data were obtained from the Goblin Maven dependency graph dataset [34]. The processed data and experimental results generated during this study are available from the corresponding author upon reasonable request.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zimmermann, M.; Staicu, C.-A.; Tenny, C.; Pradel, M. Smallworld with high risks: A study of security threats in the npm ecosystem. In Proceedings of the 28th USENIX Conference on Security Symposium (SEC’19); USENIX Association: San Francisco, CA, USA, 2019; pp. 995–1010. [Google Scholar]
  2. Ohm, M.; Plate, H.; Sykosch, A.; Meier, M. Backstabber’s Knife Collection: A Review of Open Source Software Supply Chain Attacks. In Proceedings of the International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, Lisbon, Portugal, 24–26 June 2020; pp. 23–43. [Google Scholar]
  3. Banks, R.; Jones, J.; Hazzazi, N.; Garcia, P.; Zimmermann, R. Hybrid Security Risk Assessment Model. In Advances in Intelligent Systems and Computing; Springer International Publishing: Cham, Switzerland, 2021; pp. 77–83. [Google Scholar]
  4. Pashchenko, I.; Plate, H.; Ponta, S.E.; Sabetta, A.; Massacci, F. Vulnerable open source dependencies: Counting those that matter. In Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM’18), Oulu, Finland, 11–12 October 2018; pp. 1–10. [Google Scholar]
  5. Soto-Valero, C.; Durieux, T.; Harrand, N.; Baudry, B. Coverage-Based Debloating for Java Bytecode. ACM Trans. Softw. Eng. Methodol. 2023, 32, 1–34. [Google Scholar] [CrossRef] [Scilit]
  6. Zapata, G.A.; Katerina, G.; Sewe, A. Towards automated library vulnerability assessment with static analysis. In Proceedings of the 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, Italy, 20–23 March 2018; pp. 562–566. [Google Scholar]
  7. Kula, R.G.; German, D.M.; Oentaryo, R.J.; Lo, D. Do developers update their library dependencies? Empir. Softw. Eng. 2018, 23, 384–417. [Google Scholar]
  8. Qi, A.X. 2025 China Software Supply Chain Security Analysis Report. Available online: https://www.qianxin.com/news/detail?news_id=13666 (accessed on 7 July 2025).
  9. Ponta, S.E.; Plate, H.; Sabetta, A.; Bezzi, M. Detection of known vulnerabilities in software dependencies: An industrial case study. In Proceedings of the 42nd International Conference on Software Engineering: Software Engineering in Practice, Seoul, Republic of Korea, 19–27 June 2020; pp. 201–210. [Google Scholar]
  10. Xu, S.; You, Y.; Xiao, Y. Research on the Application of Blockchain Smart Contract in Software Supply Chain Management. In Proceedings of the 2022 3rd Asia Conference on Computers and Communications (ACCC), Shanghai, China, 29–31 July 2022; pp. 78–83. [Google Scholar]
  11. MacDonald, N.; Feiman, J. Magic Quadrant for Application Security Testing; Gartner Research Report No. G00246914; Gartner, Inc.: Stamford, CT, USA, 2013; pp. 1–29. [Google Scholar]
  12. Setiawan, H.; Erlangga, L.E.; Baskoro, I. Vulnerability Analysis Using The Interactive Application Security Testing (IAST) Approach For Government X Website Applications. In Proceedings of the 2020 3rd International Conference on Information and Communications Technology (ICOIACT), Yogyakarta, Indonesia, 24–25 November 2020; pp. 471–475. [Google Scholar]
  13. Alqaradaghi, M.; Nazir, M.Z.I.; Kozsik, T. Design and Implement an Accurate Automated Static Analysis Checker to Detect Insecure Use of SecurityManager. Computers 2023, 12, 247. [Google Scholar] [CrossRef] [Scilit]
  14. Pan, Y. Interactive application security testing. In Proceedings of the 2019 International Conference on Smart Grid and Electrical Automation (ICSGEA), Xiangtan, China, 10–11 August 2019; pp. 558–561. [Google Scholar]
  15. Seth, A.; Bhattacharya, S.; Elder, S.; Zahan, N.; Williams, L. Comparing Effectiveness and Efficiency of Interactive Application Security Testing (IAST) and Runtime Application Self-Protection (RASP) Tools in a Large Java-based System. arXiv 2023, arXiv:2312.17726. [Google Scholar]
  16. Bell, J.; Kaiser, G. Phosphor: Illuminating dynamic data flow in commodity jvms. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, Portland, OR, USA, 20–24 October 2014; pp. 83–101. [Google Scholar]
  17. Yapu, Z.; Ao, G.; Mingmin, G.; Boyang, G.; Kai, X. Research on Intelligent Supply Chain Risk Assessment System Based on Computer Supply Chain Risk Prevention and Control Technology. In Proceedings of the 2024 Asia-Pacific Conference on Software Engineering, Social Network Analysis and Intelligent Computing (SSAIC), New Delhi, India, 10–12 January 2024; p. 345. [Google Scholar]
  18. Lauinger, T.; Chaabane, A.; Arshad, S.; Robertson, W.; Wilson, C.; Kirda, E. Thou shalt not depend on me: A look at javascript libraries in the wild. In Proceedings of the Network and Distributed System Security Symposium (NDSS), San Diego, CA, USA, 28 February–1 March 2017. [Google Scholar]
  19. Hu, X.; Jiang, W. Research on network host risk assessment method based on environmental risk level attack graph. In Proceedings of the 2022 International Conference on Informatics, Networking and Computing (ICINC), Nanjing, China, 14–16 October 2022; pp. 159–162. [Google Scholar]
  20. Soto-Valero, C.; Durán, F.; Baudry, B. Bloatware in Java: Analysis and automated removal. IEEE Trans. Softw. Eng. 2021, 47, 2491–2507. [Google Scholar]
  21. Yitagesu, S.; Zhang, X.; Feng, Z.; Li, X.; Xing, Z. Automatic Part-of-Speech Tagging for Security Vulnerability Descriptions. In Proceedings of the 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR), Madrid, Spain, 17–19 May 2021. [Google Scholar]
  22. Ladisa, P.; Plate, H.; Martinez, M.; Barais, O. SoK: Taxonomy of Attacks on Open-Source Software Supply Chains. In Proceedings of the 2023 IEEE Symposium on Securi1ty and Privacy (SP), San Francisco, CA, USA, 22–25 May 2023; pp. 1509–1526. [Google Scholar]
  23. Xmirror Security. Software Supply Chain Security White Paper (2021); China Academy of Information and Communications Technology: Beijing, China, 2025. [Google Scholar]
  24. Kocher, P.; Horn, J.; Fogh, A.; Genkin, D.; Gruss, D.; Haas, W.; Hamburg, M.; Lipp, M.; Mangard, S.; Prescher, T.; et al. Spectre Attacks: Exploiting Speculative Execution. In Proceedings of the 2019 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 20–22 May 2019; pp. 1–19. [Google Scholar]
  25. Safi, M.; Dadkhah, S.; Shoeleh, F.; Mahdikhani, H.; Molyneaux, H.; Ghorbani, A.A. A Survey on IoT Profiling, Fingerprinting, and Identification. ACM Trans. Internet Things 2022, 3, 1–39. [Google Scholar] [CrossRef] [Scilit]
  26. Hejderup, J.; van Deursen, A.; Gousios, G. Software ecosystem call graph for dependency management. In Proceedings of the 40th International Conference on Software Engineering (ICSE), Gothenburg, Sweden, 27 May–3 June 2018; pp. 101–104. [Google Scholar]
  27. Chen, K.; Zhao, Y.; Guo, J.; Gu, Z.; Han, L. Accelerating firmware vulnerability detection through directed reaching definition analysis. ICT Express 2025, 11, 951–956. [Google Scholar] [CrossRef] [Scilit]
  28. Kim, S.; Kim, R.; Park, Y.B. Software Vulnerability Detection Methodology Combined with Static and Dynamic Analysis. Wirel. Pers. Commun. 2016, 89, 777–793. [Google Scholar]
  29. Imtiaz, N.; Gumussoy, B.A.; Williams, L. Comparison of software composition analysis tools for vulnerability detection. In Proceedings of the 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR), Madrid, Spain, 17–19 May 2021; pp. 336–347. [Google Scholar]
  30. Perez, D.; Livshits, B. Smart Contract Vulnerabilities: Vulnerable Does Not Imply Exploited. In Proceedings of the 30th USENIX Security Symposium, Online, 11–13 August 2021; pp. 1325–1342. [Google Scholar]
  31. Pearce, H.; Tan, B.; Ahmad, B.; Karri, R.; Dolan-Gavitt, B. Examining zero-shot vulnerability repair with large language models. In Proceedings of the 2023 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 22–25 May 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 2339–2356. [Google Scholar]
  32. Deng, G.; Liu, Y.; Mayoral-Vilches, V.; Liu, P.; Li, Y.; Xu, Y.; Zhang, T.; Liu, Y.; Pinzger, M.; Rass, S. PentestGPT: An LLM-empowered automatic penetration testing tool. arXiv 2023, arXiv:2308.06782. [Google Scholar]
  33. GitHub. Gather and Update All Available and Newest CVEs with Their PoC. Available online: https://github.com/trickest/cve (accessed on 29 June 2026).
  34. Zenodo. Goblin: Neo4J Maven Central dependency graph. Available online: https://zenodo.org/records/15481588 (accessed on 30 August 2024).
  35. Wang, J.M.; Yang, K. Research on Network Intrusion Detection Based on CNN-BiGRU. Inf. Rec.-Ing. Mater. 2024, 25, 180–183. [Google Scholar]
  36. Schober, P.; Boer, C.; Schwarte, L.A. Correlation Coefficients: Appropriate Use and Interpretation. Anesth. Analg. 2018, 126, 1763–1768. [Google Scholar] [CrossRef] [Scilit] [PubMed]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.