Skip to content

Commit 07a3fbd

Browse files
Always latest param (#85)
* expose s2a's ALWAYS_LATEST #80 * add missing env * Update requirements.txt * Update views.py --------- Co-authored-by: David G <[email protected]>
1 parent 81b7624 commit 07a3fbd

File tree

5 files changed

+7
-14
lines changed

5 files changed

+7
-14
lines changed

Dockerfile.deploy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ ENV ARANGODB_HOST_URL=http://host.docker.internal:8529
2424
ENV POSTGRES_USER=vulmatch
2525
ENV POSTGRES_DB=vulmatch_database
2626
ENV POSTGRES_HOST=host.docker.internal
27+
ENV CELERY_BROKER_URL=redis://host.docker.internal:6379/0
28+
ENV result_backend=redis://host.docker.internal:6379/1
2729

2830
WORKDIR /usr/src/app
2931
COPY requirements.txt ./

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ wcwidth==0.2.13
5151
zipp==3.20.2
5252
dogesec_commons @ https://github.com/muchdogesec/dogesec_commons/releases/download/main-2024-12-23-10-31-09/dogesec_commons-0.0.3-py3-none-any.whl
5353
arango_cve_processor @ https://github.com/muchdogesec/arango_cve_processor/releases/download/main-2025-01-10-10-35-43/arango_cve_processor-0.0.1-py3-none-any.whl
54-
stix2arango @ https://github.com/muchdogesec/stix2arango/releases/download/main-2024-12-23-10-31-37/stix2arango-0.0.3-py3-none-any.whl
54+
stix2arango @ https://github.com/muchdogesec/stix2arango/releases/download/main-2025-01-17-16-50-57/stix2arango-0.0.3-py3-none-any.whl

vulmatch/server/serializers.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,28 +24,17 @@ class NVDTaskSerializer(serializers.Serializer):
2424
last_modified_earliest = serializers.DateField(help_text="(`YYYY-MM-DD`): earliest date")
2525
last_modified_latest = serializers.DateField(help_text="(`YYYY-MM-DD`): latest date \n* default is `1980-01-01`")
2626
ignore_embedded_relationships = serializers.BooleanField(default=False)
27+
always_latest = serializers.BooleanField(default=False, help_text="Skip _is_latest check when uploading, this should only be used when working with large backfill tasks")
2728

2829
def validate(self, attrs):
2930
if attrs.get('last_modified_earliest') and attrs.get('last_modified_latest') and attrs['last_modified_earliest'] > attrs['last_modified_latest']:
3031
raise serializers.ValidationError(f'last_modified_earliest cannot be greater than last_modified_latest')
3132
return super().validate(attrs)
3233

33-
class MitreTaskSerializer(serializers.Serializer):
34-
version = serializers.CharField(help_text="mitre version passed to the script")
35-
ignore_embedded_relationships = serializers.BooleanField(default=False)
36-
37-
class MitreVersionsSerializer(serializers.Serializer):
38-
latest = serializers.CharField(required=False, allow_null=True)
39-
versions = serializers.ListField(child=serializers.CharField())
40-
4134
class StixVersionsSerializer(serializers.Serializer):
4235
latest = serializers.DateTimeField(required=False, allow_null=True)
4336
versions = serializers.ListField(child=serializers.DateTimeField())
4437

45-
class MitreObjectVersions(serializers.Serializer):
46-
modified = serializers.DateTimeField(required=False, allow_null=True)
47-
notes = serializers.ListField(child=serializers.CharField())
48-
4938

5039
class ACPSerializer(serializers.Serializer):
5140
ignore_embedded_relationships = serializers.BooleanField(default=False)

vulmatch/server/views.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,9 @@ class VulnerabilityStatus(models.models.TextChoices):
4242
* `last_modified_earliest` (required - `YYYY-MM-DD`): earliest modified time for vulnerability
4343
* `last_modified_latest` (required - `YYYY-MM-DD`): latest modified time for vulnerability
4444
* `ignore_embedded_relationships` (optional - default: `false`): Most objects contains embedded relationships inside them (e.g. `created_by_ref`). Setting this to `false` (recommended) will get stix2arango to generate SROs for these embedded relationships so they can be searched. `true` will ignore them.
45+
* `always_latest`: this is a stix2arango setting that defines how updates happen. Default is `true`, setting this to `false` will get stix2arango to bypass the check for updated objects. The only time you should ever set this to `false` is on first backfill where you can be sure no duplicate objects exist.
4546
46-
The data for updates is requested from `https://downloads.ctibutler.com` (managed by the [DOGESEC](https://www.dogesec.com/) team).
47+
The data for updates is requested from `https://cve2stix.vulmatch.com` (managed by the [DOGESEC](https://www.dogesec.com/) team).
4748
"""
4849
),
4950
),

vulmatch/worker/tasks.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ def upload_file(filename, collection_name, stix2arango_note=None, job_id=None, p
132132
host_url=settings.ARANGODB_HOST_URL,
133133
username=settings.ARANGODB_USERNAME,
134134
password=settings.ARANGODB_PASSWORD,
135+
always_latest=params.get('always_latest', False),
135136
)
136137
s2a.run()
137138

0 commit comments

Comments
 (0)