Skip to content

Commit a042f0c

Browse files
authored
Merge pull request #32 from Hamstring-NDR/dev
Zeek & Domainator Integration
2 parents 5ca2100 + 7d92b97 commit a042f0c

134 files changed

Lines changed: 8172 additions & 6278 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/CODE_OF_CONDUCT.md‎

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
2+
# Code of Conduct
3+
4+
## Our Pledge
5+
6+
We pledge to make our community welcoming, safe, and equitable for all.
7+
8+
We are committed to fostering an environment that respects and promotes the dignity, rights, and contributions of all individuals, regardless of characteristics including race, ethnicity, caste, color, age, physical characteristics, neurodiversity, disability, sex or gender, gender identity or expression, sexual orientation, language, philosophy or religion, national or social origin, socio-economic position, level of education, or other status. The same privileges of participation are extended to everyone who participates in good faith and in accordance with this Covenant.
9+
10+
## Encouraged Behaviors
11+
12+
While acknowledging differences in social norms, we all strive to meet our community's expectations for positive behavior. We also understand that our words and actions may be interpreted differently than we intend based on culture, background, or native language.
13+
14+
With these considerations in mind, we agree to behave mindfully toward each other and act in ways that center our shared values, including:
15+
16+
1. Respecting the **purpose of our community**, our activities, and our ways of gathering.
17+
2. Engaging **kindly and honestly** with others.
18+
3. Respecting **different viewpoints** and experiences.
19+
4. **Taking responsibility** for our actions and contributions.
20+
5. Gracefully giving and accepting **constructive feedback**.
21+
6. Committing to **repairing harm** when it occurs.
22+
7. Behaving in other ways that promote and sustain the **well-being of our community**.
23+
24+
25+
## Restricted Behaviors
26+
27+
We agree to restrict the following behaviors in our community. Instances, threats, and promotion of these behaviors are violations of this Code of Conduct.
28+
29+
1. **Harassment.** Violating explicitly expressed boundaries or engaging in unnecessary personal attention after any clear request to stop.
30+
2. **Character attacks.** Making insulting, demeaning, or pejorative comments directed at a community member or group of people.
31+
3. **Stereotyping or discrimination.** Characterizing anyone’s personality or behavior on the basis of immutable identities or traits.
32+
4. **Sexualization.** Behaving in a way that would generally be considered inappropriately intimate in the context or purpose of the community.
33+
5. **Violating confidentiality**. Sharing or acting on someone's personal or private information without their permission.
34+
6. **Endangerment.** Causing, encouraging, or threatening violence or other harm toward any person or group.
35+
7. Behaving in other ways that **threaten the well-being** of our community.
36+
37+
### Other Restrictions
38+
39+
1. **Misleading identity.** Impersonating someone else for any reason, or pretending to be someone else to evade enforcement actions.
40+
2. **Failing to credit sources.** Not properly crediting the sources of content you contribute.
41+
3. **Promotional materials**. Sharing marketing or other commercial content in a way that is outside the norms of the community.
42+
4. **Irresponsible communication.** Failing to responsibly present content which includes, links or describes any other restricted behaviors.
43+
44+
45+
## Reporting an Issue
46+
47+
Tensions can occur between community members even when they are trying their best to collaborate. Not every conflict represents a code of conduct violation, and this Code of Conduct reinforces encouraged behaviors and norms that can help avoid conflicts and minimize harm.
48+
49+
When an incident does occur, it is important to report it promptly. To report a possible violation, **contact us via mail at stefan.machmeier@uni-heidelberg.de & maximilian.ludwig@uni-heidelberg.de.**
50+
51+
Community Moderators take reports of violations seriously and will make every effort to respond in a timely manner. They will investigate all reports of code of conduct violations, reviewing messages, logs, and recordings, or interviewing witnesses and other participants. Community Moderators will keep investigation and enforcement actions as transparent as possible while prioritizing safety and confidentiality. In order to honor these values, enforcement actions are carried out in private with the involved parties, but communicating to the whole community may be part of a mutually agreed upon resolution.
52+
53+
54+
## Addressing and Repairing Harm
55+
56+
****
57+
58+
If an investigation by the Community Moderators finds that this Code of Conduct has been violated, the following enforcement ladder may be used to determine how best to repair harm, based on the incident's impact on the individuals involved and the community as a whole. Depending on the severity of a violation, lower rungs on the ladder may be skipped.
59+
60+
1) Warning
61+
1) Event: A violation involving a single incident or series of incidents.
62+
2) Consequence: A private, written warning from the Community Moderators.
63+
3) Repair: Examples of repair include a private written apology, acknowledgement of responsibility, and seeking clarification on expectations.
64+
2) Temporarily Limited Activities
65+
1) Event: A repeated incidence of a violation that previously resulted in a warning, or the first incidence of a more serious violation.
66+
2) Consequence: A private, written warning with a time-limited cooldown period designed to underscore the seriousness of the situation and give the community members involved time to process the incident. The cooldown period may be limited to particular communication channels or interactions with particular community members.
67+
3) Repair: Examples of repair may include making an apology, using the cooldown period to reflect on actions and impact, and being thoughtful about re-entering community spaces after the period is over.
68+
3) Temporary Suspension
69+
1) Event: A pattern of repeated violation which the Community Moderators have tried to address with warnings, or a single serious violation.
70+
2) Consequence: A private written warning with conditions for return from suspension. In general, temporary suspensions give the person being suspended time to reflect upon their behavior and possible corrective actions.
71+
3) Repair: Examples of repair include respecting the spirit of the suspension, meeting the specified conditions for return, and being thoughtful about how to reintegrate with the community when the suspension is lifted.
72+
4) Permanent Ban
73+
1) Event: A pattern of repeated code of conduct violations that other steps on the ladder have failed to resolve, or a violation so serious that the Community Moderators determine there is no way to keep the community safe with this person as a member.
74+
2) Consequence: Access to all community spaces, tools, and communication channels is removed. In general, permanent bans should be rarely used, should have strong reasoning behind them, and should only be resorted to if working through other remedies has failed to change the behavior.
75+
3) Repair: There is no possible repair in cases of this severity.
76+
77+
This enforcement ladder is intended as a guideline. It does not limit the ability of Community Managers to use their discretion and judgment, in keeping with the best interests of our community.
78+
79+
80+
## Scope
81+
82+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public or other spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
83+
84+
85+
## Attribution
86+
87+
This Code of Conduct is adapted from the Contributor Covenant, version 3.0, permanently available at [https://www.contributor-covenant.org/version/3/0/](https://www.contributor-covenant.org/version/3/0/).
88+
89+
Contributor Covenant is stewarded by the Organization for Ethical Source and licensed under CC BY-SA 4.0. To view a copy of this license, visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/)
90+
91+
For answers to common questions about Contributor Covenant, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are provided at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Additional enforcement and community guideline resources can be found at [https://www.contributor-covenant.org/resources](https://www.contributor-covenant.org/resources). The enforcement ladder was inspired by the work of [Mozilla’s code of conduct team](https://github.com/mozilla/inclusion).

‎.github/SECURITY.md‎

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
# Security Policy
2+
3+
## Purpose
4+
5+
This document defines how security issues affecting the python release of `Hamstring` must be reported, handled, remediated, and disclosed. The goal is to ensure that security-relevant findings are managed confidentially, triaged consistently, and resolved within appropriate operational timelines.
6+
7+
## Supported Versions
8+
9+
Security fixes are provided for the latest released major version.
10+
11+
| Version | Supported |
12+
| ------- | --------- |
13+
| `main` / latest release | Yes |
14+
| Previous minor release | Yes |
15+
| Older releases | No |
16+
17+
## Confidential Reporting
18+
19+
Security issues must be reported through confidential channels only. Public
20+
GitHub issues, public pull requests, or other public forums must not be used
21+
for reporting vulnerabilities.
22+
23+
Approved reporting channels:
24+
25+
- GitHub Private Vulnerability Reporting / Security Advisories
26+
- Email: `pm300@uni-heidelberg.de`
27+
28+
Reports should include, where available:
29+
30+
- A concise description of the issue
31+
- Affected component, endpoint, container, or workflow
32+
- Reproduction steps or validation details
33+
- Expected impact and potential exploitation scenario
34+
- Affected version, branch, commit, or image tag
35+
- Relevant logs, screenshots, request samples, or proof-of-concept material
36+
- Whether the issue appears actively exploited or time-sensitive
37+
38+
## Confidentiality Requirements
39+
40+
All reported security issues are handled as confidential until review is
41+
complete and a coordinated disclosure decision has been made.
42+
43+
During this period:
44+
45+
- Issue details must not be disclosed publicly
46+
- Sensitive technical details must be shared only on a need-to-know basis
47+
- Access to internal discussion, remediation branches, and advisory drafts
48+
should be restricted
49+
- If there is evidence of active exploitation, internal escalation should occur
50+
immediately
51+
52+
## Intake and Triage
53+
54+
Each report is reviewed to determine:
55+
56+
- Whether the issue is reproducible
57+
- Whether it affects a supported version
58+
- Whether there is a meaningful confidentiality, integrity, or availability impact
59+
- Whether exploitation requires special conditions or privileged access
60+
- Whether the issue represents active exploitation, a misconfiguration, or a
61+
theoretical weakness without practical impact
62+
63+
Severity should be classified as `Critical / High / Medium / Low`.
64+
65+
## Response Targets
66+
67+
The following target times apply to supported versions and valid security
68+
reports. These targets are operational goals, not contractual guarantees.
69+
70+
| Stage | Target |
71+
| ----- | ------ |
72+
| Initial acknowledgement | Within 2 business days |
73+
| Initial triage decision | Within 5 business days |
74+
| First remediation update | Within 7 calendar days |
75+
| Ongoing status updates | At least every 7 calendar days |
76+
| Critical issue remediation plan | Within 7 calendar days |
77+
| High severity remediation plan | Within 14 calendar days |
78+
| Medium severity remediation plan | Within 30 calendar days |
79+
| Low severity remediation plan | Best effort |
80+
81+
If a report indicates active exploitation, credential exposure, remote code
82+
execution, or broad unauthorized access, the issue should be escalated as an
83+
incident and handled with priority outside normal backlog processes.
84+
85+
## Remediation Process
86+
87+
When a security issue is confirmed, maintainers should:
88+
89+
- Reproduce and validate the issue
90+
- Define affected versions and deployment scenarios
91+
- Prepare a remediation plan proportional to the severity
92+
- Implement and review the fix
93+
- Backport the fix to supported versions where feasible
94+
- Validate the fix before release
95+
- Prepare customer-facing or operator-facing guidance if configuration or
96+
operational action is required
97+
98+
Where immediate remediation is not possible, temporary mitigations should be
99+
documented and communicated clearly.
100+
101+
## Disclosure and Publication
102+
103+
Confirmed vulnerabilities are disclosed in a coordinated manner after one of
104+
the following conditions is met:
105+
106+
- A fix has been released
107+
- A mitigation has been published and the residual risk is understood
108+
- A disclosure deadline has been reached and leadership approves publication
109+
110+
The default disclosure target is `90 days`, but the actual window may be
111+
shortened or extended based on:
112+
113+
- Evidence of exploitation
114+
- Fix availability and deployment risk
115+
- Customer exposure
116+
- Dependency or vendor coordination needs
117+
118+
Public disclosures may include:
119+
120+
- A security advisory
121+
- Release notes
122+
- Upgrade or mitigation instructions
123+
- Severity and affected-version information
124+
125+
## Operational Communication
126+
127+
Where a confirmed issue affects deployed environments, communication should be
128+
proportionate to impact. This may include:
129+
130+
- Internal security or operations escalation
131+
- Notification to administrators, customers, or service owners
132+
- Temporary mitigation guidance
133+
- Required upgrade or rotation steps
134+
- Post-remediation confirmation and closure
135+
136+
Security communications should avoid unnecessary disclosure of exploit details
137+
before mitigations are available.
138+
139+
## Scope
140+
141+
The following areas are considered in scope for security handling:
142+
143+
- Authentication and authorization controls
144+
- Password handling and account lifecycle
145+
- File upload, parsing, and processing pipelines
146+
- Secrets handling and environment configuration
147+
- Data access controls and audit logging
148+
- Container, service, and network configuration
149+
- Dependency vulnerabilities with validated product impact
150+
- Sensitive data exposure, privilege escalation, SSRF, RCE, injection, and
151+
broken access control
152+
153+
## Out of Scope
154+
155+
The following are generally not treated as security vulnerabilities unless
156+
clear and demonstrated security impact exists:
157+
158+
- Cosmetic misconfigurations without exploitability
159+
- Missing hardening headers without a practical attack path
160+
- Issues affecting unsupported or end-of-life releases only
161+
- Hypothetical findings without reproducible impact
162+
- Third-party platform issues outside the control of this project
163+
- Reports based only on scanner output without technical validation
164+
165+
## Safe Handling Expectations
166+
167+
Anyone validating a suspected issue is expected to act in a controlled and
168+
minimal manner.
169+
170+
Expected behavior:
171+
172+
- Limit activity to what is necessary to confirm the issue
173+
- Avoid unauthorized access to non-public or third-party data
174+
- Avoid disruption of production systems
175+
- Avoid persistence, data modification, or data destruction
176+
- Stop testing and report promptly once the issue is confirmed
177+
178+
This policy does not authorize:
179+
180+
- Access to data belonging to other users or organizations
181+
- Service disruption or denial-of-service activity
182+
- Data exfiltration or retention of sensitive information
183+
- Any activity that violates applicable law or contractual obligations
184+
185+
## Security Updates
186+
187+
Security fixes may be distributed through one or more of the following:
188+
189+
- Normal release process
190+
- Out-of-band patch release
191+
- Security advisory
192+
- Operational mitigation notice
193+
194+
Where appropriate, the published update should include:
195+
196+
- Affected versions
197+
- Fixed versions
198+
- Severity
199+
- Upgrade path
200+
- Required operational actions
201+
202+
## Escalation
203+
204+
If no acknowledgement is received within the response target above, the report
205+
should be resent to:
206+
207+
- `pm300@uni-heidelberg.de`
208+
209+
Urgent reports involving active exploitation or high-confidence compromise
210+
should use the subject line:
211+
212+
`[URGENT SECURITY REPORT]`
213+
214+
## Policy Maintenance
215+
216+
This policy should be reviewed whenever:
217+
218+
- Reporting channels change
219+
- Supported versions change
220+
- Incident response expectations change
221+
- Disclosure commitments change
222+
223+
Last reviewed: `27-03-2026`

0 commit comments

Comments
 (0)