Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
dae200c
[all] Release 7.260309.0
Filigran-Automation Mar 9, 2026
c789072
[Intel471_v2] Adding Verity471 backend (#5750)
mmolenda Mar 10, 2026
c4dc373
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 10, 2026
1812552
[ci] Handle LTS release build (#5948)
efaure Mar 11, 2026
b58da62
[ci] Fix regex to trigger release build on lts (#5948)
efaure Mar 11, 2026
8e9faf6
[all] CI: Use uv to reduce execution time for tests (#5946)
jabesq Mar 13, 2026
1bbdf56
[Doppel] Converting Doppel Alerts to STIX 2.1 Observables (#4385)
siddharths1-metron Mar 16, 2026
83fbdf8
Switch LTS tag format from 7.260309.0-ltsx to 7.260309.0-lts.x (#5948)
efaure Mar 16, 2026
6ad4668
[MISP]: Enhance MISP connector to handle buffering during event proce…
jabesq Mar 16, 2026
b9a1050
[google-ti-feeds] Allow optional configs (#5978)
throuxel Mar 16, 2026
1017051
[connectors-sdk] Improve `DeprecatedField` migration and validation (…
Powlinett Mar 16, 2026
8217894
[connectors-sdk] Add email model (#5936)
throuxel Mar 16, 2026
cb8fc5e
[recorded-future] improve alert catch-up reliability (#5870)
ncarenton Mar 16, 2026
f14deae
[checkfirst] Update import connector (#5934)
herve-checkfirst Mar 17, 2026
b7db4f6
[ci]: Use uv to build config_schemas (#5947)
jabesq Mar 17, 2026
9dfab34
[all] Release 7.260317.0
Filigran-Automation Mar 17, 2026
041ef2d
Update dependency black to v26.3.1 [SECURITY] (#5971)
renovate[bot] Mar 18, 2026
4bc82a9
[ci] try to rebase before pushing manifest (#5990)
throuxel Mar 18, 2026
5a1d974
[connectors-sdk] Add missing `belongs_to` and `resolves_to` fields to…
Powlinett Mar 18, 2026
f2c1556
[connectors-sdk] Suppress `UserWarning` emitted from `BaseSettings` d…
Powlinett Mar 18, 2026
5ef8a2b
[proofpoint-tap] Update connector to be "manager_supported" (#5214)
Powlinett Mar 18, 2026
43ccba2
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 18, 2026
bd2dffa
[all] Release 7.260318.0
Filigran-Automation Mar 18, 2026
ad727f0
[ci] Align the pre-commit hooks tools versions with the ones used in …
jabesq Mar 19, 2026
a3656fd
[cve] Fix incorrect default author (#5848)
jabesq Mar 19, 2026
e28549a
[shadowserver] Fix Note.generate_id() calls to prevent note duplicati…
Copilot Mar 19, 2026
0fee07e
[Criminal IP] Add internal enrichment connector (#5986)
jsshim-aispera Mar 19, 2026
fa7996b
[DigintLab-DEP] enh: create Sector entities linked to victims (#5938)
notdodo Mar 19, 2026
d8981f3
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 19, 2026
9b59819
[mwdb] Set indicator_types and x_opencti_main_observable_type on STIX…
MrStarkEG Mar 19, 2026
3f5f428
[Mokn] update Mokn manifest description for the Hub (#5982)
maximerafaillac Mar 19, 2026
b63ca9e
[dogesec] adding tests to connectors (#5813)
himynamesdave Mar 19, 2026
5561467
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 19, 2026
8e95035
[ransomwareLive] Fix "source_code" link in manifest (#6018)
romain-filigran Mar 19, 2026
ef3e3cd
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 19, 2026
f3a027f
[dogesec - stixify] update to match stixify api changes (#5766)
fqrious Mar 19, 2026
dab9757
[reversinglabs-malware-presence ] Fix Note.generate_id() calls (#5890)
jabesq Mar 20, 2026
6f99bb5
[reversinglabs-spectra-analyze] Fix Note.generate_id() calls to preve…
Copilot Mar 20, 2026
b551e70
[reversinglabs-spectra-intel-submission] Fix Note.generate_id() to pr…
Copilot Mar 20, 2026
a09465c
[tenable-vuln-management] Fix "Unexpected API response" error (#6030)
Powlinett Mar 20, 2026
66e3980
[greynoise-vuln] Support updated v3 SDK and remove unnecessary API ke…
bradchiappetta Mar 20, 2026
0764021
[connectors-sdk] Add `Campaign`, `Channel`, `Infrastructure` and `Med…
Powlinett Mar 20, 2026
05ceb0f
[greynoise] Update to SDK v3 and User Fixes (#6028)
bradchiappetta Mar 20, 2026
d402bea
[recorded-future] Fix error on playbook-alert/search (#5284)
throuxel Mar 23, 2026
fcede9e
[GTI] Clean up tests #5828
Kakudou Mar 23, 2026
4adb66e
[CI] Verification workflows with PR conventions check (#5886)
jabesq Mar 23, 2026
e480e85
[CI] Enforce PR title convention check (#5794)
jabesq Mar 24, 2026
99fd2bb
[connectors-sdk] Compute `BaseIdentifiedObject.id` on validation and …
Powlinett Mar 24, 2026
84c51a1
[taxii-post] Add config for api root (#6048)
throuxel Mar 24, 2026
f616a62
[greynoise-feed] Update GreyNoise SDK and rework connector processing…
bradchiappetta Mar 24, 2026
3083a47
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 24, 2026
d6ddd95
[ESET enrichment] Add TLP for enriched report data (#6038)
polakovicp Mar 24, 2026
970287c
[mwdb] Fix silent C2 data loss when config entries are dicts (#6041)
MrStarkEG Mar 25, 2026
4baa3e1
Update dependency CairoSVG to v2.9.0 (#6009)
renovate[bot] Mar 25, 2026
b6b5447
Update dependency black to v26.3.1 (#6008)
renovate[bot] Mar 25, 2026
ec2b26c
[Montysecurity-c2] Verify Connector (#5803)
jabesq Mar 25, 2026
44d570f
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 25, 2026
cf00cc7
[connectors-sdk] add Incident model to the SDK (#6046)
ncarenton Mar 25, 2026
4c41d9b
[ci] Add parameters to set the base branch (#5959)
jabesq Mar 26, 2026
8bbf542
[all] Release 7.260326.0
Filigran-Automation Mar 26, 2026
5989909
Update dependency requests to v2.33.0 [SECURITY] (#6081)
renovate[bot] Mar 27, 2026
84d534f
[all] chore: Do not check PR title if author is renovate (#6077)
jabesq Mar 27, 2026
0c78f6a
[checkfirst] Update connector to be "manager_supported" (#6032)
Powlinett Mar 27, 2026
129912e
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 27, 2026
0e8d8db
[connectors-sdk] Add missing `RelationshipType` values (#6056)
Powlinett Mar 30, 2026
957357b
[connectors-sdk] Add text and sighting to models (#6063)
throuxel Mar 30, 2026
b478703
[cisa-kev]: Add KEV flag only mode option (Fixes #6113) (#6114)
romain-filigran Mar 30, 2026
82db3b5
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 30, 2026
b88b7bb
[docker] Build UBI9 image for multiple connectors (#6065)
xfournet Mar 30, 2026
1774f0c
[Google TI] Remove default "unknown" value for STIX entity type attri…
Kakudou Mar 31, 2026
d1c471d
[Google TI] Remove auto-generated default descriptions on entities an…
Kakudou Mar 31, 2026
4717b3c
[MISP] Add a batching mechanism based on the size of the entities (#5…
jabesq Mar 31, 2026
9c091bf
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 31, 2026
6575c4e
[ci] Add GitHub Actions test workflow with CodeCov integration (#6000)
jabesq Mar 31, 2026
57aafe3
[orange-cyberdefense] remove connector (#6118)
ocd-acauchy Mar 31, 2026
920f345
[crowdstrike] Add support for importing "affected products" from Crow…
Kakudou Mar 31, 2026
6f4b256
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 31, 2026
c473d2b
[orange-cyberdefense-v3] external-import connector update (#6119)
ocd-acauchy Mar 31, 2026
875f8d8
[shadowserver] Fix report types and add report names config (#6061)
throuxel Mar 31, 2026
2d0d8e3
[orange-cyberdefense-enrichment-v3] internal-enrichment connector upd…
ocd-acauchy Mar 31, 2026
f3e6b4c
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Mar 31, 2026
92e00f1
[Doppel] Improve and verify the connector (#5977)
Ninoxe Apr 1, 2026
39fbef5
[dogesec - cyber threat exchange] releasing connector (#6123)
himynamesdave Apr 1, 2026
fc89777
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Apr 1, 2026
b3bcfef
[all] Release 7.260401.0
Filigran-Automation Apr 1, 2026
6fbdeba
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Apr 1, 2026
0a9f14d
[crowdstrike-endpoint-security] Add action config var (#3653)
throuxel Apr 2, 2026
f1e0c7e
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Apr 2, 2026
22f0200
[crowdstrike-endpoint-security] Fix prometheus-client requirement (#6…
throuxel Apr 2, 2026
ae8c271
[nameshield] Create connector (#5173)
Ch-Philou Apr 2, 2026
8ff57ea
[Automation] Build and update manifest [ci build-manifest]
Filigran-Automation Apr 2, 2026
2e95de7
[PolySwarm] Add enrichment and sandbox connectors
erickingleby-polyswarm Apr 3, 2026
d453be7
[PolySwarm] Add .dockerignore for enrichment and sandbox connectors
erickingleby-polyswarm Apr 3, 2026
ad224db
style: fix isort, black, flake8 for Filigran CI compliance
erickingleby-polyswarm Apr 3, 2026
27b8ffc
fix: update requirements for Filigran CI compatibility
erickingleby-polyswarm Apr 3, 2026
14181e2
fix: remove unused TTP_DATABASE import for pylint compliance
erickingleby-polyswarm Apr 3, 2026
b86fbd7
Merge remote-tracking branch 'upstream/master' into feature/polyswarm…
erickingleby-polyswarm Apr 3, 2026
5befad1
style: fix isort, black, ruff compliance for all CI checks
erickingleby-polyswarm Apr 3, 2026
1200d8f
fix: update manifest source_code URLs and add CONNECTOR_ID to SDK tests
erickingleby-polyswarm Apr 3, 2026
467342c
style: fix black formatting for CI line-length 88 default
erickingleby-polyswarm Apr 3, 2026
db845cc
fix: eliminate flaky circuit breaker test timing issue
erickingleby-polyswarm Apr 3, 2026
a92ad0f
fix: replace all uuid4() with deterministic uuid5() IDs
erickingleby-polyswarm Apr 3, 2026
4af84f3
fix: resolve undefined variable refs and unused import from uuid5 mig…
erickingleby-polyswarm Apr 3, 2026
b294ff1
[PolySwarm] Pin pycti>=7.260515.0,<8 and bump polyswarm-api min to 3.…
erickingleby-polyswarm May 20, 2026
d50959e
[PolySwarm] Add --no-network to apk del in Dockerfiles
erickingleby-polyswarm May 20, 2026
449df38
[PolySwarm] Add observable-to-malware STIX relationship in sandbox
erickingleby-polyswarm May 20, 2026
5f2efb8
[PolySwarm] Harden test suite for portable local + CI runs
erickingleby-polyswarm May 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
82 changes: 76 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,50 @@ executors:
docker:
- image: "cimg/base:stable"

commands:
resolve_release_ref:
description: Resolve RELEASE_REF from PR base branch, fallback to closest base branch script.
steps:
- run:
name: Resolve RELEASE_REF
command: |
PR_BASE_REF=""

if [ -n "${CIRCLE_PULL_REQUEST:-}" ]; then
PR_NUMBER="${CIRCLE_PULL_REQUEST##*/}"
API_URL="https://api.github.com/repos/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/pulls/${PR_NUMBER}"

if [ -n "${GITHUB_TOKEN:-}" ]; then
PR_BASE_REF="$(curl --silent --show-error --fail \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
"${API_URL}" \
| python3 -c 'import json,sys; print((json.load(sys.stdin).get("base") or {}).get("ref",""))')" || PR_BASE_REF=""
else
PR_BASE_REF="$(curl --silent --show-error --fail \
-H "Accept: application/vnd.github+json" \
"${API_URL}" \
| python3 -c 'import json,sys; print((json.load(sys.stdin).get("base") or {}).get("ref",""))')" || PR_BASE_REF=""
fi
fi

if [ -n "${PR_BASE_REF:-}" ]; then
case "${PR_BASE_REF}" in
master|release/6.9.x|lts/*)
RESOLVED_RELEASE_REF="${PR_BASE_REF}"
echo "Using PR base branch for RELEASE_REF: ${RESOLVED_RELEASE_REF}"
;;
*)
RESOLVED_RELEASE_REF="$(bash ./shared/tools/ci/detect-base-branch.sh origin)"
echo "PR base '${PR_BASE_REF}' is outside allowed refs, using fallback RELEASE_REF: ${RESOLVED_RELEASE_REF}"
;;
esac
else
RESOLVED_RELEASE_REF="$(bash ./shared/tools/ci/detect-base-branch.sh origin)"
echo "Using detected fallback RELEASE_REF: ${RESOLVED_RELEASE_REF}"
fi
echo "export RELEASE_REF=${RESOLVED_RELEASE_REF}" >> "$BASH_ENV"
echo "RELEASE_REF=${RESOLVED_RELEASE_REF}" >> "$BASH_ENV"

jobs:
ensure_formatting:
Expand Down Expand Up @@ -74,8 +118,15 @@ jobs:
docker:
- image: cimg/python:3.12
working_directory: ~/repo
parameters:
ci_executor:
type: executor
description: Executor to use for this job.
default: ci_environment
executor: << parameters.ci_executor >>
steps:
- checkout
- resolve_release_ref
- run:
name: Build Connectors Schemas for XTM composer and Update Config Documentation
command: |
Expand All @@ -87,7 +138,7 @@ jobs:
- run:
name: Commit Manifest if changed
command: |
if [ "$CIRCLE_BRANCH" = "master" ]; then
if [ "$CIRCLE_BRANCH" = "$RELEASE_REF" ]; then
echo "$GITHUB_GPG_SECRET_KEY" | base64 -d > /tmp/private.key
gpg --import /tmp/private.key
rm /tmp/private.key
Expand All @@ -106,13 +157,24 @@ jobs:
# Add custom flag to avoid triggering workflows
git commit -m "[Automation] Build and update manifest [ci build-manifest]"
# Push quietly to prevent showing the token in log
git push -q https://${GITHUB_TOKEN}@github.com/OpenCTI-Platform/connectors.git ${CIRCLE_BRANCH}
if git push -q https://${GITHUB_TOKEN}@github.com/OpenCTI-Platform/connectors.git ${CIRCLE_BRANCH}; then
echo "Manifest changes pushed successfully."
exit 0
else
echo "Push rejected, ${CIRCLE_BRANCH} probably moved. Trying rebase..."
if ! git pull --rebase origin ${CIRCLE_BRANCH}; then
echo "Rebase failed, aborting."
git rebase --abort
exit 1
fi
git push -q https://${GITHUB_TOKEN}@github.com/OpenCTI-Platform/connectors.git ${CIRCLE_BRANCH}
fi
else
echo "Manifest not changed. Skipping commit."
exit 0
fi
else
echo "Skipping, not master"
echo "Skipping, not $RELEASE_REF branch."
fi
- run:
name: Skip steps if flag detected
Expand All @@ -126,8 +188,15 @@ jobs:
- image: cimg/python:3.11
working_directory: ~/repo
parallelism: 4
parameters:
ci_executor:
type: executor
description: Executor to use for this job.
default: ci_environment
executor: << parameters.ci_executor >>
steps:
- checkout
- resolve_release_ref
- run: |
sudo apt-get update -qq
sudo apt install -y \
Expand All @@ -145,7 +214,7 @@ jobs:
| circleci tests run \
--split-by=timings \
--command="xargs bash run_test.sh"
# Save JUnit so CircleCI can show pass/fail per connector and build timings history
# Save JUnit so CircleCI can show pass/fail per connector and build timings history
- store_test_results:
path: test_outputs

Expand All @@ -161,6 +230,7 @@ jobs:
executor: << parameters.ci_executor >>
steps:
- checkout
- resolve_release_ref
- run:
name: Install dependencies
command: pip install -r .circleci/scripts/requirements.txt
Expand Down Expand Up @@ -224,7 +294,7 @@ workflows:
- test
filters:
tags:
only: /[0-9]+(\.[0-9]+)+(\.[0-9]+)*/
only: /[0-9]+(\.[0-9]+)+(\.[0-9]+)*(-lts\.[0-9]*)?/
branches:
ignore: /.*/
- build:
Expand Down Expand Up @@ -281,4 +351,4 @@ workflows:
- build_prerelease
filters:
tags:
only: /.*/
only: /.*/
1 change: 1 addition & 0 deletions .circleci/scripts/generate_ci.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ def main():
pycti=get_pycti(),
tags=get_tags(),
repo=REPOSITORY,
release_ref=os.getenv("RELEASE_REF", ""),
)
write_config(config)

Expand Down
2 changes: 1 addition & 1 deletion .circleci/scripts/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Jinja2==3.1.6
PyYAML==6.0.3
requests==2.32.5
requests==2.33.0
12 changes: 7 additions & 5 deletions .circleci/templates/dynamic.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ jobs:
build_{{top_dir}}_{{sub_dir}}:
docker:
- image: cimg/base:current-24.04
environment:
RELEASE_REF: "{{ release_ref }}"
steps:
- checkout
- setup_remote_docker
Expand Down Expand Up @@ -39,17 +41,17 @@ jobs:

{% if pycti.replace -%}
{% if "prerelease" in tags %}
git+https://github.com/OpenCTI-Platform/opencti.git@master#subdirectory=client-python
git+https://github.com/OpenCTI-Platform/opencti.git@$RELEASE_REF#subdirectory=client-python

find . -name requirements.txt -exec sed "s|^pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti.git@$CIRCLE_BRANCH#subdirectory=client-python|" -i {} \;
find . -name pyproject.toml -exec sed "s|pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti.git@$CIRCLE_BRANCH#subdirectory=client-python\",|" -i {} \;
find . -name requirements.txt -exec sed "s|^connectors-sdk.*$|connectors-sdk @ git+https://github.com/OpenCTI-Platform/connectors.git@$CIRCLE_BRANCH#subdirectory=connectors-sdk|" -i {} \;
find . -name pyproject.toml -exec sed "s|connectors-sdk.*$|connectors-sdk @ git+https://github.com/OpenCTI-Platform/connectors.git@$CIRCLE_BRANCH#subdirectory=connectors-sdk\",|" -i {} \;
{% elif "rolling" in tags %}
find . -name requirements.txt -exec sed "s|^pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti.git@master#subdirectory=client-python|" -i {} \;
find . -name pyproject.toml -exec sed "s|pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti.git@master#subdirectory=client-python\",|" -i {} \;
find . -name requirements.txt -exec sed "s|^connectors-sdk.*$|connectors-sdk @ git+https://github.com/OpenCTI-Platform/connectors.git@master#subdirectory=connectors-sdk|" -i {} \;
find . -name pyproject.toml -exec sed "s|connectors-sdk.*$|connectors-sdk @ git+https://github.com/OpenCTI-Platform/connectors.git@master#subdirectory=connectors-sdk\",|" -i {} \;
find . -name requirements.txt -exec sed "s|^pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti.git@$RELEASE_REF#subdirectory=client-python|" -i {} \;
find . -name pyproject.toml -exec sed "s|pycti==.*$|pycti @ git+https://github.com/OpenCTI-Platform/opencti.git@$RELEASE_REF#subdirectory=client-python\",|" -i {} \;
find . -name requirements.txt -exec sed "s|^connectors-sdk.*$|connectors-sdk @ git+https://github.com/OpenCTI-Platform/connectors.git@$RELEASE_REF#subdirectory=connectors-sdk|" -i {} \;
find . -name pyproject.toml -exec sed "s|connectors-sdk.*$|connectors-sdk @ git+https://github.com/OpenCTI-Platform/connectors.git@$RELEASE_REF#subdirectory=connectors-sdk\",|" -i {} \;
{% endif %}
{% endif -%}
docker buildx build . \
Expand Down
Loading