Ignacio Carlucho

53 papers A* 3A 4B 1C 1Journal 38Unranked 5
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Simon Archieri, Ahmet Fatih Cinar, Shu Pan, Jonatan Scharff Willners, Michele Grimaldi, Ignacio Carlucho, Yvan R. Pétillot
2026 J jnl
CoRR
Michele Grimaldi, Yosaku Maeda, Hitoshi Kakami, Ignacio Carlucho, Yvan R. Petillot, Tomoya Inoue
2026 J jnl
CoRR
Shu Pan, Simon Archieri, Ahmet Fatih Cinar, Jonatan Scharff Willners, Ignacio Carlucho, Yvan R. Petillot
2025 A* conf
ICRA
Simon Archieri, Juliette Drupt, Ahmet Fatih Cinar, Michele Grimaldi, Ignacio Carlucho, Jonatan Scharff Willners, Yvan R. Petillot
2025 J jnl
CoRR
Markus Buchholz, Ignacio Carlucho, Yvan R. Petillot
2025 J jnl
CoRR
Michele Grimaldi, Carlo Cernicchiaro, Sebastian Realpe Rua, Alaaeddine El-Masri-El-Chaarani, Markus Buchholz, Loizos Michael, Pere Ridao Rodriguez, Ignacio Carlucho, Yvan R. Petillot
2025 conf
TAROS
Sümer Tunçay, Alain Andres, Ignacio Carlucho
2025 A conf
IROS
Markus Buchholz, Ignacio Carlucho, Michele Grimaldi, Maria Koskinopoulou, Yvan R. Petillot
2025 J jnl
CoRR
Markus Buchholz, Ignacio Carlucho, Michele Grimaldi, Maria Koskinopoulou, Yvan R. Petillot
2025 J jnl
CoRR
Markus Buchholz, Ignacio Carlucho, Michele Grimaldi, Yvan R. Petillot
2025 J jnl
Eng. Appl. Artif. Intell.
Alain Andres, Aritz D. Martinez, Sümer Tunçay, Ignacio Carlucho
2025 J jnl
CoRR
Sümer Tunçay, Alain Andres, Ignacio Carlucho
2025 J jnl
CoRR
Markus Buchholz, Ignacio Carlucho, Zebin Huang, Michele Grimaldi, Pierre Nicolay, Sümer Tunçay, Yvan R. Petillot
2025 A conf
IROS
Shuguang Chu, Zebin Huang, Yutong Li, Mingwei Lin, Dejun Li, Ignacio Carlucho, Yvan R. Petillot, Canjun Yang
2025 J jnl
CoRR
Shuguang Chu, Zebin Huang, Yutong Li, Mingwei Lin, Ignacio Carlucho, Yvan R. Petillot, Canjun Yang
2025 conf
ICORR
Hao Yu, Zebin Huang, Yutong Li, Xinliang Guo, Vincent Crocher, Ignacio Carlucho, Mustafa Suphi Erden
2025 A* conf
ICRA
Michele Grimaldi, Patryk Cieslak, Eduardo Ochoa, Vibhav Bharti, Hayat Rajani, Ignacio Carlucho, Maria Koskinopoulou, Yvan R. Petillot, Nuno Gracias
2025 J jnl
CoRR
Michele Grimaldi, Patryk Cieslak, Eduardo Ochoa, Vibhav Bharti, Hayat Rajani, Ignacio Carlucho, Maria Koskinopoulou, Yvan R. Petillot, Nuno Gracias
2025 J jnl
CoRR
Markus Buchholz, Ignacio Carlucho, Michele Grimaldi, Yvan R. Petillot
2025 conf
TAROS
Favour O. Adetunji, Vibhav Bharti, Yvan R. Petillot, Maria Koskinopoulou, Ignacio Carlucho
2024 J jnl
CoRR
Favour O. Adetunji, Niamh Ellis, Maria Koskinopoulou, Ignacio Carlucho, Yvan R. Petillot
2024 A conf
IROS
Michele Grimaldi, Narcís Palomeras, Ignacio Carlucho, Yvan R. Petillot, Pere Ridao Rodriguez
2024 A conf
AAMAS
Elliot Fosong, Arrasy Rahman, Ignacio Carlucho, Stefano V. Albrecht
2024 conf
ERF (1)
Giuseppe Vecchio, Riccardo Emanuele Sarpietro, Francesco Cancelliere, Simone Palazzo, Dario C. Guastella, Alessandro Strano, Ignacio Carlucho, Giovanni Muscato, Stefano V. Albrecht, Concetto Spampinato
2024 J jnl
CoRR
Shuguang Chu, Zebin Huang, Mingwei Lin, Dejun Li, Ignacio Carlucho
2024 B conf
IJCNN
Hao Yu, Zebin Huang, Qingbo Liu, Ignacio Carlucho, Mustafa Suphi Erden
2024 J jnl
CoRR
Hao Yu, Zebin Huang, Qingbo Liu, Ignacio Carlucho, Mustafa Suphi Erden
2024 J jnl
CoRR
Hao Yu, Zebin Huang, Yutong Li, Xinliang Guo, Vincent Crocher, Ignacio Carlucho, Mustafa Suphi Erden
2023 J jnl
J. Mach. Learn. Res.
Arrasy Rahman, Ignacio Carlucho, Niklas Höpner, Stefano V. Albrecht
2023 J jnl
CoRR
Pierre Nicolay, Yvan R. Petillot, Mykhaylo Marfeychuk, Sen Wang, Ignacio Carlucho
2023 J jnl
Trans. Mach. Learn. Res.
Arrasy Rahman, Elliot Fosong, Ignacio Carlucho, Stefano V. Albrecht
2023 J jnl
CoRR
Elliot Fosong, Arrasy Rahman, Ignacio Carlucho, Stefano V. Albrecht
2023 conf
Tiny Papers @ ICLR
Lucia Cipolina-Kun, Stephen Mak, Ignacio Carlucho, Vahid Yazdanpanah, Sebastian Stein, Enrico H. Gerding, Kalesha Bullard
2023 J jnl
IEEE Access
Ignacio Carlucho, Dylan Stephens, William Ard, Corina Barbalata
2022 J jnl
CoRR
Arrasy Rahman, Ignacio Carlucho, Niklas Höpner, Stefano V. Albrecht
2022 C conf
EUMAS
Reuth Mirsky, Ignacio Carlucho, Arrasy Rahman, Elliot Fosong, William Macke, Mohan Sridharan, Peter Stone, Stefano V. Albrecht
2022 J jnl
CoRR
Reuth Mirsky, Ignacio Carlucho, Arrasy Rahman, Elliot Fosong, William Macke, Mohan Sridharan, Peter Stone, Stefano V. Albrecht
2022 J jnl
CoRR
Ignacio Carlucho, Arrasy Rahman, William Ard, Elliot Fosong, Corina Barbalata, Stefano V. Albrecht
2022 J jnl
CoRR
Ibrahim H. Ahmed, Cillian Brewitt, Ignacio Carlucho, Filippos Christianos, Mhairi Dunion, Elliot Fosong, Samuel Garcin, Shangmin Guo, Balint Gyevnar, Trevor McInroe, Georgios Papoudakis, Arrasy Rahman, Lukas Schäfer, Massimiliano Tamborski, Giuseppe Vecchio, Cheng Wang, Stefano V. Albrecht
2022 J jnl
AI Commun.
Ibrahim H. Ahmed, Cillian Brewitt, Ignacio Carlucho, Filippos Christianos, Mhairi Dunion, Elliot Fosong, Samuel Garcin, Shangmin Guo, Balint Gyevnar, Trevor McInroe, Georgios Papoudakis, Arrasy Rahman, Lukas Schäfer, Massimiliano Tamborski, Giuseppe Vecchio, Cheng Wang, Stefano V. Albrecht
2022 J jnl
CoRR
Elliot Fosong, Arrasy Rahman, Ignacio Carlucho, Stefano V. Albrecht
2022 J jnl
CoRR
Giuseppe Vecchio, Simone Palazzo, Dario C. Guastella, Ignacio Carlucho, Stefano V. Albrecht, Giovanni Muscato, Concetto Spampinato
2022 A* conf
ICRA
Joshua Nguyen, Manuel F. Bailey, Ignacio Carlucho, Corina Barbalata
2022 J jnl
CoRR
Arrasy Rahman, Elliot Fosong, Ignacio Carlucho, Stefano V. Albrecht
2021 J jnl
CoRR
James P. Oubre, Ignacio Carlucho, Corina Barbalata
2021 J jnl
CoRR
Jonatan Scharff Willners, Ignacio Carlucho, Tomasz Luczynski, Sean Katagiri, Chandler Lemoine, Joshua Roe, Dylan Stephens, Shida Xu, Yaniel Carreno, Èric Pairet, Corina Barbalata, Yvan R. Petillot, Sen Wang
2021 J jnl
CoRR
Ignacio Carlucho, Manuel F. Bailey, Mariano De Paula, Corina Barbalata
2020 J jnl
CoRR
Ignacio Carlucho, Mariano De Paula, Gerardo G. Acosta, Corina Barbalata
2020 J jnl
Appl. Soft Comput.
Luis Omar Ávila, Mariano De Paula, Maximiliano Trimboli, Ignacio Carlucho
2019
Ignacio Carlucho
2019 J jnl
Expert Syst. Appl.
Ignacio Carlucho, Mariano De Paula, Gerardo G. Acosta
2018 J jnl
Robotics Auton. Syst.
Ignacio Carlucho, Mariano De Paula, Sen Wang, Yvan R. Petillot, Gerardo G. Acosta
2017 J jnl
Expert Syst. Appl.
Ignacio Carlucho, Mariano De Paula, Sebastián A. Villar, Gerardo G. Acosta
redb/extractors/basicproperties.py
← Index redb/extractors/basicproperties.py python
from dataclasses import asdict
import inspect
import os
import magic
from magika import Magika
from datetime import datetime, timezone
from typing import Any, List, Tuple

from redb.extractors.enum import Tag
from redb.models.dataclasses import BasicProperties
from redb.extractors.extractor import Extractor


class BasicPropertiesExtractor(Extractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        parent_sha256=None,
        precomputed_hashes=None,
        is_fat=None,
        child_sha256=None,
        child_architecture=None,
        child_filetype=None,
        first_seen=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters=exporters,
            index_prefix=index_prefix,
            elastic_index=elastic_index,
            known_benign=known_benign,
            known_malicious=known_malicious,
            precomputed_hashes=precomputed_hashes,
        )
        self.basic_properties = None
        self.elastic_index = self.index_prefix + "-basic_properties"
        self.is_packed = None
        self.parent_sha256 = parent_sha256  # For FAT Mach-O slices, points to container hash
        self.is_fat = is_fat  # True for FAT Mach-O containers, None otherwise
        self.child_sha256 = child_sha256  # SHA256 hashes of children (FAT slices, zip contents)
        self.child_architecture = child_architecture  # Architecture names for FAT Mach-O slices
        self.child_filetype = child_filetype  # Magika filetypes for children (useful for zip archives)
        self.first_seen = first_seen  # From catalog_samples, None for local files

    def tag(self):
        return Tag.BASIC_PROPERTIES.value

    def _extract_basic_properties(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        filename = None  # Reserved for future use
        sample_name = os.path.basename(self.filepath)
        file_entropy = round(self.calculate_entropy(self.binary), 3)
        type_ = magic.from_buffer(self.binary)
        type_mime = magic.from_buffer(self.binary, mime=True)
        type_magika = Magika().identify_bytes(self.binary).output.label
        size = len(self.binary)
        self.basic_properties = BasicProperties(
            filename, sample_name, size, type_, type_mime, type_magika,
            file_entropy, self.is_packed, self.is_fat, self.child_sha256,
            self.child_architecture, self.child_filetype,
            first_seen=str(self.first_seen) if self.first_seen else None,
        )
        self.log.debug(f"Basic Properties dump: {asdict(self.basic_properties)}")

    def extract(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        try:
            self._extract_basic_properties()
            # self.export_to_elastic([self.basic_properties])
            return self.basic_properties
        except Exception as e:
            self.log.error(f"Extract basic properties error {self.hash.sha256} Exception: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.basic_properties
        elif exporter_type == "ClickHouseExporter":
            data = [[
                self.sha256,
                self.md5,
                self.sha1,
                self.parent_sha256,  # NULL for standalone/FAT, fat_hash for slices
                self.basic_properties.child_sha256 or [],  # SHA256 hashes of children
                self.basic_properties.child_architecture or [],  # Architecture names for FAT slices
                self.basic_properties.child_filetype or [],  # Magika filetypes for children
                self.basic_properties.is_fat,  # True for FAT Mach-O containers, NULL otherwise
                self.basic_properties.filename,
                self.basic_properties.sample_name,
                self.basic_properties.filesize,
                self.basic_properties.file_entropy,
                self.basic_properties.filetype,
                self.basic_properties.filetype_mime,
                self.basic_properties.filetype_magika,
                self.first_seen or datetime(1970, 1, 1, tzinfo=timezone.utc),  # From catalog_samples, epoch zero for local files (uses original datetime, not string)
                datetime.now(timezone.utc)
            ]]

            column_names = [
                'sha256', 'md5', 'sha1', 'parent_sha256', 'child_sha256', 'child_architecture', 'child_filetype',
                'is_fat', 'filename', 'sample_name',
                'filesize', 'file_entropy', 'filetype', 'filetype_mime',
                'filetype_magika', 'first_seen', 'analysis_date'
            ]

            column_type_names = [
                'String', 'String', 'String', 'Nullable(String)',
                'Array(FixedString(64))', 'Array(LowCardinality(String))', 'Array(LowCardinality(String))',
                'Nullable(UInt8)', 'Nullable(String)', 'String',
                'UInt64', 'Float64', 'LowCardinality(String)',
                'LowCardinality(String)', 'LowCardinality(String)',
                'DateTime64(3, \'UTC\')',
                'DateTime64(3, \'UTC\')'
            ]

            return data, column_names, column_type_names

    def get_clickhouse_table(self) -> str:
        return "redb_basic_properties"