Skip to content

Commit e91aac2

Browse files
author
Jonathan D.A. Jewell
committed
Add remaining modules, artifacts, and repo dotfiles
1 parent 41ba894 commit e91aac2

22 files changed

Lines changed: 5314 additions & 13 deletions

.gitattributes

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
* text=auto eol=lf
3+
4+
*.rs text eol=lf
5+
*.toml text eol=lf
6+
*.md text eol=lf
7+
*.json text eol=lf
8+
*.yaml text eol=lf
9+
*.yml text eol=lf
10+
*.ncl text eol=lf
11+
*.sh text eol=lf

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rust 1.85.0

Cargo.lock

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ serde_json = "1.0"
1818
serde_yaml = "0.9"
1919
regex = "1.10"
2020
chrono = "0.4"
21+
filetime = "0.2"
2122
encoding_rs = "0.8"
2223
crossterm = "0.26"
2324
eframe = "0.27"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"format": "panll.event-chain.v0",
3+
"generated_at": "2026-02-11T18:01:03.133146189+00:00",
4+
"source": {
5+
"tool": "panic-attack",
6+
"report_path": "reports/panic-attack-20260211180017.json"
7+
},
8+
"summary": {
9+
"program": "target/release/examples/vulnerable_program",
10+
"weak_points": 0,
11+
"critical_weak_points": 0,
12+
"total_crashes": 0,
13+
"robustness_score": 100.0
14+
},
15+
"timeline": null,
16+
"event_chain": [
17+
{
18+
"id": "attack-cpu-1",
19+
"axis": "cpu",
20+
"start_ms": null,
21+
"duration_ms": 143,
22+
"intensity": "unknown",
23+
"status": "passed",
24+
"peak_memory": 0,
25+
"notes": null
26+
}
27+
],
28+
"constraints": []
29+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"assail_report": {
3+
"program_path": "target/release/examples/vulnerable_program",
4+
"language": "unknown",
5+
"frameworks": [],
6+
"weak_points": [],
7+
"statistics": {
8+
"total_lines": 786,
9+
"unsafe_blocks": 0,
10+
"panic_sites": 0,
11+
"unwrap_calls": 0,
12+
"allocation_sites": 266,
13+
"io_operations": 4,
14+
"threading_constructs": 126
15+
},
16+
"file_statistics": [
17+
{
18+
"file_path": "vulnerable_program",
19+
"lines": 786,
20+
"unsafe_blocks": 0,
21+
"panic_sites": 0,
22+
"unwrap_calls": 0,
23+
"allocation_sites": 266,
24+
"io_operations": 4,
25+
"threading_constructs": 126
26+
}
27+
],
28+
"recommended_attacks": [
29+
"concurrency",
30+
"memory",
31+
"cpu"
32+
],
33+
"dependency_graph": {
34+
"edges": []
35+
},
36+
"taint_matrix": {
37+
"rows": []
38+
}
39+
},
40+
"attack_results": [
41+
{
42+
"program": "target/release/examples/vulnerable_program",
43+
"axis": "cpu",
44+
"success": true,
45+
"skipped": false,
46+
"exit_code": 0,
47+
"duration": {
48+
"secs": 0,
49+
"nanos": 143171163
50+
},
51+
"peak_memory": 0,
52+
"crashes": [],
53+
"signatures_detected": []
54+
}
55+
],
56+
"total_crashes": 0,
57+
"total_signatures": 0,
58+
"overall_assessment": {
59+
"robustness_score": 100.0,
60+
"critical_issues": [],
61+
"recommendations": []
62+
}
63+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
let assault_report = {
2+
program = "target/release/examples/vulnerable_program";
3+
language = "Unknown";
4+
framework_count = 0;
5+
weak_points = 0;
6+
total_crashes = 0;
7+
total_signatures = 0;
8+
attack_axes = ["Cpu"];
9+
robustness_score = 100.0;
10+
};
11+
assault_report
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
assail_report:
2+
program_path: target/release/examples/vulnerable_program
3+
language: unknown
4+
frameworks: []
5+
weak_points: []
6+
statistics:
7+
total_lines: 786
8+
unsafe_blocks: 0
9+
panic_sites: 0
10+
unwrap_calls: 0
11+
allocation_sites: 266
12+
io_operations: 4
13+
threading_constructs: 126
14+
file_statistics:
15+
- file_path: vulnerable_program
16+
lines: 786
17+
unsafe_blocks: 0
18+
panic_sites: 0
19+
unwrap_calls: 0
20+
allocation_sites: 266
21+
io_operations: 4
22+
threading_constructs: 126
23+
recommended_attacks:
24+
- concurrency
25+
- memory
26+
- cpu
27+
dependency_graph:
28+
edges: []
29+
taint_matrix:
30+
rows: []
31+
attack_results:
32+
- program: target/release/examples/vulnerable_program
33+
axis: cpu
34+
success: true
35+
skipped: false
36+
exit_code: 0
37+
duration:
38+
secs: 0
39+
nanos: 143171163
40+
peak_memory: 0
41+
crashes: []
42+
signatures_detected: []
43+
total_crashes: 0
44+
total_signatures: 0
45+
overall_assessment:
46+
robustness_score: 100.0
47+
critical_issues: []
48+
recommendations: []

runtime/Containerfile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
3+
ARG RUST_BUILDER_IMAGE=cgr.dev/chainguard/rust:latest
4+
ARG RUST_RUNTIME_IMAGE=cgr.dev/chainguard/distroless-rust:latest
5+
6+
FROM ${RUST_BUILDER_IMAGE} AS build
7+
WORKDIR /workspace
8+
9+
COPY Cargo.toml Cargo.lock ./
10+
COPY . .
11+
12+
RUN cargo fetch --locked && \
13+
cargo build --release
14+
15+
FROM ${RUST_RUNTIME_IMAGE} AS runtime
16+
WORKDIR /app
17+
18+
COPY --from=build /workspace/target/release/panic-attack /usr/local/bin/panic-attack
19+
20+
RUN mkdir -p /usr/local/share/man/man1
21+
COPY man/panic-attack.1 /usr/local/share/man/man1/
22+
23+
EXPOSE 8080
24+
25+
ENTRYPOINT ["/usr/local/bin/panic-attack"]
26+
CMD ["--help"]

0 commit comments

Comments
 (0)