Vincent Koc
942ed89277
deps: update overrides for minimatch and fast-xml-parser ( #20832 )
2026-02-19 02:31:20 -08:00
Vincent Koc
a14dcafbaa
Format: fix import ordering in two files ( #20829 )
2026-02-19 02:18:27 -08:00
Peter Steinberger
da341bfbe1
test(daemon): dedupe service path cases and bootstrap failures
2026-02-19 10:17:48 +00:00
Peter Steinberger
e8e343aeee
test(ci): fix launchd and diagnostics-otel test harnesses
2026-02-19 10:17:48 +00:00
Mariano
45db2aa0cd
Security: disable plugin runtime command execution primitive ( #20828 )
...
Co-authored-by: mbelinky <mbelinky@users.noreply.github.com >
2026-02-19 10:17:29 +00:00
Peter Steinberger
771af40913
chore(ci): fix main check blockers and stabilize tests
2026-02-19 10:15:25 +00:00
Peter Steinberger
53aecf7a8e
test(bluebubbles): merge typing start stop method checks
2026-02-19 10:09:34 +00:00
Peter Steinberger
49d0def6d1
fix(security): harden imessage remote scp/ssh handling
2026-02-19 11:08:23 +01:00
Peter Steinberger
cdb00fe242
fix(feishu): isolate temp download writes in mkdtemp dirs
2026-02-19 11:05:04 +01:00
Peter Steinberger
1b46f7d0ba
refactor(daemon): simplify gateway service backend delegates
2026-02-19 10:04:19 +00:00
Peter Steinberger
70900feaa7
refactor(daemon): share service arg types across backends
2026-02-19 10:04:19 +00:00
Vincent Koc
be7462af1e
Gateway: clarify launchctl domain bootstrap error ( #13795 )
2026-02-19 02:03:23 -08:00
Vincent Koc
88f698974a
fix(otel): sanitize OTLP endpoint URL resolution ( #13791 )
...
* fix(otel): sanitize OTLP endpoint signal URL resolution
* fix(otel): preserve signal URLs with query params
* fix(otel): accept case-insensitive signal paths
2026-02-19 02:02:57 -08:00
Mariano
a7c0aa94d9
refactor(security): share safe temp media path builder ( #20810 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7a088e6801
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-19 09:59:21 +00:00
Peter Steinberger
ee1d6427b5
fix(security): enforce symlink-safe skill packaging
2026-02-19 10:56:17 +01:00
aether-ai-agent
c275932aa4
fix(security): OC-22 prevent Zip Slip and symlink following in skill packaging
...
This commit implements critical security fixes for vulnerability OC-22
(CVSS 7.7, CWE-426) in the skill packaging system.
## Security Fixes
1. Symlink Detection and Rejection
- Added check to detect and reject symlinks in skill directories
- Prevents attackers from including arbitrary system files via symlink following
- Rejects packaging with error message if any symlink is found
2. Path Traversal (Zip Slip) Prevention
- Added validation for arcname paths in zip archives
- Rejects paths containing ".." (directory traversal)
- Rejects absolute paths that could escape skill directory
- Prevents attackers from overwriting system files during extraction
## Attack Vectors Mitigated
- Symlink following: Attacker creates symlink to /etc/passwd or other
sensitive files in skill directory → now rejected
- Zip Slip: Attacker crafts paths with "../../root/.bashrc" to overwrite
system files during extraction → now rejected
## Changes
- Modified: skills/skill-creator/scripts/package_skill.py
- Added symlink check (line 73-76)
- Added path validation check (line 84-87)
- Enhanced error messages for security violations
- Added: skills/skill-creator/scripts/test_package_skill.py
- Comprehensive test suite with 11 test cases
- Tests for symlink rejection
- Tests for path traversal prevention
- Tests for normal file packaging
- Tests for edge cases (nested files, multiple files, large skills)
## Testing
All 11 tests pass:
- test_normal_file_packaging: Normal files packaged correctly
- test_symlink_rejection: Symlinks detected and rejected
- test_symlink_to_sensitive_file: Sensitive file symlinks rejected
- test_zip_slip_prevention: Normal subdirectories work properly
- test_absolute_path_prevention: Path validation logic tested
- test_nested_files_allowed: Properly nested files allowed
- test_multiple_files_with_symlink_mixed: Single symlink fails entire package
- test_large_skill_with_many_files: Large skills handled correctly
- test_missing_skill_directory: Error handling verified
- test_file_instead_of_directory: Error handling verified
- test_missing_skill_md: Error handling verified
2026-02-19 10:56:17 +01:00
Peter Steinberger
c06ad38a71
test(voice-call): merge provider credential source cases
2026-02-19 09:55:43 +00:00
Vincent Koc
981d266480
security(gateway): block webchat session mutators ( #20800 )
...
* chore(ci): local claude settings gitignore
* Gateway: block webchat session mutators
* Changelog: note webchat session mutator guard
* Changelog: credit report for webchat mutator guard
2026-02-19 01:54:02 -08:00
Peter Steinberger
32ba62dc69
test(bluebubbles): merge setGroupIcon credential checks
2026-02-19 09:51:35 +00:00
Peter Steinberger
fa726792ce
refactor(agents): dedupe pi subscribe e2e stream fixtures
2026-02-19 09:50:00 +00:00
Peter Steinberger
150a76ca9a
test(agents): add shared subscribe stream emit helpers
2026-02-19 09:50:00 +00:00
Peter Steinberger
0c1d3b866c
test(bluebubbles): collapse duplicate credential and chatGuid cases
2026-02-19 09:48:47 +00:00
Peter Steinberger
7255c20ddc
fix(docker): harden docker-setup mount validation
2026-02-19 10:44:46 +01:00
Peter Steinberger
02123e591c
refactor(lobster): extract windows spawn resolver
2026-02-19 10:44:22 +01:00
Peter Steinberger
96a3d5bce8
test: collapse duplicate unhandled rejection fatal cases
2026-02-19 09:40:30 +00:00
Mariano
8e6d1e6368
LINE/Security: harden inbound media temp-file naming ( #20792 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f6f3eecdb3
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-19 09:37:33 +00:00
Peter Steinberger
6b14498d2f
test(lobster): use lobster.exe in windows plugin path case
2026-02-19 09:35:38 +00:00
Vincent Koc
f38e1a8d82
chore(format): align oxfmt local/CI behavior ( #12579 )
...
* chore(format): align oxfmt local/CI behavior
2026-02-19 01:31:33 -08:00
Peter Steinberger
8b34719b3a
style: apply oxfmt import ordering for ci
2026-02-19 09:26:29 +00:00
Peter Steinberger
d05c8eb912
refactor: unify SSRF hostname/ip precheck and add policy regression
2026-02-19 10:25:31 +01:00
Peter Steinberger
b4792c7362
style: format fs-safe and web media
2026-02-19 09:25:12 +00:00
Peter Steinberger
c241bf0049
test: dedupe voice-call provider config validation cases
2026-02-19 09:24:09 +00:00
Peter Steinberger
ba7be018da
fix(security): remove lobster windows shell fallback
2026-02-19 10:22:59 +01:00
Peter Steinberger
947e11c33a
test(gateway): dedupe agent payload and stream fixtures
2026-02-19 09:22:16 +00:00
Peter Steinberger
b96419fab9
test(agents): share pi-tools sandbox fixture context
2026-02-19 09:22:16 +00:00
Peter Steinberger
bf3f8ec428
refactor(media): unify safe local file reads
2026-02-19 10:21:20 +01:00
Mariano Belinky
65a7fc6de7
Changelog: note Feishu traversal hardening
2026-02-19 10:14:31 +01:00
Mariano Belinky
c821099157
Feishu: harden temp media download paths
2026-02-19 10:13:48 +01:00
Peter Steinberger
90b05b18f1
test: collapse duplicate onboard auth assertions
2026-02-19 09:13:16 +00:00
Peter Steinberger
317b7d363d
test(agents): dedupe subscribe reasoning tag fixtures
2026-02-19 09:11:13 +00:00
Peter Steinberger
749edf25ca
test: dedupe repeated onboarding provider config cases
2026-02-19 09:08:48 +00:00
Peter Steinberger
6f568f3b17
test(agents): dedupe media and thinking sanitize test setup
2026-02-19 09:06:28 +00:00
Peter Steinberger
4c539f6abc
test(agents): dedupe subagent registry test mocks
2026-02-19 09:03:48 +00:00
Peter Steinberger
0900ec38a9
test(agents): dedupe copilot models-config token setup
2026-02-19 09:03:48 +00:00
Peter Steinberger
b4dbe03298
refactor: unify restart gating and update availability sync
2026-02-19 10:00:41 +01:00
Peter Steinberger
18179fc2c1
ci: move bun push-skip condition out of job-level matrix if
2026-02-19 08:59:58 +00:00
Peter Steinberger
d51929ecb5
fix: block ISATAP SSRF bypass via shared host/ip guard
2026-02-19 09:59:47 +01:00
Peter Steinberger
4cd5fad14b
style: sort media store test imports
2026-02-19 08:57:20 +00:00
Peter Steinberger
47bfb765a1
ci: skip bun matrix steps on push runs
2026-02-19 08:57:20 +00:00
Peter Steinberger
745068a597
test(agents): share overflow retry compaction fixture
2026-02-19 08:55:33 +00:00