Skip to content

Commit e5d48c0

Browse files
docs: add ROADMAP
1 parent 3131124 commit e5d48c0

1 file changed

Lines changed: 82 additions & 0 deletions

File tree

ROADMAP.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# otpot Roadmap
2+
3+
## Phase 1 — Python 3.10 Stable (In Progress)
4+
5+
The foundation. A clean, documented, reliable otpot on Python 3.10.
6+
7+
**Completed:**
8+
- [x] Remove `--force` requirement for default configuration
9+
- [x] Remove undocumented `-f` flag requirement for non-local interfaces
10+
- [x] Fix misleading "Can't find temp directory" log message
11+
- [x] Document Python version support ceiling
12+
- [x] Updated README with accurate install instructions
13+
14+
**In Progress:**
15+
- [ ] Fix HTTP service leaking raw template tags (fingerprinting vulnerability)
16+
- [ ] Run and document test suite status on Python 3.10
17+
- [ ] Fix noisy "Running on non-local interface" warning (fires once per protocol)
18+
- [ ] Replace deprecated `pkg_resources` usage in bin/conpot
19+
20+
## Phase 2 — Python 3.11 Support
21+
22+
The blocker is `cpppo`, the EtherNet/IP library that breaks on Python 3.11.
23+
24+
- [ ] Investigate maintained cpppo forks
25+
- [ ] Evaluate `pycomm3` as a replacement
26+
- [ ] Stub EtherNet/IP if no clean replacement found, restore in Phase 4
27+
- [ ] Achieve clean install and run on Python 3.11
28+
29+
## Phase 3 — Anti-Fingerprinting
30+
31+
Published research has identified conpot deployments via protocol inaccuracies.
32+
otpot should be harder to fingerprint than its predecessor.
33+
34+
- [ ] Fix HTTP template rendering — raw `<condata>` tags leak in responses
35+
- [ ] Audit S7Comm response accuracy against real Siemens hardware
36+
- [ ] Audit Modbus response timing and error codes
37+
- [ ] Audit SNMP OID responses for consistency across protocols
38+
- [ ] Ensure cross-protocol databus consistency (same values via HTTP and SNMP)
39+
40+
## Phase 4 — New Protocol Templates
41+
42+
otpot's unique contribution to the open source honeypot ecosystem.
43+
44+
**Ignition Gateway (Priority)**
45+
- [ ] HTTP endpoints: `/StatusPing`, `/main`, `/system/webdev`
46+
- [ ] Realistic Perspective login page
47+
- [ ] Correct vendor banners: `Inductive-Automation/8.x.x`
48+
- [ ] Gateway Network port 8060 basic response
49+
- [ ] OPC-UA endpoint advertisement
50+
51+
**OPC-UA**
52+
- [ ] Basic OPC-UA server emulation
53+
- [ ] Endpoint discovery responses
54+
- [ ] Realistic node browsing responses
55+
- [ ] Evaluate PLC4X as protocol foundation
56+
57+
**MQTT**
58+
- [ ] CONNECT/CONNACK handling
59+
- [ ] SUBSCRIBE/SUBACK handling
60+
- [ ] PUBLISH/PUBACK logging
61+
- [ ] Broker identity spoofing (emulate common ICS broker software)
62+
63+
**EtherNet/IP Improvements**
64+
- [ ] Deeper CIP object emulation
65+
- [ ] Allen-Bradley/Rockwell device identity
66+
- [ ] Evaluate PLC4X EIP implementation as replacement for cpppo
67+
68+
## Phase 5 — Honeynet Project Submission
69+
70+
- [ ] Active commit history spanning 3+ months
71+
- [ ] At least one published writeup
72+
- [ ] Python 3.11 support complete
73+
- [ ] At least one new protocol template beyond conpot
74+
- [ ] Responsive issue handling
75+
- [ ] Email projects@honeynet.org
76+
77+
## Long Term
78+
79+
- Deploy on cloud VPS and publish threat intelligence findings
80+
- Submit talk proposal to S4 Conference
81+
- Explore Google Summer of Code mentorship via Honeynet
82+
- Evaluate PLC4X integration for protocol emulation layer

0 commit comments

Comments
 (0)