Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
0d8d36d
Refactor Generator, Parser and Validator to simplify codebase, remove…
thevictorlopez Mar 11, 2026
2201277
Make strict mode work correctly with x-recommended properties. Adjust…
thevictorlopez Mar 13, 2026
3f5de6b
Match type definitions to actual spec values and properties. Plus cle…
thevictorlopez Mar 13, 2026
9c88534
Cleanup EvidenceSource enums with correct values from the spec and al…
thevictorlopez Mar 13, 2026
86dd6a8
Align XARFEvidence to the spec.
thevictorlopez Mar 13, 2026
8897a51
Add missing report types.
thevictorlopez Mar 13, 2026
d60511f
Remove noisy SeverityLevel enum type.
thevictorlopez Mar 13, 2026
c9fbeb1
Hallucinated types cleanup. Fix throw condition for generating reports.
thevictorlopez Mar 13, 2026
4803390
Make the v3 legary layer throw on unmappable reports.
thevictorlopez Mar 13, 2026
0b57491
Use a sane UUID generation method.
thevictorlopez Mar 13, 2026
7914284
Cleanup superfluous code related to evidence sources.
thevictorlopez Mar 13, 2026
aea9bb7
Add missing optional properties in base XARFReport type.
thevictorlopez Mar 13, 2026
cbde7c1
Let V3's AttackCount pass through as an additional property with the …
thevictorlopez Mar 13, 2026
00f0295
Remove unnecesary content_type injection at the top level of V3-conve…
thevictorlopez Mar 13, 2026
0a7d8d1
Replace content_type from data sample generator with an actual v4 pro…
thevictorlopez Mar 13, 2026
438908e
Remove dead code.
thevictorlopez Mar 13, 2026
07488c3
Make swarm_info required as per the spec. Also provide a type for the…
thevictorlopez Mar 13, 2026
001a531
Remove dead condition.
thevictorlopez Mar 13, 2026
b030902
Fix incorrect position for imported v3 flag.
thevictorlopez Mar 16, 2026
6b9ac3b
Remove sample generationg helpers. Fix evidence encoding.
thevictorlopez Mar 16, 2026
bbbbbca
Simplify category and types access methods.
thevictorlopez Mar 16, 2026
61eaac2
Make barrel neat.
thevictorlopez Mar 16, 2026
9e68962
Add MessageInfo type
thevictorlopez Mar 16, 2026
c754023
Fix the handling of misisng source ports in V3 imported reports
thevictorlopez Mar 16, 2026
a8bfd7d
Add missing types for nested objects.
thevictorlopez Mar 16, 2026
9430183
Delegate schema lookup (category, types) to SchemaRegistry.
thevictorlopez Mar 16, 2026
8a920b2
Compute hash on evidence added on v3 to v4 conversion.
thevictorlopez Mar 16, 2026
64ccb74
Add more missing types for nested objects.
thevictorlopez Mar 16, 2026
90f5018
Calculate evidence size on report generation.
thevictorlopez Mar 16, 2026
af4e3b6
Allow parse() callers to call getErrors() after strict-mode failure.
thevictorlopez Mar 16, 2026
ee93a40
Fix collectMissingOptionalFields so it follows $ref refrences in the …
thevictorlopez Mar 16, 2026
51b7285
Add evidence size calculation to v3 to v4 conversion.
thevictorlopez Mar 16, 2026
aaa2598
Make v3 import more strict to avoid passing reports with invented or …
thevictorlopez Mar 16, 2026
fe007dd
Cleanup outated documentation and unnecesary, stale Claude byproducts.
thevictorlopez Mar 16, 2026
130fbf0
Public API cleanup and test suite major update.
thevictorlopez Mar 18, 2026
a7645bf
Cleanup documentation and bump spec version to 4.2.0.
thevictorlopez Mar 18, 2026
419031d
Use correct email address.
thevictorlopez Mar 19, 2026
abfdc9b
Bump dependencies.
thevictorlopez Mar 19, 2026
166dc53
Provide security guidelines for reporting vulnerabilities.
thevictorlopez Mar 19, 2026
9d1f1f4
Remove support and code owners configuration.
thevictorlopez Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 0 additions & 30 deletions .github/CODEOWNERS

This file was deleted.

17 changes: 0 additions & 17 deletions .github/FUNDING.yml

This file was deleted.

127 changes: 34 additions & 93 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,116 +1,57 @@
# Security Policy

## Supported Versions

| Version | Supported |
| ------- | ------------------ |
| 1.0.0 | :white_check_mark: |
| 1.0.0-alpha.2 | :x: (upgrade to 1.0.0) |
| 1.0.0-alpha.1 | :x: (upgrade to 1.0.0) |

## Reporting a Vulnerability

We take security vulnerabilities seriously. If you discover a security issue in this project, please report it responsibly.
The XARF project takes security vulnerabilities seriously. We appreciate your efforts to responsibly disclose your findings.

### How to Report

**DO NOT** open a public GitHub issue for security vulnerabilities.

Instead, please email security details to: **security@xarf.org**

Include the following information in your report:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact
- Suggested fix (if available)

### What to Expect

- **Acknowledgment**: We will acknowledge receipt of your vulnerability report within 48 hours
- **Assessment**: We will assess the severity and impact of the vulnerability
- **Updates**: We will keep you informed of our progress toward a fix
- **Disclosure**: Once a fix is available, we will coordinate disclosure timing with you

## Security Best Practices

When using the XARF JavaScript parser, follow these security best practices:

### Input Validation

1. **Always validate XARF reports** against the schema before processing
2. **Sanitize all user-supplied data** before using it in XARF reports
3. **Set size limits** on incoming reports to prevent memory exhaustion
4. **Validate email addresses** and other contact information before use

### Safe Parsing

```javascript
// Example: Safe parsing with error handling
try {
const report = parser.parse(input);

// Validate against schema
if (!validator.validate(report)) {
throw new Error('Invalid XARF report structure');
}

// Process validated report
processReport(report);
} catch (error) {
// Handle parsing errors securely
logger.error('Parsing failed', { error: error.message });
// Do not expose internal details to users
}
```
**Please DO NOT report security vulnerabilities through public GitHub issues.**

### Data Handling
Instead, please report security vulnerabilities by emailing:

1. **Do not log sensitive information** from XARF reports
2. **Redact PII** when logging or storing reports
3. **Use secure transport** (HTTPS/TLS) when transmitting reports
4. **Encrypt sensitive data** at rest
**security@abusix.com**

### Dependency Management
### What to Include

1. **Regularly update dependencies** to patch known vulnerabilities
2. **Use `npm audit`** to check for security issues
3. **Review security advisories** for dependencies
4. **Consider using lock files** (`package-lock.json`) for reproducible builds
Please include the following information in your report:

### Code Practices
- Type of vulnerability or security concern
- Affected specification version(s)
- Detailed description of the security issue
- Potential impact on implementations
- Suggested mitigation or fix (if applicable)

1. **Avoid eval()** and similar dynamic code execution
2. **Use strict mode** (`"use strict"`)
3. **Validate all inputs** before processing
4. **Follow principle of least privilege** in code design
### Response Timeline

## Known Security Considerations
- **Initial Response**: Within 48 hours
- **Status Update**: Within 7 days
- **Resolution**: Depends on severity and complexity

### XARF Report Content
### Security Update Process

XARF reports may contain:
- Email addresses and contact information
- IP addresses and network data
- Potentially malicious content samples
- Sensitive abuse details
1. **Triage**: We'll confirm the vulnerability and assess severity
2. **Specification Review**: We'll review affected specification sections
3. **Fix Development**: We'll develop and review proposed changes
4. **Community Review**: We'll engage with implementation maintainers
5. **Disclosure**: We'll coordinate disclosure timing with you
6. **Publication**: We'll publish updated specification with security notes

**Always treat XARF report content as untrusted user input.**
## Vulnerability Disclosure Policy

### Schema Validation
We follow a **coordinated disclosure** model:

While the parser validates structure, additional application-level validation may be required for:
- Email address format verification
- IP address range validation
- URL safety checks
- Content length restrictions
1. **Private Disclosure**: Report sent to security@abusix.com
2. **Acknowledgment**: We confirm receipt within 48 hours
3. **Investigation**: We investigate with specification experts
4. **Community Review**: We consult with implementation maintainers
5. **Specification Update**: We publish updated specification
6. **Public Disclosure**: We publish advisory 7 days after publication

## Security Updates
## Security Hall of Fame

Security updates will be released as soon as possible after a vulnerability is confirmed and fixed. Updates will be announced through:
- GitHub Security Advisories
- Release notes
- Project changelog
We recognize security researchers who responsibly disclose vulnerabilities:

## Acknowledgments
<!-- Security researchers will be listed here -->

We appreciate the security research community's efforts in responsibly disclosing vulnerabilities. Contributors who report valid security issues will be acknowledged (with their permission) in our security advisories.
_No vulnerabilities reported yet._
Loading
Loading