- Added `FilesystemPackRunProvenanceWriter` to write provenance manifests to the filesystem. - Introduced `MongoPackRunArtifactReader` to read artifacts from MongoDB. - Created `MongoPackRunProvenanceWriter` to store provenance manifests in MongoDB. - Developed unit tests for filesystem and MongoDB provenance writers. - Established `ITimelineEventStore` and `ITimelineIngestionService` interfaces for timeline event handling. - Implemented `TimelineIngestionService` to validate and persist timeline events with hashing. - Created PostgreSQL schema and migration scripts for timeline indexing. - Added dependency injection support for timeline indexer services. - Developed tests for timeline ingestion and schema validation.
27 lines
841 B
Java
27 lines
841 B
Java
package bench.reachability;
|
|
|
|
import java.util.Map;
|
|
import java.util.Base64;
|
|
import java.io.*;
|
|
|
|
public class App {
|
|
// Unsafe Java deserialization sink (reachable)
|
|
public static Response handleRequest(Map<String, String> body) {
|
|
String payload = body.get("payload");
|
|
if (payload == null) {
|
|
return new Response(400, "bad request");
|
|
}
|
|
try {
|
|
byte[] data = Base64.getDecoder().decode(payload);
|
|
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(data));
|
|
Object obj = ois.readObject();
|
|
ois.close();
|
|
return new Response(200, obj.toString());
|
|
} catch (Exception ex) {
|
|
return new Response(500, ex.getClass().getSimpleName());
|
|
}
|
|
}
|
|
|
|
public record Response(int status, String body) {}
|
|
}
|