Skip to content

Commit d6c7773

Browse files
authored
Merge pull request #34 from Pr0cella/2.9.2
# v2.9.2 - Added html comment with project title and source - Improved CSV formula injection mitigation (see changelog)
2 parents f2d7e99 + 8cfb2fd commit d6c7773

4 files changed

Lines changed: 16 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22
---
3+
## [2.9.2] - 2026-04-30
4+
5+
### Added
6+
- Small HTML Docstring with project info
7+
8+
### Changed
9+
- **CSV Formula Injection Mitigation**: Cells starting with formula characters are now prefixed with a tab character (\t) and wrapped in double quotes instead of just the single quote prefix that was used previously
310

411
## [2.9.1] - 2026-02-28
512

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ An editor for creating enriched Cyber Kill Chain assessments by mapping MITRE AT
44

55
### Work in progress
66

7-
![Version](https://img.shields.io/badge/version-2.9.1-blue)
7+
![Version](https://img.shields.io/badge/version-2.9.2-blue)
88
[![MITRE ATT&CK® 18](https://img.shields.io/badge/MITRE%20ATT%26CK®-v18-red)](https://attack.mitre.org/versions/v18/)
99
![License](https://img.shields.io/badge/license-Apache%202.0-green)
1010
![Dependencies](https://img.shields.io/badge/dependencies-none-brightgreen)

config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
const CONFIG = {
99
// Application info
10-
version: '2.9.1',
10+
version: '2.9.2',
1111
changelogUrl: 'CHANGELOG.md',
1212

1313
// Framework source files (for extraction scripts)

index.html

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
<!DOCTYPE html>
22
<html lang="en">
3+
<!-- AttackFlow - An editor for creating enriched Cyber Kill Chain assessments
4+
Project Page: https://github.com/Pr0cella/AttackFlow
5+
-->
36
<head>
47
<meta charset="UTF-8">
58
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -4052,7 +4055,7 @@ <h4>Tips</h4>
40524055
// ============================================================
40534056
// VERSION - Loaded dynamically from changelog
40544057
// ============================================================
4055-
let APP_VERSION = '2.9.1'; // Fallback version
4058+
let APP_VERSION = '2.9.2'; // Fallback version
40564059

40574060
async function loadVersion() {
40584061
try {
@@ -10023,12 +10026,12 @@ <h4>Observables</h4>
1002310026
}
1002410027

1002510028
// Convert to CSV string
10026-
// KCE-SEC-004: Prefix cells starting with formula characters to prevent injection
10029+
// Prefix cells containing formula characters with a tab character and wraps the cell content in double quotes
1002710030
const sanitizeForCsv = (value) => {
1002810031
const str = String(value);
10029-
// Prefix with single quote if starts with formula characters
10032+
// prefix with tab and wrap in quotes
1003010033
if (/^[=+\-@\t\r]/.test(str)) {
10031-
return "'" + str;
10034+
return '"' + "\t" + str + '"';
1003210035
}
1003310036
return str;
1003410037
};

0 commit comments

Comments
 (0)