Skip to content

Commit a5dec01

Browse files
maxholmanclaude
andcommitted
chore(range): mark CTF credentials as fictional
The cyber range layers contain plaintext passwords and an ed25519 private key that are part of the test fixture, not real secrets. Automated secret scanners were repeatedly flagging them. Add a paths-ignore for range/ to GitHub secret scanning, a top-level CTF-NOTICE explaining the fictional nature of the directory, and inline markers next to the chpasswd lines and the leaked-key layer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 3b1237b commit a5dec01

5 files changed

Lines changed: 24 additions & 0 deletions

File tree

.github/secret_scanning.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
paths-ignore:
2+
- "range/**"

range/CTF-NOTICE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Cyber Range — Fictional Content Notice
2+
3+
Everything under `range/` is content for a self-contained cyber range used to
4+
test wallhack. The VMs run only inside an isolated, ephemeral pontoon network.
5+
None of these credentials, keys, or hostnames are real and none of them grant
6+
access to anything outside the range.
7+
8+
This includes, but is not limited to:
9+
10+
- Plaintext passwords in `range/layers/*/layer.yml` and discoverable "loot"
11+
files (e.g. `intranet/.../creds.txt`, `app-api/.../ssh.conf`).
12+
- The ed25519 private key at `range/layers/ftp-loot/ftp/backup/id_ed25519`,
13+
generated specifically for the `ssh-leaked-key` challenge.
14+
- Internal IPs in the `10.99.0.0/16` private range.
15+
16+
If your secret scanner pointed you here: this directory is excluded via
17+
`.github/secret_scanning.yml`. The credentials are part of the test fixture,
18+
not a leak.

range/layers/backup-ssh/layer.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ packages:
22
- openssh
33
- rsync
44
start: |
5+
# Fictional CTF range credentials. Not real passwords, not a leak.
56
adduser -D backup 2>/dev/null || true
67
echo "root:hacker" | chpasswd 2>/dev/null || true
78
echo "backup:backup123" | chpasswd 2>/dev/null || true

range/layers/ssh-bastion/layer.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
packages:
22
- openssh
33
start: |
4+
# Fictional CTF range credentials. Not a real password, not a leak.
45
echo "pontoon:Tr0mb0n3!2024" | chpasswd
56
ssh-keygen -A
67
/usr/sbin/sshd -D &

range/layers/ssh-leaked-key/layer.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ packages:
33
configs:
44
- home/deploy/.ssh/authorized_keys
55
start: |
6+
# Fictional CTF range key. The matching private key under ftp-loot/
7+
# is generated for this challenge and grants no real access.
68
adduser -D deploy 2>/dev/null || true
79
passwd -u deploy 2>/dev/null || true
810
chown -R deploy:deploy /home/deploy/.ssh

0 commit comments

Comments
 (0)